34卷積碼編碼原理分析與建模仿真_第1頁
34卷積碼編碼原理分析與建模仿真_第2頁
34卷積碼編碼原理分析與建模仿真_第3頁
34卷積碼編碼原理分析與建模仿真_第4頁
34卷積碼編碼原理分析與建模仿真_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

3/4卷積碼編碼原理分析與建模仿真一、摘要卷積碼是一種性能優(yōu)越的信道編碼。它的編碼器和譯碼器都比較容易實現(xiàn),同時它具有較強的糾錯能力。隨著糾錯編碼理論研究的不斷深入,卷積碼的實際應(yīng)用越來越廣泛。本文簡明地介紹了卷積碼的編碼原理和Viterbi譯碼原理。并在SIMULINK模塊設(shè)計中,完成了對卷積碼的編碼和譯碼以及誤比特統(tǒng)計整個過程的模塊仿真。最后,通過在仿真過程中分析了卷積碼誤比特率與信噪比之間的關(guān)系,及卷積碼與非卷積碼的對比。經(jīng)過仿真和實測,并對測試結(jié)果作了分析。關(guān)鍵詞:卷積碼編碼 建模SIMULINK仿真目錄一、摘要 -4-二、設(shè)計目的和意義 -6-三、設(shè)計原理 -6-3.1卷積碼基本概念 -6-3.2卷積碼的結(jié)構(gòu) -6-3.3卷積碼的解析表示 -7-3.4卷積碼的譯碼 -7-3.4.1卷積碼譯碼的方式 -7-3.5.2卷積碼的Viterbi譯碼 -8-四、詳細設(shè)計步驟 -9-4.1卷積碼的仿真 -9-4.1.1SIMULINK仿真模塊的參數(shù)設(shè)置及意義 -9-五、設(shè)計結(jié)果及分析 -14-5.1不同信噪比對卷積碼的影響 -14-5.2卷積碼的對比 -15-六、總結(jié) -17-七、體會 -17-八、參考文獻 -18-二、設(shè)計目的和意義因為信道中信號不可避免會受到干擾而出錯。為實現(xiàn)可靠性通信,主要有兩種途徑:一種是增加發(fā)送信號的功率,提高接收端的信號噪聲比;另一種是采用編碼的方法對信道差錯進行控制。前者常常受條件限制,不是所有情況都能采用。而編碼理論可以解決這個問題,使得成本降低,實用性增強。隨著現(xiàn)代通信的發(fā)展,卷積碼以其高速性和可靠性在實際應(yīng)用中越來越廣泛。1967年Viterbi譯碼算法的提出,使卷積碼成為信道編碼中最重要的編碼方式之一。在卷積碼中,因為Viterbi算法效率高,速度快,結(jié)構(gòu)相對簡單等特點,被廣泛應(yīng)用于各種數(shù)據(jù)傳輸系統(tǒng)。特別是深空通信、衛(wèi)星通信系統(tǒng)中。因此采用Viterbi譯碼算法具有非?,F(xiàn)實的意義。三、設(shè)計原理本文在分析卷積碼編譯碼器原理的基礎(chǔ)上,通過MATLAB的SIMULINK模塊對卷積編碼、解碼進行仿真。通過仿真可以更清楚的認識到卷積碼的編碼,解碼的各個環(huán)節(jié),并對仿真結(jié)果進行了分析。得出卷積碼Viterbi譯碼的誤比特性能的分析,從而驗證了卷積碼的正確性。3.1卷積碼基本概念卷積碼是一種性能優(yōu)越的信道編碼。(n,k,N)表示把k個信息比特編成n個比特,N為編碼約束長度,說明編碼過程中互相約束的碼段個數(shù)。卷積碼編碼后的n個碼元不僅與當前組的k個信息比特有關(guān),而且與前N-1個輸入組的信息比特有關(guān)。編碼過程中相互關(guān)聯(lián)的碼元有N×n個。R=k/n是卷積碼的碼率,碼率和約束長度是衡量卷積碼的兩個重要參數(shù)。卷積碼的編碼描述方式有很多種:沖激響應(yīng)描述法、生成矩陣描述法、多項式乘積描述法、狀態(tài)圖描述,樹圖描述,網(wǎng)格圖描述等。卷積碼的糾錯能力隨著N的增加而增大,而差錯率隨著N的增加而指數(shù)下降。在編碼器復雜性相同的情況下,卷積碼的性能優(yōu)于分組碼。分組碼的譯碼算法可以由其代數(shù)特性得到。卷積碼雖然可以采用適用于分組碼的門限譯碼(即大數(shù)邏輯譯碼),但性能不如維特比譯碼和序列譯碼。3.2卷積碼的結(jié)構(gòu)圖2-1卷積碼的編碼器一般都比較簡單。圖2-1是一般情況下的卷積碼編碼器框圖。它包括:一個由N段組成的輸入移位寄存器,每段有k級,共Nk位寄存器;一組n個模2和相加器;一個由n級組成的輸出移位寄存器。對應(yīng)于每段k個比特的輸入序列,輸出n個比特。由圖可知,n個輸出比特不但與當前k個比特的輸入比特有關(guān),而且與以前的(N-1)k個輸入信息有關(guān)。整個編碼過程可以看成是輸入信息序列與由移位寄存器和模2加法器的連接方式所決定的另一個序列的卷積,卷積碼由此得名。圖2-2如圖2-2是卷積碼(4,3,2)卷積編碼器的一個框圖。左邊是信息的輸入。下面分別是系統(tǒng)位輸出和校驗位輸出。其中間是6個移位寄存器和4個模2加法器。簡單的說就是信息位經(jīng)過移位寄存器和一個模2加法器產(chǎn)生一個系統(tǒng)位和校驗位加在一起輸出??梢钥闯觯好枯斎胍粋€比特,移位寄存器中就向右移動一個位子。原來的第四個寄存器就被移出??梢娋矸e編碼不只與現(xiàn)在的輸入比特有關(guān)還與前面的1個比特有關(guān)。在這里,其中約束長度是N=2,k=3,n=4所以碼率R=k/n=3/4。3.3卷積碼的解析表示除上述圖解表示方法外,常常還用解析表示方法描述卷積碼,即延時算子多項式。在延時算子多項式表示中,編碼器中的移位寄存器與模2加法器的連接關(guān)系以及輸入、輸出序列都表示為延時算子D的多項式。在一般情況下,輸入序列可表示為:(3-1)變量D的冪的次數(shù)等于相對于時間起點的單位延時數(shù)目,時間起點通常選在第1個輸出比特,ml,m2,m3,m...為輸入比特的二進制表示(1或0)。用D算子多項式表示移位寄存器各級與各模2項連接關(guān)系時。若某級寄存器與某模2和相連,則多項式中相應(yīng)項的系數(shù)為1,否則為0(表示無連接)。通常把表示移位寄存器與模2和連接關(guān)系的多項式稱為生成多項式,因為由它們可以用多項式相乘計算出輸出序列。卷積碼的圖解與解析表示方法各有特點。用延時算子多項式表示卷積碼編碼器的生成多項式最為方便。網(wǎng)格圖對于分析卷積碼的譯碼算法十分有用。3.4卷積碼的譯碼3.4.1卷積碼譯碼的方式卷積碼的譯碼方式有三種:(1)1963年由梅西((Massey)提出的門限譯碼,這是一種基于碼代數(shù)結(jié)構(gòu)的代數(shù)譯碼,類似于分組碼中的大數(shù)邏輯譯碼;(2)1963年由費諾(Fano)改進的序列譯碼,這是基于碼的樹狀圖結(jié)構(gòu)上的一種準最佳的概率譯碼;(3)1967年由維特比提出的Viterbi算法。這是基于碼的網(wǎng)(trellis)圖基礎(chǔ)上的一種最大似然譯碼算法,是一種最佳的概率譯碼方法。其中,代數(shù)譯碼,利用編碼本身的代數(shù)結(jié)構(gòu)進行譯碼,不考慮信道本身的統(tǒng)計特性。該方法的硬件實現(xiàn)簡單,但性能較差,其中具有典型意義的是門限譯碼。另一類是概率譯碼,這種譯碼通常建立在最大似然準則的基礎(chǔ)上。由于計算是用到了信道的統(tǒng)計特性.因而提高了譯碼性能,但這種性能的提高是以增加硬件的復雜度為代價的。常用的概率譯碼方法有維特比譯碼和序列譯碼。維特比譯碼具有最佳性能,但硬件實現(xiàn)復雜;門限譯碼性能最差,但硬件簡單;序列譯碼在性能和硬件方面介于維特比譯碼和門限譯碼之間。3.5.2卷積碼的Viterbi譯碼卷積碼概率譯碼的基本思路是:以接收碼流為基礎(chǔ),逐個計算它與其他所有可能出現(xiàn)的、連續(xù)的網(wǎng)格圖路徑的距離,選出其中可能性最大的一條作為譯碼估值輸出。概率最大在大多數(shù)場合可解釋為距離最小,這種最小距離譯碼體現(xiàn)的正是最大似然的準則。卷積碼的最大似然譯碼與分組碼的最大似然譯碼在原理上是一樣的,但實現(xiàn)方法上略有不同。主要區(qū)別在于:分組碼是孤立地求解單個碼組的相似度,而卷積碼是求碼字序列之間的相似度?;诰W(wǎng)格圖搜索的譯碼是實現(xiàn)最大似然判決的重要方法和途徑。用格圖描述時,由于路徑的匯聚消除了樹狀圖中的多余度,譯碼過程中只需考慮整個路徑集合中那些使似然函數(shù)最大的路徑。如果在某一點上發(fā)現(xiàn)某條路徑已不可能獲得最大對數(shù)似然函數(shù),就放棄這條路徑,然后在剩下的“幸存”路徑中重新選擇路徑。這樣一直進行到最后第L級(L為發(fā)送序列的長度)。由于這種方法較早地丟棄了那些不可能的路徑,從而減輕了譯碼的工作量,Viterbi譯碼正是基于這種想法。對于(n,k,K)卷積碼,其網(wǎng)格圖中共2kL種狀態(tài)。由網(wǎng)格圖的前K-1條連續(xù)支路構(gòu)成的路徑互不相交,即最初2k_1條路徑各不相同,當接收到第K條支路時,每條路徑都有2條支路延伸到第K級上,而第K級上的每兩條支路又都匯聚在一個節(jié)點上。在Viterbi譯碼算法中,把匯聚在每個節(jié)點上的兩條路徑的對數(shù)似然函數(shù)累加值進行比較,然后把具有較大對數(shù)似然函數(shù)累加值的路徑保存下來,而丟棄另一條路徑,經(jīng)挑選后第K級只留下2K條幸存路徑。選出的路徑同它們的對數(shù)似然函數(shù)的累加值將一起被存儲起來。由于每個節(jié)點引出兩條支路,因此以后各級中路徑的延伸都增大一倍,但比較它們的似然函數(shù)累加值后,丟棄一半,結(jié)果留存下來的路徑總數(shù)保持常數(shù)。由此可見,上述譯碼過程中的基本操作是,“加-比-選”,即每級求出對數(shù)似然函數(shù)的累加值,然后兩兩比較后作出選擇。有時會出現(xiàn)兩條路徑的對數(shù)似然函數(shù)累加值相等的情形,在這種情況下可以任意選擇其中一條作為“幸存”路徑。卷積碼的編碼器從全零狀態(tài)出發(fā),最后又回到全零狀態(tài)時所輸出的碼序列,稱為結(jié)尾卷積碼。因此,當序列發(fā)送完畢后,要在網(wǎng)格圖的終結(jié)處加上(K-1)個己知的信息作為結(jié)束信息。在結(jié)束信息到來時,由于每一狀態(tài)中只有與已知發(fā)送信息相符的那條支路被延伸,因而在每級比較后,幸存路徑減少一半。因此,在接收到(K-1)個己知信息后,在整個網(wǎng)格圖中就只有唯一的一條幸存路徑保留下來,這就是譯碼所得的路徑。也就是說,在己知接收到的序列的情況下,這條譯碼路徑和發(fā)送序列是最相似的。由上述可見,Viterbi譯碼過程并不復雜,譯碼器的運行是前向的、無反饋的。它接收一段,計算一段,選擇一段最可能的碼段(分支),從而達到整個碼序列是一個有最大似然函數(shù)的序列。傳輸序列很長時,判決需要的長延時和相當大的存儲量是我們無法承受的。因此,實際應(yīng)用中采用截短Viterbi算法,即不需要接收到所有序列才進行判決,當譯碼器接收并處理完了固定的T(T<<L)個碼段后,在接收第(T+1)個碼段的時候,它將比較前T級的路徑量度,然后從中選取最小者,由此得到與最小量度對應(yīng)的幸存路徑,將此路徑對應(yīng)的T個碼段判決輸出。T稱為截短深度,T選的足夠大時,則對譯碼器輸出的譯碼錯誤概率影響很小。四、詳細設(shè)計步驟4.1卷積碼的仿真圖4-1卷積碼的編碼譯碼框圖如上圖4-1的信號流程可以表示為先由BernoulliBinaryGenerator(貝努利二進制序列產(chǎn)生器)產(chǎn)生一個0,1等概序列,經(jīng)過ConvolutionalEncoder(卷積編碼器)對輸入的二進制序列進行卷積編碼,并用BPSK調(diào)制方式調(diào)制信號。加入信道噪聲(高斯白噪聲)后再經(jīng)過BPSK解調(diào)制后送入ViterbiDecoder(Viterbi譯碼器)進行硬判決譯碼。最后經(jīng)過ErrorRateCalculation(誤碼統(tǒng)計)后由Display(顯示)輸出。然后通過Selector(數(shù)據(jù)選通器)將結(jié)果輸出到Toworkspace(工作區(qū)間)。4.1.1SIMULINK仿真模塊的參數(shù)設(shè)置及意義在建立如圖4-1的仿真模塊后,對各個模塊分別一一進行設(shè)置后并運行仿真。圖4-2貝努利二進制序列產(chǎn)生器模塊的設(shè)置框圖如上圖4-2是貝努利二進制序列產(chǎn)生器模塊的設(shè)置框圖,其中參數(shù)有三項:第一項probabilityofazero取值為0.5,表示0和1出現(xiàn)的概率相等。Initialseed表示隨機種子數(shù)。不同的隨機種子數(shù)將產(chǎn)生不同的二進制序列,特定的隨機種子數(shù)可以產(chǎn)生一個特定的二進制序列。Sampletime=0.0001表示抽樣時間,也就是說輸出序列中每個二進制符號的持續(xù)時間是0.0001秒。Samplesperframe表示每幀的抽樣數(shù)用來確定每幀的抽樣點的數(shù)目。Outputdatetype是用來確定幀的輸出格式。圖4-3卷積編碼器模塊的設(shè)置框圖如上圖4-3是卷積編碼器模塊的設(shè)置框圖。其中Trellisstructure(Trellis結(jié)構(gòu))中通過poly2trellis()函數(shù)把卷積碼的約束長度,生成多項式以及反饋多項式轉(zhuǎn)換成Trellis結(jié)構(gòu)的形式。圖4-4BPSK調(diào)制器模塊的設(shè)置框圖如上圖4-4是BPSK調(diào)制器模塊的設(shè)置框圖。Phaseoffset(rad)(相位偏移),這里設(shè)置為0。圖4-5誤比特統(tǒng)計模塊的設(shè)置框圖如上圖4-5是誤比特統(tǒng)計模塊的設(shè)置框圖。其中Receivedelay表示接收延遲,意思是在通信接收端口需要對接收到的信號進行解調(diào),解碼或解交織而帶來一定的延遲,使得到達誤碼統(tǒng)計模塊接收端的信號滯后于發(fā)送端的信號。為了補償這種延遲這里設(shè)置為0。Computationdelay表示計算延遲,在仿真過程中,有時間需要忽略最初的若干個輸入數(shù)據(jù)就通過計算延遲來實現(xiàn)。這里設(shè)置為0。Computationmode表示計算模式,幀的計算模式(Entireframe),誤碼統(tǒng)計模塊對發(fā)送端和接收端的所有輸入數(shù)據(jù)進行統(tǒng)計。outputdata是輸出數(shù)據(jù),這里設(shè)置為Port的意思是表示把統(tǒng)計數(shù)據(jù)從端口中輸出。workspace表示把統(tǒng)計數(shù)據(jù)輸出到工作區(qū)。圖4-6數(shù)據(jù)選通器模塊的設(shè)置框圖如上圖4-6是數(shù)據(jù)選通器模塊的設(shè)置框圖。Inputportwidth表示輸入端口的個數(shù)為3。圖4-7卷積碼譯碼器模塊的設(shè)置框圖如上圖4-7是卷積碼譯碼器模塊的設(shè)置框圖。Trellisstructure:Trellis結(jié)構(gòu)(前面已說明)。Decisiontype是指判決類型,有3種:(1)Unquantized(非量化)(2)HardDecision(硬判決),(3)SoftDecision(軟判決)Tracebackdepth表示反饋深度。它的值會影響譯碼精度和解碼延遲。Operationmode是指操作模式。在Truncated模式下,解碼器在每幀數(shù)據(jù)結(jié)束的時候總能恢復到全0狀態(tài),它與卷積編碼器的oneachframe復位方式相對應(yīng)。五、設(shè)計結(jié)果及分析5.1不同信噪比對卷積碼的影響如下圖4-10,對于碼率一定的卷積碼,當信道信噪比發(fā)生變化時,系統(tǒng)的誤碼性能也會隨之發(fā)生變化,我們以碼率R=3/4的卷積碼為例展開分析。從圖5-1中的誤比特率曲線可以看到,當碼率為3/4一定時,在SNR>-2dB時,系統(tǒng)的誤比特率迅速下降。圖5-1不同的信噪比卷積碼誤碼性能的影響分析不同約束長度對卷積碼誤碼性能影響用到的程序如下:clc;x=-10:5;%x表示信噪比y=x;%y表示信號的誤比特率holdoff;%準備一個空白圖形fori=1:length(x)SNR=x(i);%信道的信噪比依次取x中的元素sim('convh');%運行仿真程序,得到的誤比特率保存在工作區(qū)變量BitErrorRate中y(i)=mean(BitErrorRate);%計算BitErrorRate的均值作為本次仿真的誤比特率endsemilogy(x,y);%繪制x和y的關(guān)系曲線圖,縱坐標采用對數(shù)坐標gridon,title('誤碼率隨信噪比的變化圖')holdon%保持已經(jīng)繪制的圖5.2卷積碼的對比如圖5-2所示結(jié)果,在信噪比超過10dB之后,卷積編碼傳輸與非卷積編碼傳輸?shù)恼`比特率基本相等,而在SNR<10時,卷積編碼的傳輸誤比特率遠小于非卷積編碼傳輸?shù)那闆r。圖5-2卷積碼與非卷積碼誤碼率對比圖卷積碼與非卷積碼誤碼率對比的程序如下:SNR=1:0.5:15;%信噪比取值;單位為db\Ns=10;datalength=256;%每個數(shù)據(jù)符號中可用子載波error_bit_rata_code=0;%經(jīng)卷積編碼后解調(diào)出的數(shù)據(jù)的誤比特率error_bit_rata_nocode=0;%未經(jīng)卷積編碼后解調(diào)出的數(shù)據(jù)的誤比特率fori=1:1:29Signal=double(rand(1,datalength*Ns)>0.5);trel=poly2trellis(7,[155117]);code=convenc(Signal,trel);%進行串并轉(zhuǎn)化Para=reshape(code,datalength,2*Ns);%進行QPSK數(shù)據(jù)調(diào)制,將數(shù)據(jù)分為兩個通道,SigPara為datalength行2Ns列forj=1:Nss1(:,j)=Para(:,2*j-1);%ich為datalength行Ns列s2(:,j)=Para(:,2*j);endkmod=1./sqrt(2);s1=s1.*kmod;s2=s2.*kmod;x=s1+s2.*sqrt(-1);%產(chǎn)生復信號y=ifft(x);%通過傅立葉反變換,將頻域數(shù)據(jù)轉(zhuǎn)換為時域數(shù)據(jù)ich2=real(y);%I信道取變換后的實部qch2=imag(y);%Q信道取變換后的虛部ich4=reshape(ich2,1,datalength*Ns);qch4=reshape(qch2,1,datalength*Ns);TrData=ich4+qch4.*sqrt(-1);%加入高斯白噪聲ReData=awgn(TrData,SNR(i),'measured');idata=real(ReData);qdata=imag(ReData);%進行串并轉(zhuǎn)化idata1=reshape(idata,datalength,Ns);qdata1=reshape(qdata,datalength,Ns);Rex=idata1+qdata1.*sqrt(-1);ry=fft(Rex);ReIChan=real(ry);ReQChan=imag(ry);ReIChan=ReIChan/kmod;ReQChan=ReQChan/kmod;forj=1:NsRePara(:,2*j-1)=ReIChan(:,j);RePara(:,2*j)=ReQChan(:,j);endReSig=reshape(RePara,1,datalength*Ns*2);%符號抽樣判決ReSig=double(ReSig>0.5);%維特比譯碼tblen=log2(trel.numInputSymbols)[dmpin]=vitdec(ReSig,trel,tblen,'cont','soft',1);%統(tǒng)計錯誤比特數(shù),并計算誤比特率error_bit_code=sum(abs(d(2:datalength*Ns)-Signal(1:datalength*Ns-1)));error_bit_nocode(i)=sum(abs(ReSig-code));error_bit_rata_code1=error_bit_code/length(Signal);error_bit_rata_code(i)=error_bit_rata

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論