Digital CommuicationsQuantization andHuffman Coding학 과 : 전 자 공 학 부학 번 : 200412425이 름 : 이 종 인제 출 일 : '08. 10. 10(금)IndexChapter 1. QUANTIZATION11. Code1- Homework 2-1 File1- Function File(u_pcm)32. 결과43. 분석4Chapter 2. Huffman Coding51. Code5- Homework 2-2 File5- Function File(huffman)52. 결과7- p = [0.1, 0.3, 0.05, 0.09, 0.21, 0.25] 의 결과7- p = [0.25, 0.5, 0.0625, 0.03125, 0.03125, 0.125] 의 결과73. 분석8Chapter 1. QUANTIZATION2008-2 Digital Communications 200412425 이종인1. Code- Homework 2-1 File%% Homework 2-1: Quantizationclear all ; close all ; clc ;t = [0:0.01:10] ; % x축의 값을 0~10까지 0.01의 단위로 생성한다.a = sin(t) ; % sin(t)의 함수를 생성한다.b = compand(a,255,max(a),'mu/compressor') ;% sin(a)의 값에 뮤값을 255로 주고 mu-law compression을 한다.[usqnr4, uaquan4, ucode4] = u_pcm(a, 4) ;% 4레벨 Uniform Quantization을 한다.[usqnr16, uaquan16, ucode16] = u_pcm(a, 16) ;% 16레벨 Uniform Quantization을 한다.[nusqnr4, nuaquan4_1, nucode4] = u_pcm(b, 4) ;% b를 4레벨 Uniform Quantization을 한다.[nusqnr16, nuaquan16_1, nucode16] = u_pcm(b, 16) ;% b를 16레벨 Uniform Quantization을 한다.nuaquan4 = compand(nuaquan4_1,255,max(a),'mu/expander') ;% 위에서 구한 값을 expression을 하여 Non-Uniform Quantization 값을 생성한다.nuaquan16 = compand(nuaquan16_1,255,max(a),'mu/expander') ;% 위에서 구한 값을 expression을 하여 Non-Uniform Quantization 값을 생성한다.rate4 = nusqnr4 / usqnr4 % 4 Level의 Uniform Quantization과 Non-Uniform Quantization의 값을 비교한다.rate16 = nusqnr16 / usqnr16 % 16 Level의 Uniform Quantization과 Non-Uniform Quantization의 값을 비교한다.figure;subplot(2,1,1);plot(t,a,'-k','LineWidth',2);% 첫번째 그래프에 sin(t)의 그래프를 굵기 2의 검은색 직선 그래프를 그린다.title('bf{(a) Uniform Quantization}'); xlabel('bf{time index [nT_s]}'); ylabel('bf{amplitude [V]}'); hold on% 제목과 라벨을 생성한다.plot(t,uaquan4,'-.r','LineWidth',2); hold on% 4Level Uniform Quantization의 그래프를 굵기 2의 빨간색 Dash-dot line 그래프를 그린다.plot(t,uaquan16,'-b','LineWidth',2); hold off% 16Level Uniform Quantization의 그래프를 굵기 2의 파란색 직선 그래프를 그린다.legend('S','QS-4','QS-16'); % 범례를 생성한다.subplot(2,1,2);plot(t,a,'-k','LineWidth',2);% 두번째 그래프에 sin(t)의 그래프를 굵기 2의 검은색 직선 그래프를 그린다.title('bf{(b) Non-Uniform Quantization}'); xlabel('bf{time index [nT_s]}'); ylabel('bf{amplitude [V]}'); hold on% 제목과 라벨을 생성한다.plot(t,nuaquan4,'-.r','LineWidth',2); hold on% 4Level Non-Uniform Quantization의 그래프를 굵기 2의 빨간색 Dash-dot line 그래프를 그린다.plot(t,nuaquan16,'-b','LineWidth',2); hold off% 16Level Non-Uniform Quantization의 그래프를 굵기 2의 파란색 직선 그래프를 그린다.legend('S','QS-N4','QS-N16'); % 범례를 생성한다.- Function File(u_pcm)function [sqnr, a_quan, code] = u_pcm(a, n)%% uniform PCM encoding of a sequenceamax = max(abs(a)) ; % 입력받은 a값의 최대값을 구한다.a_quan = a / amax ; % 입력받은 a값을 a의 최대값으로 나눈다. 즉, 확률로 변환한다.b_quan = a_quan ; % 위에서 구한 값을 b_quan에 저장한다.d = 2/n ; % 2를 quantization할 레벨로 나눈다. 이것은 '0'을 기준으로 음수와 양수부분을 따로 quantization 하기 위해서이다.q = d.*[0:n-1] ; % quantization할 레벨을 정의한다.q = q - ((n-1)/2)*d ; % 위에서 정의한 레벨의 기준이 '0'이 되도록 해준다.for ii = 1 : na_quan(find((q(ii)-d/2
서울의 역사와 문화서울역사박물관을다녀와서과 목 명 : 서울의 역사와 문화담당교수 : 이 도 남 교수님학 과 : 전 자 공 학 부학 번 : 200412425이 름 : 이 종 인제 출 일 : '09. 5. 1(금)시간이 흐를수록 짙어지는 향기를 간직한 수도 서울서울에 살면서 서울이 어떤 역사를 갖고 있는지, 어떤 곳인 제대로 아는 사람이 몇 명이나 될까? 나 역시 2004년부터 서울에 살고 있지만 서울에 대해서 누군가 물어본다면 뭐라고 대답해야할지 난감하다. 나는 운이 좋게도 이 수업을 통해 서울역사박물관을 다녀오면서 이러한 궁금증을 풀 수가 있었다.4월 11일, 창경궁 답사를 마친 나는 같은 조원이자 같은과 선배인 용성이형과 함께 서울역사박물관을 향해 발걸음을 옮겼다.박물관에 도착할 때 우리는 매우 더운 날씨에 녹초가 되어있었다. 때마침 이런 몸에 활력을 불어넣어주는 시원한 분수줄기가 박물관 앞에서 하늘을 향해 치솟고 있었다. 우리는 분수 옆에서 상쾌함을 만끽하며 분수 아래를 살펴보았는데 그곳에는 ‘수선전도’라고 씌어진 옛지도가 그려져 있었다. 분명 서울역사박물관이니 서울의 지도일 것 같은데 어떤 유래가 있는지 궁금해서 매표소에서 물어보았다. 그러자 김정호 선생님이 직접 만드신 서울시가지도이며 ‘수선’은 서울을 의미하는 것이라고 했다. 분수하나에도 이렇게 세심한 정성이 들어간 것을 보고 우리는 기대에 부풀었다.때마침 ‘운현궁을 거닐다’라는 특별 기획전을 하고 있어서 그곳을 향해 먼저 발걸음을 옮겼다. 그곳에는 운현궁의 역사와 우리의 멋을 알 수 있게 해주는 예술작품들을 비롯해서 운현궁 사람들의 일상을 엿볼 수 있게 해주는 생활유물 등 많은 유물들이 전시되어 있었다.TV에서 나오는 사극에서나 볼 수 있었던 유물들을 보고 있자니 묘한 기분이 들었다. 사실상 그 유물들은 150여년 정도밖에 지나지 않았는데 이러한 유물들을 사극에서나 볼 수 있다는게 정말 안타까웠다. 우리의 역사에 대해 너무 무관심했던게 아닌지 조금 반성이 되기도 했다.
Project 1BPSK/QPSK Simulator학 과 : 전 자 공 학 부학 번 : 200412425이 름 : 이 종 인제 출 일 : '08. 11. 18(화)IndexChapter 1. BPSK11. Block Diagram12. 결과2- Scatter Plot2- BER curve33. 분석3Chapter 2. QPSK41. Block Diagram42. 결과5- Scatter Plot5- BER curve63. 분석6Chapter 1. BPSK2008-2 Digital Communications 200412425 이종인1. Block DiagramBernoulli Binary Generator Block을 통해 Random Binary Number를 생성한 뒤에 BPSK Modulator Baseband Block으로 binary phase shift keying method를 이용한 Modulation을 한다. 이렇게 Modulation된 신호를 AWGN Channel Block으로 노이즈를 발생시킨다. 이렇게 노이즈가 포함된 신호를 BPSK Demodulator Baseband Block을 통해 Demodulation을 한다. 이 신호를 Error Rate Calculation Block을 통해서 Tx 신호와 Rx 신호를 비교한 뒤에 Error Rate를 계산해주며 이렇게 Error Rate를 찾은 값을 BERtool에서 불러오기 위해서 Signal To Workspace Block을 사용하게 된다.그리고 Modulation된 신호를 Math Function Block을 통해서 신호의 절대값의 제곱을 한 뒤에 그 값의 이동평균을 구하고, 그 값의 평균을 구해준다.여기서 AWGN을 통과하기 전 신호와 통과한 뒤의 신호에 Discrete-Time Scatter Plot Scope Block을 연결시켜서 scatter plot을 확인한다.이렇게 위의 Block Diagram을 만든 뒤에 Configuration Parameters 설정으로 들어가서 Solver를 discrete로 설정하고 Stop Time을 통해 시뮬레이션을 멈출 시간을 제대로 설정해주어야 원하는 결과를 얻을 수 있다. 만약 Stop Time을 너무 작게 설정할 경우에는 BER curve에서 일정 이상의 Eb/No 값을 볼 수 없다. 또한 너무 높게 설정하거나 inf로 설정할 경우 시뮬레이션 시간이 너무 길어지는 것을 확인할 수 있었다.2. 결과- Scatter Plot(원래의 신호)- Scatter Plot(AWGN 채널을 통과한 신호)Eb/No:0dB Eb/No:9dB- BER curve3. 분석위의 그래프는 Stop Time을 inf로 설정하여 출력한 결과이다.폭포수가 떨어지는 듯한 형태의 theoretical-exact0의 선은 이론값을 나타내고 있다. 또한 시뮬레이션을 통해 얻어진 결과는 *표로 표시된 simulation1의 점들이다.Eb/No가 0에 가까울 때 AWGN을 통과한 Scatter Plot을 살펴보면 점들이 사방으로 흩어진 것을 확인할 수 있었다. 즉, BER이 높은 값을 가져 에러 발생 비율이 높은 것을 확인할 수 있었다. 하지만 Eb/No가 높은 값을 갖을수록 Scatter Plot을 살펴보면 BER이 줄어들어서 AWGN을 통과하기 전의 결과와 점차 가까워지는 것을 확인할 수 있다.이렇게 이론과 시뮬레이션을 통해서 얻어진 두 결과의 그래프를 비교해보면 두 결과가 거의 일치하는 것을 확인할 수 있다. 물론 어느 정도의 Eb/No의 손실은 있었다. 이때, 전력의 정도가 제한된다면, 이는 ISI 에 의한 것으로 간주되며, 이때는 infinite한 에너지 공급이 요구된다. 또한 이 그래프가 나타내는 것은 Eb/No, 즉 정보 비트 에너지(Eb)보다 잡음 스펙트럼 밀도(No)가 큰 값을 갖는 경우에는 에러 발생 확률이 증가하게 되고, 잡음 스펙트럼 밀도가 작은 값을 갖는 경우에는 에러 발생 확률이 줄어든다는 것이다. 이 그래프를 통해 BPSK의 성능을 평가할 수 있다.Chapter 2. QPSK1. Block Diagram대부분의 블록들의 기능은 Chap. 1에서 설명한 것과 동일하지만 여기서 다른 것은 Modulation과 Demodulation Block이다. QPSK Modulation Block을 통해 quaternary phase shift keying method를 이용한 Modulation을 하고, QPSK Demodulator Baseband Block을 통해 Demodulation을 한다.그리고 여기서 주의해야할 사항은 AWGN에서 Number of bit per symbol과 Symbol period를 2로 설정해주어야 한다. 그 이유는 QPSK에서는 신호를 전송할 때 Symbol당 2bit의 신호로 전송하기 때문에 이러한 설정을 해줘야한다.2. 결과- Scatter Plot(원래의 신호)- Scatter Plot(AWGN 채널을 통과한 신호)Eb/No:0dB Eb/No:7dB- BER curveQPSK BPSK와 QPSK의 시뮬 결과3. 분석시뮬레이션의 시간이 너무 오래걸리는 관계로 Stop Time을 5000으로 설정하여 출력하였다.위의 BERtool을 이용한 결과 그래프를 살펴보면 시뮬레이션 결과와 이론값이 일치하는 것을 확인할 수 있었으며, 이 결과는 BER curve의 우측 그래프와 같이 BPSK의 시뮬레이션 결과와 거의 일치하는 것을 확인할 수 있었다. 이 결과는 같은 시간동안 BPSK의 두배 크기의 데이터를 전송하는 QPSK와 BPSK의 에러 발생 확률(BER)이 동일하므로 동일한 성능을 갖는 것을 확인할 수 있다. 이것은 BPSK와 QPSK의 성능은 동일하지만 데이터 전송률이 높은 QPSK가 더욱 우수하다는 뜻이다.