通信專業綜合課程設計_第1頁
通信專業綜合課程設計_第2頁
通信專業綜合課程設計_第3頁
通信專業綜合課程設計_第4頁
通信專業綜合課程設計_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 專業綜合課程設計 指導書班 級 通信D101 指導教師 董自健 淮海工學院電子工程學院通信工程系2013年 10 月 18 日一、課程設計的目的和任務 本次課程設計是根據“通信工程專業培養計劃”要求而制定的。綜合課程設計是通信工程專業的學生在學完所有專業課后進行的綜合性課程設計。其目的在于使學生在課程設計過程中能夠理論聯系實際,在實踐中充分利用所學理論知識分析和研究設計過程中出現的各類技術問題,鞏固和擴大所學知識面,為以后走向工作崗位進行設計打下一定的基礎。課程設計的任務是:(1)掌握一般通信系統設計的過程、步驟、要求、工作內容及設計方法;掌握用計算機仿真通信系統的方法。(2)訓練學生綜合運

2、用專業知識的能力,提高學生進行通信工程設計的能力。二、教學要求由于是專業綜合性課程設計,因此設計的內容應該圍繞主干專業課程,如:通信原理、程控交換技術、傳輸設備,通信網點等。課程設計要求的主要步驟有:1、明確所選課題的設計目的和任務,對設計課題進行具體分析,充分了解系統的性能、指標、內容等。2、進行方案選擇。根據掌握的知識和資料,針對系統提出的任務、要求和條件,完成系統的功能設計。從多個方案中選擇出設計合理、可靠、滿足要求的一個方案。并且對方案要不斷進行可行性和優缺點的分析,最后設計出一個完整框圖。3、原理設計;4、調試階段;5、說明書編制。本次課程設計在校內完成,主要方式是以理論設計為主,進

3、行實驗或計算機仿真,得出結論。三、設計內容本次綜合課程設計內容為數字通信系統的性能分析與仿真。應該包括以下設計內容:1、使用一種分組碼或者卷積碼進行信道糾錯編碼。2、使用格雷碼對數據進行映射。3、使用MQAM舉行調制,M可選擇8、16、32、64、128、256。4、選擇合適的升余弦參數,使用升余弦對基帶信號舉行濾波。5、在解調端,進行濾波、MQAM的解調、格雷碼逆映射、糾錯解碼。6、改變信噪比,分析系統性能。四、 設計內容介紹:MQAM是一種基本的相位幅度聯合調制方式。研究這種基本的數字調制信號的性能可以幫助學生理解數字通信的基本特點。本次課程設計,學生可以自己選擇符合要求的技術,如信道糾錯

4、編碼可以是分組碼或者卷積碼,M必須選擇數字8、16、32、64、128、256中的至少3個,以分析各種M下的QAM系統性能。應用Matlab進行仿真,仿真采用蒙特卡羅模型。仿真基本框圖是:信號源信道調制解調性能分析信道編碼譯碼其中:信號源:基本的二進制數據流。信道編碼:可以選擇分組碼、卷積碼等。調制:MQAM,M必須選擇數字8、16、32、64、128、256中的至少3個。在調制前使用格雷碼進行映射。信道:信號經過調制以后,通過信道。信道可以選擇高斯加性白噪聲信道、二進制對稱信道、多徑瑞利(Rayleigh)衰落信道、萊斯(Rician)衰落信道等。設置不同的信道信噪比,對系統進行仿真,分析不

5、同信噪比情況下的系統性能。解調:根據調制方式,選擇對應的解調方式。譯碼:根據信道編碼方式,選擇對應的信道解碼方式。性能分析:信號經過調制、信道、解調過程。在接收端,將得到的數據與原始信號源數據比較,得到在特定信噪比下的誤碼率。改變系統信噪比,從而得到系統的誤碼率曲線圖。五、設計過程:1.仿真模型(1)根據選擇的調制信號形式,確定仿真框圖。(2)設置模型中各模塊的具體參數。2.軟件設計編寫M文件。在程序中,依次改變信噪比,得到在特定信噪比下的誤碼率。信噪比范圍是可以是-10dB20dB之間,步長為2dB。根據得到的誤碼率數據,繪出誤碼率信噪比曲線圖。3.仿真調試在完成設計草案后可進行仿真,并對所

6、設計的系統進行修改。并同理論數據進行比較。要求完成:1、選擇一種具體的數字調制方式。2、結合具體數字調制方式,分別選擇三種MQAM進行系統仿真。3、繪出沒有信道編碼情況下的數字調制系統誤碼率信噪比曲線圖。4、繪出有信道編碼情況下的數字調制系統誤碼率信噪比曲線圖。5、對有和無信道編碼情況下的系統誤碼率信噪比曲線圖進行比較,并分析。六、設計提交的成果材料提交設計說明書一份,內含任務中涉及的各種仿真框圖、參數數據、有關程序,仿真曲線圖。并就設計過程做出總結。七、教學時間安排根據課程大綱要求60學時計劃,本設計安排如下:時間安排: 1719周(2011年1月6日2014年1月24日) 教學內容學時地點

7、備注集中學習、布置任務05天教室授課1教室資料查閱、分析討論,確定方案3.5天圖書館、實驗室、教室設計系統仿真模型4天圖書館、實驗室、教室編程及調試3天實驗室寫設計報告2天圖書館、教室設計驗收、總結1天教室選題要求:應該包含上述設計要求的全部步驟。作息時間:上午8:3011:30 下午2:004:30設計地點: 圖書館、電子系實驗室、教室答疑地點: M-409八、成績考核通信專業綜合課程設計綜合以下幾個方面進行考核:1)、平時表現;2)、答辯及課題完成情況;3)、說明書(設計報告)完成情況;參考分數比例:(1)平時表現:35分(2)答辯及課題完成情況:30分(3)設計報告:30分附:通信專業綜

8、合課程設計指導講稿Modulating a Random Signal問題:二進制數據流通過一個包含基帶調制、信道、解調的系統,計算誤碼率(BER)。下面是仿真過程中所遇到的問題和相應的函數。系統使用16-QAM (正教幅度) 和高斯(AWGN)信道l 產生隨機二進制數據流 randintl 使用16-QAM調制 qammodl 加性高斯白噪聲 awgnl 產生數據分布圖 scatterplotl 使用16-QAM 解調 qamdemodl 計算誤碼率 biterr1. 產生隨機二進制數據流. 在MATLAB中,一般用向量(vector )或者矩陣(matrix)來表示數據. 下面使用rand

9、int 函數產生一個列向量來表示數據流。數據流長度選擇為30,000。注意:在MATLAB 中并沒有嚴格的時間概念。下面的代碼還產生數據流中部分數據的柱狀圖。由于產生數據的隨機性,一般你們每個人運行結果有可能不一樣。注意使用 (:) 操作符來選擇向量中的部分數據。% Define parameters.M = 16; % Size of signal constellationk = log2(M); % Number of bits per symboln = 3e4; % Number of bits to processnsamp = 1; % Oversampling ratex =

10、randint(n,1); % Random binary data stream% Plot first 40 bits in a stem plot.stem(x(1:40),'filled');title('Random Bits');xlabel('Bit Index'); ylabel('Binary Value');2. 準備調制. 準備使用qammod函數來進行 16-QAM 調制. 但是qammod接收的是015之間的整數,而不是4bits。因此在進行調制前必須對二進制數據進行處理。使用MATLAB 中reshap

11、e函數,然后使用bi2de函數來轉換4bits到一個整數。 % Bit-to-Symbol Mapping% Convert the bits in x into k-bit symbols.xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');% Stem Plot of Symbols % Plot first 10 symbols in a stem plot.figure; % Create new figure window.stem(xsym(1:10);title('Random Symbols&#

12、39;);xlabel('Symbol Index'); ylabel('Integer Value');3. 進行16-QAM調制. % Modulation % Modulate using 16-QAM.y = qammod(xsym,M);結果是有個復向量,是16點QAM星座圖中的一個。下面的出現會繪出星座圖。To learn more about modulation functions, see Modulation. Also, note that the qammod function does not apply any pulse shapi

13、ng. To extend this example to use pulse shaping, see Pulse Shaping Using a Raised Cosine Filter. For an example that uses rectangular pulse shaping with PSK modulation, see basicsimdemo.4. 加入高斯白噪聲。使用awgn 函數。比特能量和噪聲的功率譜比值Eb/N0定為10 dB.% Transmitted Signalytx = y;% Send signal over an AWGN channel.EbNo

14、 = 10; % In dBsnr = EbNo + 10*log10(k) - 10*log10(nsamp);ynoisy = awgn(ytx,snr,'measured');% Received Signalyrx = ynoisy;5. 產生分布圖. 使用scatterplot 函數來顯示接收信號,并顯示噪聲對信號分布的影響。圖中,行坐標為信號的同相位分量(n-phase component),縱坐標為正交分量% Scatter Plot% Create scatter plot of noisy signal and transmitted% signal on t

15、he same axes.h = scatterplot(yrx(1:nsamp*5e3),nsamp,0,'g.');hold on;scatterplot(ytx(1:5e3),1,0,'k*',h);title('Received Signal');legend('Received Signal','Signal Constellation');axis(-5 5 -5 5); % Set axis ranges.hold off;6. 16-QAM解調。% Demodulation% Demodulate

16、signal using 16-QAM.zsym = qamdemod(yrx,M);7. 把整數信號轉換為二進制 ,使用 de2bi 函數以及reshape 函數% Symbol-to-Bit Mapping% Undo the bit-to-symbol mapping performed earlier.z = de2bi(zsym,'left-msb'); % Convert integers to bits.% Convert z from a matrix to a vector.z = reshape(z.',prod(size(z),1);8. 計算系統

17、BER。% BER Computation% Compare x and z to obtain the number of errors and% the bit error rate.number_of_errors,bit_error_rate = biterr(x,z)這些數值可以在MATLAB的命令窗口中顯示出來。number_of_errors = 71bit_error_rate = 0.0024Plotting Signal Constellations上面的例子雖然表示了信號的坐標,但是并沒有直接表示QAM的系統星座圖應該是什么形式。下面的程序完成這項任務。M = 16; %

18、 Number of points in constellationintg = 0:M-1.' % Vector of integers between 0 and M-1pt = qammod(intg,M); % Vector of all points in constellationscatterplot(pt);3. 對上圖中的點進行命名來反映映射。也就是反映intg 和 pt之間的關系, 命名的顯示坐標緊靠星座圖點,但稍有點偏移以免重疊。 (dec2bin函數產生數字信號的二進制字符串,而de2bi 函數產生一個數字信號的二進制向量) % Include text ann

19、otations that number the points.text(real(pt)+0.1,imag(pt),dec2bin(intg);axis(-4 4 -4 4); % Change axis so all labels fit in plot.檢查這個圖,可以發現: 0001和 0010是相鄰的星座圖點,它們之間的漢明距離為2。可以使用格雷碼進行處理,使得相鄰星座圖點的漢明距離為1。Gray-Coded 16-QAM Signal Constellation格雷碼(又叫循環二進制碼或反射二進制碼)介紹        

20、在數字系統中只能識別0和1,各種數據要轉換為二進制代碼才能進行處理,格雷碼是一種無權碼,采用絕對編碼方式,典型格雷碼是一種具有反射特性和循環特性的單步自補碼,它的循環、單步特性消除了隨機取數時出現重大誤差的可能,它的反射、自補特性使得求反非常方便。格雷碼屬于可靠性編碼,是一種錯誤最小化的編碼方式,因為,自然二進制碼可以直接由數/模轉換器轉換成模擬信號,但某些情況,例如從十進制的3轉換成4時二進制碼的每一位都要變,使數字電路產生很大的尖峰電流脈沖。而格雷碼則沒有這一缺點,它是一種數字排序系統,其中的所有相鄰整數在它們的數字表示中只有一個數字不同。它在任意兩個相鄰的數之間轉換時,只有一個數位發生變

21、化。它大大地減少了由一個狀態到下一個狀態時邏輯的混淆。另外由于最大數與最小數之間也僅一個數不同,故通常又叫格雷反射碼或循環碼。下表為幾種自然二進制碼與格雷碼的對照表:        十進制數 自然二進制數 格雷碼 十進制數 自然二進制數 格雷碼     0 0000 0000 8 1000 1100     1 0001 0001 9 1001 1101     2 0010 0011 10 1010 1111    

22、; 3 0011 0010 11 1011 1110     4 0100 0110 12 1100 1010     5 0101 0111 13 1101 1011     6 0110 0101 14 1110 1001     7 0111 0100 15 1111 1000static unsigned int DecimaltoGray(unsigned int x) return x(x>>1); /以上代碼實現了unsigned int型數據到格雷

23、碼的轉換,最高可轉換32位自然二進制碼,超出32位將溢出。 static int DecimaltoGray( int x) return x(x>>1); 以上代碼是用C實現了 int型數據到格雷碼的轉換,最高可轉換31位自然二進制碼,超出31位將溢出。% Modified Plot, With Gray CodingM = 16; % Number of points in constellationintg = 0:M-1.'mapping = 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10.'intgray = mapping(i

24、ntg+1);pt = qammod(intgray,M); % Vector of all points in constellationscatterplot(pt); % Plot the constellation.% Include text annotations that number the points.text(real(pt)+0.1,imag(pt),dec2bin(intg);axis(-4 4 -4 4); % Change axis so all labels fit in plot.Incorporating Gray Coding1. 修改比特到符號的映射,對

25、上面的例子的相關代碼使用下面的代碼代替:% Bit-to-Symbol Mapping% Convert the bits in x into k-bit symbols, using% Gray coding.% A. Define a vector for mapping bits to symbols using% Gray coding. The vector is specific to the arrangement% of points in a 16-QAM constellation.mapping = 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 1

26、0.'% B. Do ordinary binary-to-decimal mapping.xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');% C. Map from binary coding to Gray coding.xsym = mapping(xsym+1);2. 修改符號到比特的映射 使用下列代碼代替上面例子中相應的代碼。% Symbol-to-Bit Mapping% Undo the bit-to-symbol mapping performed earlier.% A. Define a

27、 vector that inverts the mapping operation.dummy demapping = sort(mapping);%sort對mapping排序,排序結果存在dummy中,并把dummy中的數值在mapping中的索引給出,存在demapping中!% Initially, demapping has values between 1 and M.% Subtract 1 to obtain values between 0 and M-1.demapping = demapping - 1;% B. Map between Gray and binary

28、coding.zsym = demapping(zsym+1);% C. Do ordinary decimal-to-binary mapping.z = de2bi(zsym,'left-msb');% Convert z from a matrix to a vector.z = reshape(z.',prod(size(z),1);Pulse Shaping Using a Raised Cosine Filter問題:修改格雷碼調制例子,使用平方根升余弦濾波器對基帶信號濾波。1. 定義濾波器參數 在初始化階段,使用下列代碼替換過采樣率nsamp:nsamp

29、= 4; % Oversampling rate同時定義濾波器的階數,濾波器的傳輸延遲,滾降系數等% Filter Definition% Define filter-related parameters.filtorder = 40; % Filter orderdelay = filtorder/(nsamp*2); % Group delay (# of input samples)rolloff = 0.25; % Rolloff factor of filter2. 產生一個平方根升余弦濾波器。% Create a square root raised cosine filter.r

30、rcfilter = rcosine(1,nsamp,'fir/sqrt',rolloff,delay);% Plot impulse response.figure; impz(rrcfilter,1);3. 對調制信號進行濾波。使用下列代碼取代上例中相應的代碼:% Transmitted Signal% Upsample and apply square root raised cosine filter.ytx = rcosflt(y,1,nsamp,'filter',rrcfilter);% Create eye diagram for part of

31、filtered signal.eyediagram(ytx(1:2000),nsamp*2);rcosflt 函數對調制信號進行過采樣,過采樣比例為nsamp下圖是對濾波以后無噪信號的眼圖,這張圖可以表示脈沖成型濾波對信號的影響。這張圖中可以明顯看出存在碼間干擾 (ISI) ,因為濾波器是嚴格平方根升余弦,而不是一個升余弦濾波器4. 接收信號的濾波% Received Signal% Filter received signal using square root raised cosine filter.yrx = rcosflt(ynoisy,1,nsamp,'Fs/filter

32、',rrcfilter);yrx = downsample(yrx,nsamp); % Downsample.yrx = yrx(2*delay+1:end-2*delay); % Account for delay.使用相同的平方根升余弦函數對接收信號進行濾波,然后對信號繼續欠采樣。最后嚴格命令去掉開始的2*delay 個符號和最后的2*delay 個符號5. 重新畫分布圖。把濾波前后的接收信號進行比較。使用下列代碼進行代替原來的代碼 % Scatter Plot% Create scatter plot of received signal before and% after fi

33、ltering.h = scatterplot(sqrt(nsamp)*ynoisy(1:nsamp*5e3),nsamp,0,'g.');hold on;scatterplot(yrx(1:5e3),1,0,'kx',h);title('Received Signal, Before and After Filtering');legend('Before Filtering','After Filtering');axis(-5 5 -5 5); % Set axis ranges.注意第一個畫圖命令使用了sqrt(nsamp) ,這是因為濾波命令改變了信號的功率。Using a Convolutional Code下面的例子在信號發送前進行卷積編碼使用convenc和vitdec函數來分別進行卷積和解卷積。同時使用poly2trellis函數來定義一個跡 (trellis)來表示卷積編碼器下面的例子是對升余弦濾波器例子的修改1. 增加符號的個數 由于卷積編碼在這個水平的EbNo值時顯著減少了BER,因此為了活動足夠多的誤碼來計算誤碼率,需重新定義bits的個數:n = 5e5; % Number of bit

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論