版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計任務(wù)書</b></p><p> 學(xué)生姓名: 專業(yè)班級: </p><p> 指導(dǎo)教師: </p><p> 工作單位: </p><p> 題目: 循環(huán)碼
2、的性能分析 </p><p> 初始條件: MATLAB,速率為100Bd的矩形輸入信號,AWGN信道</p><p> 要求完成的主要任務(wù): </p><p> 1、畫出編碼器輸入、輸出信號,信道的輸出信號,譯碼器的輸出信號的波形、頻譜。</p><p> 2、畫出
3、誤碼率與譯碼器輸入信噪比的關(guān)系曲線;</p><p><b> 時間安排:</b></p><p><b> 第十三周:查閱資料</b></p><p> 第十四周:仿真及撰寫報告。</p><p> 3、 第十五周:答辯</p><p> 指導(dǎo)教師簽名:
4、 2011 年 12 月 15 日</p><p> 系主任(或責(zé)任教師)簽名: 2011 年 12 月 15 日</p><p><b> 目錄</b></p><p><b> 摘要3</b></p><p&
5、gt; Abstract4</p><p> 1 Matlab簡介5</p><p> 2 設(shè)計項目分析6</p><p> 2.1 數(shù)字通信系統(tǒng)模型6</p><p> 2.2 數(shù)字基帶系統(tǒng)6</p><p> 2.3 AWGN信道7</p><p><b>
6、 2.4 循環(huán)碼8</b></p><p> 2.5 誤碼率和信噪比13</p><p> 3.matlab建模設(shè)計14</p><p> 3.1 信源模塊14</p><p> 3.2 循環(huán)碼編碼15</p><p> 3.3 awgn信道加噪16</p><p
7、> 3.4循環(huán)碼譯碼17</p><p> 3.5誤碼率與信噪比18</p><p><b> 3.6功率譜20</b></p><p><b> 4.總結(jié)23</b></p><p><b> 參考文獻24</b></p><p&
8、gt; 附錄 程序清單25</p><p><b> 摘要</b></p><p> 循環(huán)碼是線性分組碼中一種重要的編碼。它是在嚴密的代數(shù)理論基礎(chǔ)上建立起來的。其編碼和解碼相對簡單,但檢(糾)錯的能力較強。循環(huán)碼除了具有線性碼的一般性質(zhì)外,還具有循環(huán)性。目前發(fā)現(xiàn)的大部分線性碼與循環(huán)碼有密切關(guān)系,本設(shè)計利用MATLAB對信號源序列生成,循環(huán)碼編解碼過程,AWGN
9、信道加噪過程建模,分析各個模塊波形與功率譜,并畫出誤碼率與信噪比關(guān)系曲線。對仿真數(shù)據(jù),波形進行綜合分析,達到設(shè)計目的。</p><p> 關(guān)鍵詞:MATLAB,循環(huán)碼,AWGN,方波</p><p><b> Abstract</b></p><p> Cycle code is one of the important code bet
10、ween linear block code,which is built on the base of strict algebraic theory.Its coding and decoding is relatively simple,but takes advantage of error detection and correc-</p><p> tion.Besides of universit
11、y of linear block code,cycle code is provided with cyclicity.Most of known linear code is closely related to this code.This design model sequence generating as information source,coding and decoding of cycle code,process
12、 of adding noise to information channel all by utilizing MATLAB.Waveform and power spectrum of each module are</p><p> analyzed,relation curve of between SNR and error rate is printed. Comprehensive analysi
13、s of the simulation waveforms and data leads to accomplishment of purpose for design.</p><p> Key words:MATLAB,cycle code,AWGN channel,square wave</p><p> 1 Matlab簡介</p><p> MATL
14、AB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室),是由美國mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當今國際科學(xué)計算軟件的先進水平。主要包括MATLAB和SIMULINK兩大部分。</p><p> MATLABT通信系統(tǒng)功能函數(shù)庫由七十多個函
15、數(shù)組成,每個函數(shù)有多種選擇參數(shù),函數(shù)功能覆蓋了現(xiàn)代通信系統(tǒng)的各個方面。這些函數(shù)包括:信號源產(chǎn)生函數(shù)、信源編碼/解碼函數(shù)、接錯控制編碼/解碼函數(shù)、調(diào)制/解調(diào)函數(shù)(基帶和通帶)、濾波器函數(shù)、傳輸信道模型函數(shù)(基帶和通帶)、TDMA、FDMA、CDMA函數(shù)、同步函數(shù)、工具函數(shù)等。在糾錯控制編解碼函數(shù)中,函數(shù)庫提供了線性分組碼、漢明碼、循環(huán)碼、BCH碼、里德一索洛蒙碼(REED---SOLOMON)、卷積碼等6種糾錯控制編碼,每種編碼又有編碼、
16、解碼、矢量輸入輸出、序列輸入輸出等四種形式的函數(shù)表達。</p><p><b> 2 設(shè)計項目分析</b></p><p> 2.1 數(shù)字通信系統(tǒng)模型</p><p> 數(shù)字通信系統(tǒng)(Digital Communication System,DCS)是利用數(shù)字信號來傳遞信息的通信系統(tǒng),如圖2.1所示,數(shù)字通信涉及的技術(shù)問題很多,其中主要有
17、信源編碼與譯碼、數(shù)字調(diào)制與解調(diào)、同步以及加密與解密等。</p><p> 圖2.1 數(shù)字通信系統(tǒng)模型</p><p> 2.2 數(shù)字基帶系統(tǒng)</p><p> 在原理上數(shù)字信息可以直接用數(shù)字代碼序列表示和傳輸,但在實際傳輸中,視系統(tǒng)的要求和信道情況,一般需要選用不同形式的編碼。未經(jīng)調(diào)制的數(shù)字信號所占據(jù)的頻譜是從零頻或很低的頻率開始,稱為數(shù)字基帶信號。為了匹配信
18、道的特性以獲得令人滿意的傳輸效果,需要選擇不同的傳輸波形來表示“0”和“1”。</p><p> 在矩形脈沖中,基本的基帶信號波形包括單極性波形,雙極性波形,單極性歸零波形,雙極性歸零波形,差分波形,多電平波形等。雙極性波形有利于在信道中傳輸,并且在接收端恢復(fù)信號中判決電平為0,因而不受信道特性變化的影響,抗干擾能力也較強,但這不利于對循環(huán)碼特性的研究,在后面的調(diào)試中發(fā)現(xiàn)循環(huán)碼的抗干擾能力已經(jīng)很強,為了便于觀察
19、,選擇更為簡單的單極性非歸零波形,用以突出循環(huán)碼的作用。</p><p> 圖2.2.1 單極性非歸零碼波形</p><p> 另一方面,由于數(shù)字基帶信號是一個隨機脈沖序列,沒有確定的頻譜函數(shù),所以只能用功率譜來描述它的頻譜特性。功率譜是隨機過程的統(tǒng)計平均概念,平穩(wěn)隨機過程的功率譜是一個確定函數(shù);而頻譜是隨機過程樣本的Fourier變換,對于一個隨機過程而言,頻譜也是一個“隨機過程”。
20、功率譜可以從兩方面來定義,一個是自相關(guān)函數(shù)的傅立葉變換,另一個是時域信號傅氏變換模平方然后除以時間長度。第一種定義就是常說的維納辛欽定理,而第二種其實從能量譜密度來的。根據(jù)parseval定理,信號傅氏變換模平方被定義為能量譜,能量譜密度在時間上平均就得到了功率譜。</p><p> 圖2.2.2 單極性非歸零碼功率譜</p><p> 2.3 AWGN信道</p>&l
21、t;p> 加性高斯白噪聲 AWGN(Additive White Gaussian Noise) 是最基本的噪聲與干擾模型。加性噪聲:疊加在信號上的一種噪聲。白噪聲:噪聲的功率譜密度在所有的頻率上均為一常數(shù),則稱這樣的噪聲為白噪聲。如果白噪聲取值的概率分布服從高斯分布,則稱這樣的噪聲為高斯白噪聲。在通信上指的是一種通道模型(channel model),此通道模型唯一的信號減損是來自于寬帶的(Bandwidth)線性加成或是穩(wěn)定
22、譜密度(以每赫茲瓦特的帶寬表示)與高斯分布振幅的白噪聲 。 </p><p><b> 2.4 循環(huán)碼</b></p><p> 2.4.1循環(huán)碼原理</p><p> 循環(huán)碼是線性分組碼的一種,所以它具有線性分組
23、碼的一般特性,此外還具有循環(huán)性。循環(huán)碼的編碼和解碼設(shè)備都不太復(fù)雜,且檢(糾)錯能力強。它不但可以檢測隨機的錯誤,還可以檢錯突發(fā)的錯誤。(n,k)循環(huán)碼可以檢測長為n-k或更短的任何突發(fā)錯誤,包括首尾相接突發(fā)錯誤。</p><p> 循環(huán)碼是一種無權(quán)碼,循環(huán)碼編排的特點是相鄰兩個數(shù)碼之間符合卡諾圖中的鄰接條件,即相鄰兩個數(shù)碼之間只有一位碼元不同,碼元就是組成數(shù)碼的單元。循環(huán)碼的優(yōu)點是沒有瞬時錯誤,因為在數(shù)碼變換過
24、程中,在速度上會有快有慢,中間經(jīng)過其它一些數(shù)碼形式,稱它們?yōu)樗矔r錯誤。這在某些數(shù)字系統(tǒng)中是不允許的,為此希望相鄰兩個數(shù)碼之間僅有一位碼元不同,即滿足鄰接條件,這樣就不會產(chǎn)生瞬時錯誤。循環(huán)碼就是這樣一種編碼,它可以在卡諾圖中依次循環(huán)得到。循環(huán)碼又稱格雷碼( Grey Code )。</p><p> 循環(huán)碼最大的特點就是碼字的循環(huán)特性,所謂循環(huán)特性是指:循環(huán)碼中任一許用碼組經(jīng)過循環(huán)移位后,所得到的碼組仍然是許用碼
25、組。若( )為一循環(huán)碼組,則()、()……還是許用碼組。也就是說,不論是左移還是右移,也不論移多少位,仍然是許用的循環(huán)碼組。</p><p> 2.4.2 循環(huán)碼的多項式表示</p><p> 設(shè)碼長為n的循環(huán)碼表示為(),其中為二進制數(shù),通常把碼組中各碼元當做二進制的系數(shù),即把上式中長為n的各個分量看做多項式:</p><p> 的各項系數(shù),則碼
26、字與碼多項式一一對應(yīng),這種多項式中,x僅表示碼元位置的標記,因此我們并不關(guān)心x的取值,這種多項式稱為碼多項式。</p><p> 2.4.3 (n,k)循環(huán)碼的生成多項式</p><p> (n,k)循環(huán)碼的生成多項式寫為g(x),它是(n,k)循環(huán)碼碼集中唯一的,冪次為n-k的碼多項式,則是一個冪次為n的碼多項式。按模()運算,此時:</p><p> 即
27、 </p><p> 且因 g(x)也是n階冪,故Q(x)=1。由于它是循環(huán)碼,故按模()運算后的“余式”也是循環(huán)碼的一個碼字,它必能被g(x)整除,即:</p><p> 由以上兩式可以得到:</p><p> 和 </p>
28、<p> 從上式中可以看出,生成多項式g(x)應(yīng)該是的一個因式,即循環(huán)碼多項式應(yīng)該是的一個n-k次因式。</p><p> 2.4.4 循環(huán)碼的生成矩陣和一致校驗矩陣</p><p> 對所有的i=0,1,2,……k-1,用生成多項式g(x)除,有:</p><p> 式中是余式,表示為:</p><p> 因此,是g(
29、x)的倍式,即是碼多項式,由此得到系統(tǒng)形式的生成矩陣為:</p><p> 它是一個kn階的矩陣。</p><p> 同樣,由G=0可以得到系統(tǒng)形式的一致校驗矩陣為:</p><p> 如已知(7,4)循環(huán)碼的生成多項式和校驗多項式分別為:,。寫得其生成矩陣和校驗矩陣分別為:</p><p> 2.4.5 循環(huán)碼編碼原理</p
30、><p> 有信息碼構(gòu)成信息多項式,其中最高冪次為k-1;</p><p> 用乘以信息多項式m(x),得到的,最高冪次為n-1,該過程相當于把信息碼(,,……,,)移位到了碼字德前k個信息位,其后是r個全為零的監(jiān)督位;用g(x)除得到余式r(x),其次數(shù)必小于g(x)的次數(shù),即小于(n-k),將此r(x)加于信息位后做監(jiān)督位,即將r(x)于相加,得到的多項式必為一碼多項式。</p&
31、gt;<p> 根據(jù)上面的討論,可得到在(7,4)循環(huán)碼編碼的程序框圖如圖1 所示:</p><p> 2.4.6 循環(huán)碼的糾錯原理</p><p> 糾錯碼的譯碼是該編碼能否得到實際應(yīng)用的關(guān)鍵所在。譯碼器往往比編碼較難實現(xiàn),對于糾錯能力強的糾錯碼更復(fù)雜。當碼字c通過噪聲信道傳送時,會受到干擾而產(chǎn)生錯誤。如果信道產(chǎn)生的錯誤圖樣是e,譯碼器收到的n重接受矢量是y,則表示為
32、: </p><p> 上式也可以寫成多項式形式:</p><p> 譯碼器的任務(wù)就是從y(x)中得到,然后求的估值碼字</p><p><b> 并從中得到信息組。</b></p><p> 循環(huán)碼譯碼可按以下三個步驟進行:</p><p> ?。?)有接收到的y(x)計算伴隨式s(x)
33、;</p><p> ?。?)根據(jù)伴隨式s(x)找出對應(yīng)的估值錯誤圖樣;</p><p> ?。?)計算,得到估計碼字。若,則譯碼正確,否則,若,則譯碼錯誤。</p><p> 由于g(x) 的次數(shù)為n - k 次,g(x) 除E(x) 后得余式(即伴隨式)的最高次數(shù)為n-k-1次,循環(huán)碼錯誤圖樣表:</p><p> 上式指出了系統(tǒng)循環(huán)
34、碼的譯碼方法:將收到的碼字R(x) 用g(x) 去除,如果除盡則無錯;否則有錯。如果有錯,可由余式S(x) 一一找出對應(yīng)圖樣,然后將錯誤圖樣E(x) 與R(x) 模2 和,即為所求碼字C(x),從而實現(xiàn)糾錯目的。根據(jù)前面的討論,可得(7,4)循環(huán)碼譯碼的程序框圖如圖2.3.1 所示:</p><p> 2.5 誤碼率和信噪比</p><p> 誤碼率(BER:bit error rat
35、io)是衡量數(shù)據(jù)在規(guī)定時間內(nèi)數(shù)據(jù)傳輸精確性的指標,是衡量一個數(shù)字系統(tǒng)可靠性的主要的判斷依據(jù)。雖然現(xiàn)在手機系統(tǒng)有許多儀器都可以直接對該項作直接的測量,但是對數(shù)字對講機以及新興的采用新的協(xié)議模式的設(shè)備,誤碼率的測試就會比較繁瑣。而很多現(xiàn)有的設(shè)備都是基于模擬指標的測量,如果能找到模擬的指標與誤碼率之間的關(guān)系,那么將更方便我們的調(diào)試。在之前我們已經(jīng)能直觀的能觀察到誤碼率BER 與模擬的信噪比SNR 以及射頻中的噪聲干擾存在一種相對應(yīng)的關(guān)系。&l
36、t;/p><p><b> 3.程序主體設(shè)計</b></p><p> 3.1 偽隨機序列產(chǎn)生模塊</p><p> 對于精度要求不高的偽隨機序列,可以采用如下函數(shù): </p><p><b> rand</b></p><p> 功能: 生成偽隨機數(shù)序列。</p
37、><p><b> 調(diào)用格式:</b></p><p> randi(imax,m,n)</p><p> 說明:返回一個m*n階矩陣,m和n都必須是非負整數(shù)值,如果m,n任一為負數(shù),將被當做0處理。</p><p><b> stairs</b></p><p> 功
38、能:在matlab中stairs函數(shù)用于繪制階梯狀圖。</p><p> 調(diào)用格式:stairs(X,Y)</p><p> 程序與仿真結(jié)果如下:</p><p> r=3;n=2^r-1;k=n-r;</p><p> sig0=randi([0 1],k*1000,1);</p><p><b>
39、 figure(2)</b></p><p> t=1:length(sig0);</p><p> stairs(t-1,sig0)</p><p> axis([0 4*3 min(sig0)-0.5 max(sig0)+0.5])</p><p> title('編碼器輸入信號波形')</p&
40、gt;<p> 圖3.1 編碼器輸入信號波形</p><p><b> 3.2 循環(huán)碼編碼</b></p><p><b> encode</b></p><p> 功能:完成漢明碼,循環(huán)碼,線性碼等的編碼調(diào)用格式:code = encode(msg,n,k,'cyclic/fmt'
41、,genpoly)</p><p> 說明:用method指定的方法完成糾錯編碼。其中msg代表信息碼元,是一個K列矩陣,N是編碼后的碼字長度;K是信息位的長度;opt是有些編碼方式需要的參數(shù)。使用如下語句:</p><p> sig1=encode(sig0,n,k,'cyclic')</p><p><b> 測試結(jié)果:</
42、b></p><p> 輸入3組4位序列:{0000}{1110}{0101}</p><p> 輸出3組7位序列:{0000000}{1001110}{1000101}</p><p> 查表得滿足循環(huán)碼編碼規(guī)則,仿真結(jié)果正確。</p><p><b> 仿真波形:</b></p><
43、p> 圖3.2 編碼器輸入輸出信號</p><p> 3.3 awgn信道加噪</p><p><b> awgn</b></p><p> 功能:在某一信號中加入高斯白噪聲</p><p> y = awgn(x,SNR) 在信號x中加入高斯白噪聲。信噪比SNR以dB為單位。x的強度假定為0dBW。如果
44、x是復(fù)數(shù),就加入復(fù)噪聲。</p><p> 為便于觀察,取snr=10程序段如下:</p><p><b> snr=10;</b></p><p> sig2=(awgn(sig1,snr)>0.5)*1;</p><p> subplot(4,2,5)</p><p> t=1
45、:length(sig2);</p><p> stairs(t-1,sig2)</p><p> axis([0 7*3 min(sig2)-0.5 max(sig2)+0.5])</p><p> title('信道輸出信號')</p><p> 仿真波形如圖3.3:</p><p> 圖
46、3.3 信道輸出信號</p><p> 設(shè)置信噪比為10,編碼信號加入高斯白噪聲后失真嚴重。足以突出循環(huán)碼作用。</p><p><b> 3.4循環(huán)碼譯碼</b></p><p><b> decode函數(shù)</b></p><p><b> 功能:譯碼函數(shù)</b>&l
47、t;/p><p> 語法:msg=decode(code,N,K,method,opt1,opt2,opt3,opt4); </p><p> 說明:這個函數(shù)對接收到的碼字進行譯碼,恢復(fù)出原始的信息,譯碼參數(shù)和方式必須和編碼時采用的嚴格相同。它對接收到的碼字,按method指定的方式進行譯碼;opt1,…,opt4是可選項的參數(shù)。</p><p> sig3 =
48、decode(sig2,n,k,'cyclic');</p><p> subplot(4,2,7)</p><p> t=1:length(sig3);</p><p> stairs(t-1,sig3)</p><p> axis([0 4*3 min(sig3)-0.5 max(sig3)+0.5])</p
49、><p> title('譯碼器輸出信號')</p><p><b> 仿真結(jié)果:</b></p><p> 圖3.4 譯碼器輸出信號波形</p><p> 觀察波形得,譯碼器輸出信號波形與編碼器輸入信號波形相同,符合實際情況。</p><p> 3.5誤碼率與信噪比<
50、/p><p><b> symerr</b></p><p> 功能:計算錯誤符號的個數(shù)和誤符號率。</p><p> 調(diào)用格式:[number,ratio]=symerr(x,y)</p><p> 說明number是一個標量或者是一個向量,它指出了x和y兩組數(shù)據(jù)集相比不同符號的個數(shù);</p><
51、;p> ratio為誤符號率,它等于number除以總符號數(shù)(x和y中較小數(shù))。snr=[0.1:0.1:20];ratio=[];</p><p> for var=1:1:200</p><p> sig2=(awgn(sig1,snr(var))>0.5)*1;</p><p> sig3= decode(sig2,n,k,'cyc
52、lic');</p><p> [number,ratio(var)]=symerr(sig0,sig3)</p><p><b> end</b></p><p><b> figure(2)</b></p><p> plot(snr,ratio);</p><
53、;p> title('誤碼率與信噪比關(guān)系曲線')</p><p><b> 仿真結(jié)果:</b></p><p> 圖3.5 信噪比與誤碼率關(guān)系曲線</p><p><b> 3.6頻譜計算函數(shù)</b></p><p><b> fft</b>&l
54、t;/p><p> 功能:一維基2快速傅里葉變換。</p><p><b> 調(diào)用格式:</b></p><p> y=fft(x):利用FFT算法計算矢量x的離散傅里葉變換。當x為2的冪次方時,采用高速基2FFT算法,否則為稍慢的混合算法。</p><p> y=fft(x,N):采用n點FFT。當x的長度小于N時
55、,F(xiàn)FT函數(shù)在x的尾部補零,以構(gòu)成N點數(shù)據(jù),當x的長度大于N時,F(xiàn)FT函數(shù)在x的尾部截斷,以構(gòu)成N點數(shù)據(jù)。</p><p><b> fftshift</b></p><p> 功能:對FFT的輸出進行重新排列,將零頻分量移到頻譜的中心。</p><p><b> 調(diào)用格式:</b></p><p
56、> y=fftshift(x):對FFT的輸出進行重新排列,將零頻分量移到頻譜的中心。</p><p> function sigfft(x)</p><p> % Summary of this function goes here</p><p> % Detailed explanation goes here</p>&l
57、t;p><b> clc</b></p><p> N=length(x); </p><p><b> %N=512;</b></p><p><b> fs=300;</b></p><p><b> df=100/N;</b><
58、/p><p> f=(0:length(x)-1)'*fs/length(x);</p><p> plot(f,abs(fftshift(fft(x)))/N);</p><p> %axis([149 151 0 1])</p><p><b> end</b></p><p>&
59、lt;b> 仿真結(jié)果: </b></p><p> 數(shù)字基帶信號是一個隨機脈沖序列,沒有確定的頻譜函數(shù),所以只能用功率譜來描述它的頻譜特性。功率譜是隨機過程的統(tǒng)計平均概念,平穩(wěn)隨機過程的功率譜是一個確定函數(shù);頻譜只是隨機過程樣本的Fourier變換,查閱資料找到另一種表現(xiàn)形式:功率譜密度。</p><p><b> 函數(shù)定義如下:</b><
60、;/p><p> function[f,sf]= T2F(t,st) </p><p> dt = t(2)-t(1); </p><p> T=t(end); </p><p> df = 1/T; </p><p> N = length(st); </p><p> %f=-N/2
61、*df+df/2:df:N/2*df-df/2;</p><p> f=-N/2*df:df:N/2*df-df; </p><p> sf = fft(st); </p><p> sf = T/N*fftshift(sf); </p><p> 在序列中插入M-1個0的函數(shù)定義如下</p><p> fu
62、nction[out]=sigexpand(d,M) </p><p> N = length(d); </p><p> out = zeros(M,N); </p><p> out(1,:) = d; </p><p> out = reshape(out,1,M*N); </p><p> 修改后的功
63、率譜密度函數(shù)主要代碼:</p><p> function sigfft(x)</p><p><b> clc</b></p><p><b> Ts=1; </b></p><p> N_sample =100;</p><p> dt = Ts/N_sampl
64、e; </p><p> N = length(x); </p><p> t = 0:dt:(N*N_sample-1)*dt; </p><p> T = N*N_sample*dt; </p><p> gt1 = ones(1,N_sample); </p><p> data = sigexpa
65、nd(x,N_sample); </p><p> st1 = conv(data,gt1); </p><p> [f,st1f] = T2F(t,[st1(1:length(t))]); </p><p> plot(f,abs(st1f).^2);</p><p> %semilogy(f,abs(st1f).^2) ; &
66、lt;/p><p> axis([-5 5 0 1000]); </p><p><b> end</b></p><p> 功率譜仿真結(jié)果如下:</p><p><b> 4.總結(jié)</b></p><p> 本次課程設(shè)計主要使用了MATLAB軟件,使我對MATLAB的
67、運用更加熟練。對循環(huán)碼的設(shè)計也使我投入到對課本知識的再一次探討中去,從不同的角度講所學(xué)應(yīng)用到實踐中去。加深了我對這部分知識的理解,鍛煉了對于資料的收集整理運用的能力。對MATLAB自帶幫助文檔的運用更是提高了我對英語學(xué)習(xí)重要性的認知。</p><p> 設(shè)計初,查閱資料,構(gòu)建基本模型,完成程序主要流程并成功運行下來耗時一天,這個過程并不漫長,在學(xué)校基于MATLAB的DSP實驗課上,我積累了一定的基礎(chǔ)認知,可以初
68、步簡單運用該軟件,為這一環(huán)節(jié)打下了基礎(chǔ)。然后接下來日子將重點放在各個模塊的精細改進,各種程序之間的優(yōu)劣,編程效率也納入自己的考慮之中,這一階段我忙于對各個部分功能以及網(wǎng)上資料的測試,真正印證了“矩陣實驗室”的意義。此階段耗時最長,收獲也最多,改變了平時學(xué)習(xí)中浮于表面,毛毛躁躁的習(xí)慣。</p><p> 撰寫報告過程是自己對這次設(shè)計的一個完整回顧,又從一個新的角度整理實驗數(shù)據(jù)與資料。將林林總總的實驗程序、數(shù)據(jù)的整
69、合過程中鍛煉了自己的綜合素質(zhì)。對于問題的考慮還不夠全面,諸如沒有備份程序,修改后程序已經(jīng)面目全非也使自己的心情極為煩躁??朔@些問題其實也可以學(xué)到其他方面的知識,終將使自己的能力得到全方位的提高。</p><p> 誠然,自己的設(shè)計還有許許多多不完善的地方,各個方面也不一定面面俱到,但總體來講,過程中的收獲大于結(jié)果,更是培養(yǎng)了自己對于學(xué)習(xí)的興趣。</p><p><b> 參
70、考文獻</b></p><p> [1]樊昌信,曹麗娜,《通信原理(第六版)》,國防工業(yè)出版社,2007年出版。</p><p> [2]劉泉,闕大順,郭志剛,《數(shù)字信號處理原理與實現(xiàn)》,電子工業(yè)出版社,2009.年出版。</p><p> [3] Vinay K.Ingle,《數(shù)字信號處理及其MATLAB實現(xiàn)》,電子工業(yè)出版社,1998年出版。
71、</p><p> [4] Sanjit K. Miltra,《Digital Signal Processing Laboratory Using Matlab》,McGraw-Hill出版社,2000年出版。</p><p><b> 附錄 程序清單</b></p><p><b> 主程序</b></p&
72、gt;<p><b> clc</b></p><p><b> clear</b></p><p><b> clf</b></p><p> r=3;n=2^r-1;k=n-r;</p><p> sig0=randi([0 1],k*1000,1)
73、;</p><p> subplot(4,2,1)</p><p> t=1:length(sig0);</p><p> stairs(t-1,sig0)</p><p> axis([0 4*3 min(sig0)-0.5 max(sig0)+0.5])</p><p> title('編碼器輸入
74、信號')</p><p> subplot(4,2,2);</p><p> sigfft(sig0);</p><p> title('編碼器輸入信號功率譜密度')</p><p> sig1=encode(sig0,n,k,'cyclic');</p><p> s
75、ubplot(4,2,3)</p><p> t=1:length(sig1);</p><p> stairs(t-1,sig1)</p><p> axis([0 7*3 min(sig1)-0.5 max(sig1)+0.5])</p><p> title('編碼器輸出信號波形')</p><
76、;p> subplot(4,2,4);</p><p> sigfft(sig1);</p><p> title('編碼器輸出信號功率譜密度')</p><p><b> snr=10;</b></p><p> sig2=(awgn(sig1,snr)>0.5)*1;</p
77、><p> subplot(4,2,5)</p><p> t=1:length(sig2);</p><p> stairs(t-1,sig2)</p><p> axis([0 7*3 min(sig2)-0.5 max(sig2)+0.5])</p><p> title('信道輸出信號波形'
78、;)</p><p> subplot(4,2,6);</p><p> sigfft(sig2);</p><p> title('信道輸出信號功率譜密度')</p><p> [sig3,err,ccode,cerr] = decode(sig2,n,k,'cyclic');</p>
79、<p> subplot(4,2,7)</p><p> t=1:length(sig3);</p><p> stairs(t-1,sig3)</p><p> axis([0 4*3 min(sig3)-0.5 max(sig3)+0.5])</p><p> title('譯碼器輸出信號波形')<
80、;/p><p> subplot(4,2,8);</p><p> sigfft(sig3);</p><p> title('譯碼器輸出信號功率譜密度')</p><p> disp('Transpose of err is'); disp(err')</p><p>
81、disp('Transpose of cerr is'); disp(cerr')</p><p> set(gcf,'color','white')</p><p><b> 誤碼率與信噪比程序</b></p><p><b> clc</b></p&g
82、t;<p> sig0=randi([0 1],k*1000,1);</p><p> sig1=encode(sig0,n,k,'cyclic');</p><p> snr=[0.1:0.1:20];ratio=[];</p><p> for var=1:1:200</p><p> sig2=(
83、awgn(sig1,snr(var))>0.5)*1;</p><p><b> %end</b></p><p> sig3= decode(sig2,n,k,'cyclic');</p><p> [number,ratio(var)]=symerr(sig0,sig3)</p><p>
84、<b> end</b></p><p><b> figure(2)</b></p><p> plot(snr,ratio);</p><p> title('誤碼率與信噪比曲線')</p><p> set(gcf,'color','white
85、')</p><p><b> T2F函數(shù)</b></p><p> function[f,sf]= T2F(t,st) </p><p> dt = t(2)-t(1); </p><p> T=t(end); </p><p> df = 1/T; </p>&
86、lt;p> N = length(st); </p><p> f=-N/2*df:df:N/2*df-df; </p><p> sf = fft(st); </p><p> sf = T/N*fftshift(sf); </p><p> 4.sigexpand函數(shù)</p><p> funct
87、ion[out]=sigexpand(d,M) </p><p> %將輸入序列擴展成間隔為0的序列</p><p> N = length(d); </p><p> out = zeros(M,N); </p><p> out(1,:) = d; </p><p> out = reshape(out,
88、1,M*N); </p><p> 5,功率譜密度計算函數(shù)</p><p> function sigfft(x)</p><p><b> clc</b></p><p><b> Ts=1; </b></p><p> N_sample =100;</p&
89、gt;<p> dt = Ts/N_sample; </p><p> N = length(x); </p><p> t = 0:dt:(N*N_sample-1)*dt; </p><p> T = N*N_sample*dt; </p><p> gt1 = ones(1,N_sample); </p
90、><p> data = sigexpand(x,N_sample); </p><p> st1 = conv(data,gt1); </p><p> [f,st1f] = T2F(t,[st1(1:length(t))]); </p><p> plot(f,abs(st1f).^2);</p><p>
91、%semilogy(f,abs(st1f).^2) ; </p><p> axis([-5 5 0 1000]); </p><p><b> end</b></p><p> 6.測試用單極性不歸零信號波形與功率譜密度程序</p><p> clear all; </p><p>
92、 close all; </p><p><b> Ts=1; </b></p><p> N_sample = 8; </p><p> dt = Ts/N_sample; </p><p> N = 1000; </p><p> t = 0:dt:(N*N_sample-1)
93、*dt; </p><p> T = N*N_sample*dt; </p><p> gt1 = ones(1,N_sample); </p><p> d = ( sign( randn(1,N) ) +1)/2; </p><p> data = sigexpand(d,N_sample); </p><p
94、> st1 = conv(data,gt1); </p><p> d = 2*d-1; </p><p> data= sigexpand(d,N_sample); </p><p> [f,st1f] = T2F(t,[st1(1:length(t))]); </p><p> figure(1) </p>
95、<p> subplot(121) </p><p> plot(t,[st1(1:length(t))] );</p><p> axis([0 20 -0.1 1.1]); </p><p> ylabel('單極性不歸零信號波形'); </p><p> subplot(122); </p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信原理課程設(shè)計循環(huán)碼
- 循環(huán)碼計數(shù)器 課程設(shè)計
- 課程設(shè)計報告--循環(huán)碼計數(shù)器
- 18222.有限環(huán)上的循環(huán)碼及常循環(huán)碼
- 基于matlab的循環(huán)碼實驗報告說明書
- 剩余類環(huán)上的循環(huán)碼與負循環(huán)碼.pdf
- 環(huán)Z4上的K-循環(huán)碼,循環(huán)碼和準循環(huán)碼的二進制像.pdf
- 有限環(huán)上循環(huán)碼和一類常循環(huán)碼的研究.pdf
- 循環(huán)碼的權(quán)重分布.pdf
- 剩余類環(huán)上的循環(huán)碼與負循環(huán)碼及其距離分布.pdf
- 幾類特殊的常循環(huán)碼.pdf
- BCH循環(huán)碼的周期分布.pdf
- 關(guān)于環(huán)上的循環(huán)碼.pdf
- 移動通信課程設(shè)計-rayleigh信道衰落的無線通信系統(tǒng)的設(shè)計及仿真(ask循環(huán)碼)
- 循環(huán)碼的深度分布.pdf
- 長為2的方冪的四元循環(huán)碼(負循環(huán)碼)的Gray映射象.pdf
- 幾類常循環(huán)碼的研究.pdf
- 環(huán)F-,2-+uF-,2-上的循環(huán)碼和常循環(huán)碼的研究.pdf
- 循環(huán)碼參數(shù)識別實現(xiàn)的設(shè)計與仿真.pdf
- 關(guān)于循環(huán)碼周期分布的研究.pdf
評論
0/150
提交評論