版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)論文(設計)題目:卷積碼編碼器及Viterbi譯碼器的設計學生姓名: 琳 學 號: 所在系別: 電氣信息工程學院 專業(yè)名稱: 通信工程 屆 次: 指導教師: 目 錄前言21 卷積碼31.1卷積碼基本概念31.2 卷積碼的編碼41.3 卷積碼的譯碼41.4 卷積碼的 Viterbi 譯碼52.卷積碼編碼器及Viterbi譯碼器的設計系統(tǒng)方案制定82.1 方案提出82.2 方案論證82.3方案選擇92.4硬件實現(xiàn)103.卷積碼編碼器及Viterbi譯碼器的設計系統(tǒng)的仿真和調試103.1仿真軟件介紹103.2 系統(tǒng)仿真實現(xiàn)103.3 卷積碼實現(xiàn)123.4 數(shù)據(jù)分析144 SIMULINK下仿真設
2、計154.1卷積碼的仿真154.2 SIMULINK模塊仿真參數(shù)設置及意義165總結205.1 設計小結205.2收獲體會205.3 展望216參考文獻:21卷積碼編碼器及Viterbi譯碼器的設計學生:陳琳(指導老師:王千春)(淮南師范學院電氣信息工程學院)摘要:本畢業(yè)設計主要解決對一個卷積碼序列進行維特比(Viterbi)譯碼輸出,并通過Matlab軟件進行設計與仿真,并進行誤碼率分析。在畢業(yè)設計中,系統(tǒng)開發(fā)平臺為Windows Vista Ultimate,程序設計與仿真均采用Matlab R2007a(7.4),最后仿真詳單與理論分析一致。關鍵詞:畢業(yè)論文;卷積碼譯碼器;Matlab;
3、設計與仿真Design of the Viterbi Convolutional Code Encoder and DecoderStudent: Chen Lin(Instructor:WANG qian chun)(Electrical and information engineering college of communication engineering)Abstract :This course design mainly resolves to a convolutional code sequence for Viterbi Viterbi decoding output,
4、 and through the Matlab software to carry on the design and simulation, and analysis of bit error rate. In curriculum design, system development platform for Windows Vista Ultimate, program design and simulation using Matlab R2007a (7.4), and finally the simulation list is consistent with theoretica
5、l analysis.Key words :graduation thesis; Convolutional code decoder; Matlab; Design and simulation前 言本畢業(yè)設計主要解決對一個卷積碼序列進行維特比(Viterbi)譯碼輸出,并通過Matlab軟件進行設計與仿真。卷積碼的譯碼有兩種方法軟判決和硬判決,此畢業(yè)設計采用硬判決的維特比譯碼。隨著現(xiàn)代通信的發(fā)展,高速信息傳輸和高可靠性傳輸成為信息傳輸?shù)膬蓚€主要方面,而可靠性尤其重要。卷積碼以其高速性和可靠性在實際應用中越來越廣泛。1967年Viterbi譯碼算法的提出,使卷積碼成為信道編碼中最重要的編碼方
6、式之一1。在對卷積碼的研究中,其中編碼器較簡單,模式也很統(tǒng)一。主要是研究提高卷積碼的譯碼速度和可靠度。譯碼算法中最重要的卷積碼的Viterbi算法問世以來,軟件仿真和實現(xiàn)都得到了迅速發(fā)展。目前,利用計算機仿真Viterbi算法,模擬在各種不同情況下(使用不同碼率、不同約束度等)卷積編碼時的譯碼性能,尋找Viterbi算法的最佳適用信道和不同要求(如誤碼率)下最優(yōu)編碼。在卷積碼中,因為Viterbi算法效率高,速度快,結構相對簡單等特點,被廣泛應用于各種數(shù)據(jù)傳輸系統(tǒng)。特別是深空通信、衛(wèi)星通信系統(tǒng)中。在現(xiàn)代信息處理系統(tǒng)中,需要處理的信息量越來越大,實時性要求越來越高。為減少對主處理器各種資源的占用
7、,要求通信模塊方面的大部分工作能獨立完成。因此采用Viterbi譯碼算法具有非常現(xiàn)實的意義2。由于卷積碼的優(yōu)良特性,被廣泛的應用于深邃通信,衛(wèi)星通信和2G及3G移動通信中,卷積碼有三種譯碼方法:門限譯碼,概率譯碼和Viterbi算法,其中Viterbi算法是一種基于網(wǎng)格圖的最大似然譯碼算法,是卷積碼的最佳譯碼方式,具有效率高、速度快等優(yōu)點。Viterbi譯碼充分發(fā)揮了卷積碼的特點,使譯碼錯誤概率達到最小,在碼的約束度教小時,它有譯碼算法效率高,速度快,譯碼也簡單的特點3。這次畢業(yè)設計研究卷積碼的編碼方法和解碼方式。編寫卷積碼的編碼和解碼程序。掌握卷積碼編碼及Viterbi譯碼的基本原理。分析卷
8、積碼編碼及Viterbi譯碼的關鍵技術。對卷積碼編碼器及Viterbi譯碼器進行設計。用卷積碼編碼器及Viterbi譯碼器進行仿真,并進行性能分析。理解卷積碼的編碼和解碼原理和過程,會通過編碼和解碼程序對一些卷積碼進行仿真。對卷積碼編碼器及Viterbi譯碼器進行仿真驗證,并分析性能。盡可能對系統(tǒng)進行優(yōu)化。能運用MATLAB軟件進行仿真4。1 卷積碼1.1 卷積碼基本概念 卷積碼是一種性能優(yōu)越的信道編碼。(n ,k ,N) 表示把 k 個信息比特編成 n 個比特,N 為編碼約束長度,說明編碼過程中互相約束的碼段個數(shù)。卷積碼編碼后的 n 個碼元不僅與當前組的 k 個信息比特有關,而且與前 N -
9、 1 個輸入組的信息比特有關。編碼過程中相互關聯(lián)的碼元有 N ×n 個。R = k/ n 是卷積碼 的碼率,碼率和約束長度是衡量卷積碼的兩個重要參數(shù)。 卷積碼的編碼描述方式有很多種:沖激響應描述法、生成矩陣描述法、多項式乘積描述法、狀態(tài)圖描述,樹圖描述,網(wǎng)格圖描述等。卷積碼的糾錯能力隨著 N 的增加而增大,而差錯率隨著 N 的增加而指數(shù)下降。在編碼器復雜性相同的情況下,卷積碼的性能優(yōu)于分組碼。分組碼的譯碼算法可以由其代數(shù)特性得到。卷積碼雖然可以采用適用于分組碼的門限譯碼(即大數(shù)邏輯譯碼),但性能不如維特比譯碼和序列譯碼5。1.2 卷積碼的編碼編碼輸出輸入圖1 一種卷積碼編碼器方框圖圖
10、 1卷積碼的編碼器一般都比較簡單。下圖1是一般情況下的卷積碼編碼器框圖。它包括:一個由 N 段組成的輸入移位寄存器,每段有 k 級,共 Nk 位寄存器; 一組 n 個模 2 和相加器;一個由 n 級組成的輸出移位寄存器。對應于每段 k 個比特的輸入序列,輸出 n 個比特。由圖可知,n 個輸出比特不但與當前 k 個比特的輸入比特有關,而且與以前的(N-1)k 個輸入信息有關。整個編碼過程可以看成是輸入信息序列與由移位寄存器和模 2 加法器的連接方式所決定的另一個序列的卷積,卷積碼由此得名。1.3 卷積碼的譯碼 卷積碼的譯碼方式有三種:(1)1963 年由梅西(Massey)提出的門限譯碼,這 是
11、一種基于碼代數(shù)結構的代數(shù)譯碼,類似于分組碼中的大數(shù)邏輯譯碼;(2) 1963 年由費諾(Fano)改進的序列譯碼, 這是基于碼的樹狀圖結構上的一種準最佳的概 率譯碼;(3) 1967 年由維特比提出的 Viterbi 算法。這是基于碼的網(wǎng)(trellis) 圖基礎上的一種最大似然譯碼算法,是一種最佳的概率譯碼方法。其中,代數(shù)譯 碼,利用編碼本身的代數(shù)結構進行譯碼,不考慮信道本身的統(tǒng)計特性。該方法的硬件實現(xiàn)簡單,但性能較差,其中具有典型意義的是門限譯碼。另一類是概率譯碼,這種譯碼通常建立在最大似然準則的基礎上。由于計算是用到了信道的統(tǒng)計特性.因而提高了譯碼性能,但這種性能的提高是以增加硬件的復雜
12、度為代價的。常用的概率譯碼方法有維特比譯碼和序列譯碼。維特比譯碼具有最佳性能,但硬件實現(xiàn)復雜;門限譯碼性能最差,但硬件簡單;序列譯碼在性能和硬件方面介于維特比譯碼和門限譯碼之間6。1.4 卷積碼的 Viterbi 譯碼 卷積碼概率譯碼的基本思路是:以接收碼流為基礎,逐個計算它與其他所有可能出現(xiàn)的、連續(xù)的網(wǎng)格圖路徑的距離,選出其中可能性最大的一條作為譯碼估值輸出。概率最大在大多數(shù)場合可解釋為距離最小,這種最小距離譯碼體現(xiàn)的正是最大似然的準則。 卷積碼的最大似然譯碼與分組碼的最大似然譯碼在原理上是一樣的,但實現(xiàn)方法上略有不同。主要區(qū)別在于:分組碼是孤立地求解單個碼組的相似度,而卷積碼是求碼字序列之
13、間的相似度?;诰W(wǎng)格圖搜索的譯碼是實現(xiàn)最大似然判決的重要方法和途徑。用格圖描述時,由于路徑的匯聚消除了樹狀圖中的多余度,譯碼過程中只需考慮整個路徑集合中那些使似然函數(shù)最大的路徑。如果在某一點上發(fā)現(xiàn)某條路徑已不可能獲得最大對數(shù)似然函數(shù),就放棄這條路徑,然后在剩下的“幸存”路徑中重新選擇路徑。這樣一直進行到最后第L級(L為發(fā)送序列的長度)。由于這種方法較早地丟棄了那些不可能的路徑7。 維特比譯碼原理采用概率譯碼的基本思想是:把已接收序列與所有可能的發(fā)送序列做比較,選擇其中碼距最小的一個序列作為發(fā)送序列。如果發(fā)送L組信息比特,那么對于(n,k)卷積碼來說,可能發(fā)送的序列有2kL個,計算機或譯碼器需存
14、儲這些序列并進行比較,以找到碼距最小的那個序列。當傳信率和信息組數(shù)L較大時,使得譯碼器難以實現(xiàn)。維特比算法則對上述概率譯碼做了簡化,以至成為了一種實用化的概率算法。它并不是在網(wǎng)格圖上一次比較所有可能的2kL條路徑(序列),而是接收一段,計算和比較一段,選擇一段最大似然可能的碼段,從而達到整個碼序列是一個最大似然值得序列8。下面以圖2(a)的(2,1,3)卷積碼編碼器所編出的碼為例,來說明維特比解碼的方法和運作過程。為了能說明解碼過程,這里給出該碼的狀態(tài)圖,如圖2(b)所mjmj-1mj-2輸出序列m1,m2,mj,y1jy2j輸入序列00adcb110011010110 圖2(a) (2,1,
15、3)卷積碼編碼器 圖2(b) (2,1,3)卷積碼狀圖示。維特比譯碼需要利用圖來說明移碼過程。根據(jù)卷積碼畫網(wǎng)格的方法,我們可以畫出該碼的網(wǎng)格圖,如圖3所示。該圖設輸入信息數(shù)目L=5,所以畫L+N=8個時間單位,圖中分別標以0至7。這里設編碼器從a狀態(tài)開始運作。該網(wǎng)格圖的每一條路徑都對應著不同的輸入信息序列。由于所有可能輸入信息序列共有2kL個,因而網(wǎng)格圖中所有可能的路徑也為2kL條。這里節(jié)點a=00,b=01,c=10,d=11。abcd節(jié)點號0123456700000000000000111111111111111100000101010101010101010101111110101010
16、圖3 (2,1,3)卷積碼網(wǎng)格圖9。由于該卷積碼的約束長度為6位,因此先選擇接收序列的前6位序列R1=(010101)同到達第3時刻的可能的8個碼序列(即8條路徑)進行比較,并計算出碼距。該例中到達第3時刻a點的路徑序列是(000000)和(111011),他們與R1的距離分別為3和4;到達第3時刻b點的路徑序列是(000011)和(111000),他們與R1的距離分別為3和4;到達第3時刻c點的路徑序列是(001110)和(110101),他們與R1的距離分別為4和1;到達第3時刻d點的路徑序列是(001101)和(110110),他們與R1的距離分別為2和3。上述每個節(jié)點都保留碼距較小的路
17、徑作為幸存路徑,所以幸存路徑碼序列是(000000)、(000011)、(1101001)和(001101),如圖4所示。用于上面類似的方法可以得到第4、5、6、7時刻的幸存路徑10。abcd節(jié)點號0123000000111111010101圖4 維特比譯碼第3時刻幸存路徑需要指出的是,對于某個節(jié)點,如果比較兩條路徑與接收序列的累計碼距值相等時,則可以任意選者一條路徑作為幸存路徑,吃時不會影響最終的譯碼結果。在碼的終了時刻a狀態(tài),得到一條幸存路徑。如果5所示。由此可看到譯碼器輸出是RR和R序列,可以看到在譯碼過程中已糾正了在碼序列第1和第7位上的差錯。當然如果差錯出現(xiàn)太頻繁,以致超出卷積碼的糾
18、錯能力,還是會發(fā)生糾誤的11。abcd節(jié)點號0123110101456780001011100圖5 第8時刻幸存路徑2.卷積碼編碼器及Viterbi譯碼器的設計系統(tǒng)方案制定 2.1 方案提出 卷積碼的譯碼方式有三種:(1)1963 年由梅西(Massey)提出的門限譯碼,這是一種基于碼代數(shù)結構的代數(shù)譯碼,類似于分組碼中的大數(shù)邏輯譯碼;(2) 1963 年由費諾(Fano)改進的序列譯碼,這是基于碼的樹狀圖結構上的一種準最佳的概率譯碼;(3) 1967 年由維特比提出的 Viterbi 算法。這是基于碼的網(wǎng)(trellis)圖基礎上的一種最大似然譯碼算法,是一種最佳的概率譯碼方法12。上。由于計
19、算是用到了信道的統(tǒng)計特性.因而提高了譯碼性能,但這種性能的提高是以增加硬件的復雜度為代價的。常用的概率譯碼方法有維特比譯碼和序列譯碼。維特比譯碼具有最佳性能,但硬件實現(xiàn)復雜;門限譯碼性能最差, 但硬件簡單;序列譯碼在性能和硬件方面介于維特比譯碼和門限譯碼之間13。 2.2 方案論證 圖6是卷積碼解碼原理圖,由此圖可見,當信息位出現(xiàn)一個錯碼時,僅當它位于信息位移存器的第6、3、2和1級時,才使校正子等于“1”。因此,這時校正子序列為100111;反之,當監(jiān)督位出現(xiàn)一個錯碼時,校正子序列將為100000。由此可見,當校正子序列出現(xiàn)第一個“1”時,表示已經檢出一個錯碼。此卷積碼除了能夠糾正兩位在約束
20、長度中的隨機錯誤外,還能夠糾正部分多于兩位的錯誤。為了克服突發(fā)錯誤,可以采用更長的約束長度和在約束長度中能糾正更多錯誤的碼14。 6 5 4 3 2 1 門限電路:“1”的個數(shù)3?Y接受監(jiān)督位重算監(jiān)督位計算校正子圖6 (2,1,6)卷積碼解碼器原理方框圖2.3 方案選擇由于維特比解碼算法比較簡單,計算快,故得到廣泛應用,特別是衛(wèi)星通信和蜂窩網(wǎng)通信系統(tǒng)中應用。所以這里選擇維特比解碼。2.4 硬件實現(xiàn)定時與控制輸入與同步單元支路量度計算路徑量度的更新與存儲判決與輸出單元信息序列的更新與存儲圖7譯碼器硬件實現(xiàn)方框圖3 卷積碼編碼器及Viterbi譯碼器的設計系統(tǒng)的仿真和調試 3.1 仿真軟件介紹 M
21、atlab是英文MATrix LABoratory(矩陣實驗室)的縮寫。Matlab自1984年由MathWorks公司推向市場以來,歷經20多年的發(fā)展和競爭,現(xiàn)在風靡世界??煽康臄?shù)值計算和符號計算功能,強大的繪圖功能、簡單易學的語言體系以及為數(shù)眾多的應用工具箱是Matlab區(qū)別于其他科技應用軟件的顯著標志6。3.2 系統(tǒng)仿真實現(xiàn)3.2.1 編碼程序%header,后面的寄存器需補零 for i=1:size(G,2)/k-1 input_matrix=coder_input(i*k:-1:1),zeros(1,size(G,2)-i*k); %取輸入序列的前i*k個,其后補0 gg_out=
22、G*input_matrix'%生成矩陣和寄存器單元中的內容相乘得到輸出 for l=1:n channel_input (n*(i-1)+l)=rem(gg_out(l),2);%進行模二運算得到編碼器輸出 end end %body for i=size(G,2)/k:depth_of_input input_matrix=coder_input(k*i:-1:k*i-G_2+1); %取輸入序列的G-2個,即與寄存器個數(shù)相等 gg_out=G*input_matrix' for l=1:n channel_input(n*(i-1)+l)=rem(gg_out(l),2)
23、; %模二運算 end end %tailer,前面的寄存器需補零 for i=(G_2/k-1):-1:1 input_matrix=zeros(1,G_2-i*k),coder_input(depth_of_input*k:-1:(depth_of_input-i) *k+1);%前G_2-i*k個補0 gg_out=G*input_matrix' for l=1:n channel_input(n*(G_2/k-i-1)+l+depth_of_input*n)=rem(gg_out(l),2); %模二運算 end 3.2.2 解碼程序for j=0:step:number_of
24、_states-1; for l=0:2k-1 branch_metric=0;binary_output=deci2bin(output(j+1,l+1),n); %將理想輸出轉化為二進制 for ll=1:n %計算漢明距 branch_metric=branch_metric+metric(channel_output_matrix(ll,i),binary_output(ll); end %在AWGN信道下,最大似然估計轉化為求最小漢明距 %如果下一狀態(tài)度量距離大于當前距離加漢明距,或是下一狀態(tài)未被遍歷過則設為當前狀態(tài)下一狀態(tài)的幸存狀態(tài),當前距離加漢明距設為下一狀態(tài)的距離 if(sta
25、te_metric(nextstate(j+1,l+1)+1,2)>state_metric(j+1,1)+branch_metric)|flag(next state(j+1,l+1)+1)=0) state_metric(nextstate(j+1,l+1)+1,2)=state_metric(j+1,1)+branch_metric; %更改漢明距 survivor_state(nextstate(j+1,l+1)+1,i+1)=j; %更改幸存路徑 flag(nextstate(j+1,l+1)+1)=1; end end end %開始回溯最佳路徑,從最佳路徑中找出解碼 %st
26、ate_sequence(1x結點深度)矩陣, 1dep分別記載各個階段的路徑(即前一狀態(tài)數(shù))。1dep分別記載各個階段的路徑(即前一狀態(tài)數(shù))。 %從最佳路徑中產生解碼 %由后到前得到各級的狀態(tài) state_sequence=zeros(1,depth_of_trellis+1); state_sequence(1,depth_of_trellis)=survivor_state(1,depth_of_trellis+1); %開始回溯最佳路徑 for i=1:depth_of_trellis state_sequence(1,depth_of_trellis-i+1)=survivor_st
27、ate(state_sequence(1,depth_of_tre llis+2-i)+1),depth_of_trellis-i+2); end 3.3 卷積碼實現(xiàn) (3,1)卷積碼的仿真:隨機輸入一組序列,本仿真實驗中輸入的序列是:1 0 1 1 0 1 0 0。通過卷積編碼程序對所輸入的序列進行編碼,得到卷積碼輸出,再對這個卷積碼進行噪聲干擾,在實際通信系統(tǒng)中即相當于在空中傳輸過程中出現(xiàn)傳輸錯誤,出現(xiàn)誤碼, 譯碼器接收到錯誤的碼字進行解碼,理論上按照 Viterbi 譯碼算法可以回溯到原始的正確碼字,即正確的輸入序列?,F(xiàn)在對于編碼程序在 MATLAB 系統(tǒng)中對該實驗進行仿真,驗證譯碼是否
28、正確,以得出是否有差錯控制的功能,即卷積碼可以實現(xiàn)差錯控制7。 設置編碼器輸入端: 隨機輸入序列: coder_input=1 0 1 1 0 1 0 0 輸入(2,1)卷積碼的生成矩陣: G = 1 0 1 1 0 1 1 1 1;1 1 0 1 1 0 0 1 1;1 1 1 0 0 1 0 0 1 設置輸入端個數(shù): k=1則通過仿真得到編碼器輸出的卷積碼序列:channel_output= 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0當通信過程
29、中遇到噪聲干擾,出現(xiàn)錯碼時。例如本例中將第一位、第五位、第十位和最后一位更改。得到噪聲之后的序列,之后再將噪聲之后序列送入譯碼程序進行譯碼輸出。經過維特比譯碼之后輸出的輸出序列理論上是原始的輸入序列,若與輸入序列相同,則驗證成功。 設置譯碼器輸入端: 編碼器輸出的卷積碼序列: channel_output= 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 加了噪聲之后的序列(被送到譯碼器中進行譯碼的序列): channel_output= 0 1 1
30、0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 經過譯碼器譯碼之后的輸出序列: decoder_output = 1 0 1 1 0 1 0 0 該序列與原始的輸入序列 coder_input=1 0 1 1 0 1 0 0相同,即還原到了原始的輸入序列,達到了糾錯的目的。驗證成功8。3.4 數(shù)據(jù)分析 解碼的結果見圖8和圖9。Here is an example of how the function step works:Consider a randomly
31、generated stable Transfer Function Model:of the form G(s)=num(s)/den(s):num =0 0 -0.0376 0.0896 -0.0533den =1.0000 2.9737 2.8217 0.9142 0.0908圖8 解碼結果 圖9解碼仿真結果圖4 SIMULINK下仿真設計4.1 卷積碼的仿真圖10卷積碼的編譯譯碼框圖如上圖10的信號流程可以表示為先由Bernoulli Binary Generater(貝努利二進制序列產生器)產生一個0,1等概序列,經過Convolutional Ecoder(卷積編碼器)對輸入的二進
32、制序列進行卷積編碼,并用BPSK解調制后送人Viterbi Dcoder(viterbi譯碼器)進行硬判決譯碼。最后經過Error Rate Caculation(誤碼統(tǒng)計)后由Display(顯示輸出)。然后通過Selector(數(shù)據(jù)選通器)將結果輸出到To workspace(工作區(qū)間)。4.2 SIMULINK模塊仿真參數(shù)設置及意義在建立如果10所示的仿真模塊后,對各個模塊分別一一進行設置后并運行仿真圖11貝努利二進制序列產生器模塊的設置框圖如上圖11是貝努利二進制序列產生器模塊的設置框圖,其中參數(shù)有三項:第一項probability of a zero取值為0.5,表示0和1出現(xiàn)的概率
33、相等。Initial seed表示隨機種子數(shù),不同的隨機種子數(shù)將產生不同的二進制序列,特定的隨機種子數(shù)可以產生特定的二進制序列,Sample time=0.0001表示抽樣時間。也就是說輸出序列中每個二進制符號的持續(xù)時間是0.0001秒。Samples per frame表示每幀的抽樣數(shù)用來確定每幀的抽樣點的數(shù)目。Output date type是用來確定每幀的輸出格式。圖12卷積編碼器模塊的設置框圖如上圖12所示是卷積碼編碼器模塊的設置框圖。其中,Trellis structure(Trellis結構)中通過poly2trellis()函數(shù)把卷積碼的約束長度,生成多項式以及反饋多項式轉換成T
34、rellis結構中的形式。圖13 BPSK調制器模塊的設置框圖如上圖13是BPSK調制器模塊的設置框圖。Phase offset(rad)(相位偏移),這里設置為0。圖14誤比特統(tǒng)計模塊的設置框圖如上圖所示是誤比特統(tǒng)計模塊的設置框圖。Receive delay表示接收延遲,意思是在通信接收端口需要對接收到的信號進行解調,解碼或解交織而帶來一定的延遲使得到達誤碼統(tǒng)計模塊接收端的信號滯后于發(fā)送端的信號21。為了補償這種延遲,這里設置為0。Computation delay表示計算延遲,在仿真過程中,有時間需要忽略最初的若干個輸入數(shù)據(jù)就通過計算延遲來實現(xiàn)。這里設置為0。Computation mod
35、e表示計算模式,幀的計算模式(Entire frame),誤碼統(tǒng)計模塊對發(fā)送端和接收端所有輸入數(shù)據(jù)進行統(tǒng)計。Output data是輸出數(shù)據(jù),這里設置為port的意思是表示把統(tǒng)計數(shù)據(jù)從端口中輸出。Workspace表示把統(tǒng)計數(shù)據(jù)輸出到工作區(qū)22。圖15數(shù)據(jù)選通器模塊的設置框圖如圖15所示是數(shù)據(jù)選通器模塊的設置框圖。Input port width表示輸入端口的個數(shù)為3。圖16卷積碼譯碼器模塊的設置框圖如上圖16所示是卷積碼譯碼器模塊的設置框圖。Decision type是指判決類型,有3種:(1)Unquantized(非量化);(2)Hard Decision(硬判決);(3)Soft De
36、cision(軟判決)。Traceback depth表示反饋深度。它的值會影響譯碼精度和解碼延遲。Operation mode是指操作模式。在Truncated模式下,解碼器在每幀數(shù)據(jù)結束的時候總會恢復到全0狀態(tài),它與卷積編碼器的on each frame復位方式相對應23。5 總結5.1 設計小結卷積碼是一種糾錯編碼,糾錯編碼己有五十幾年歷史,早在 1948 年,香農 (Shannon)在他的開創(chuàng)性論文“通信的數(shù)學理論”中,首次闡明了在有擾信道中實現(xiàn)可靠通信的方法,提出了著名的有擾信道編碼定理,奠定了糾錯碼的基石24。 以后,糾錯碼受到了越來越多的通信和數(shù)學工作者,特別是數(shù)學家的重視,使糾
37、錯碼無論在理論上還是在實際中都得到了飛速發(fā)展。 通過編寫卷積碼的編碼和解碼程序,并且用MATLAB 仿 真軟件對 TD-SCDMA 系統(tǒng)的卷積碼編解碼進行仿真,進行糾錯驗證可以看出卷積碼編譯碼對差錯控制有很大的應用。 通過對譯碼算法的仿真,可以看出,維特比譯碼器設備比較簡單,計算速度快,因而 Viterbi 譯碼器被廣泛應用于各種領域。尤其在衛(wèi)星和深空通信中得到廣泛應用,在解決碼間串擾和數(shù)據(jù)壓縮中也可應用25。5.2 收獲體會了解了卷積碼的原理及其編碼和譯碼原理,同時掌握了如何用用MATLAB對其進行仿真。卷積碼具有糾錯功能,適合于各種領域。此畢業(yè)設計對整個通信系統(tǒng)包含的編碼、傳輸和譯碼都進行
38、了設計與仿真,從這些過程中我們看到了通信系統(tǒng)的基本工作原理。通過整個卷積碼系統(tǒng)的設計與仿真,使我們加深了對卷積碼的理解,掌握維特比譯碼的基本思路,知道如何進行誤碼率分析從而選者合適的信道傳輸信號,更重要的是學會了使用Matlab作為學習工具來對我們的通信系統(tǒng)進行設計和仿真等操作,這對我們以后的學習和工作有著重要意義26。5.3 展望現(xiàn)代通信中,隨著信號序列的傳輸速率的不斷提高,要求卷積碼譯碼的速度也要不斷提高,Viterbi 譯碼由于充分利用信號序列統(tǒng)計概率的特性而具有最佳性能。信道編碼的應用領域主要包括深空通信、衛(wèi)星通信、數(shù)據(jù)傳輸、移動通信、文件傳輸和數(shù)字音頻/視頻傳輸?shù)?。卷積編碼作為信道編
39、碼方式中最重要一種,被廣泛使用于衛(wèi)星通信、無人機測控、深空通信、移動通信、水聲通信等數(shù)字通信系統(tǒng),甚至被采納到某些無線通信的標準之中,如 GSM、IS.95 和 CDMA2000 的標準。在衛(wèi)星通信中,碼率為 1/2 和 1/3 的卷積碼己經成為商業(yè)衛(wèi)星通信系統(tǒng)中的標準編碼方法。在無人機測控中,與傳統(tǒng)的信道改善控制指令傳輸誤碼的方式比較,利用卷積碼對無人機遙控信道進行編碼,在一定信道條件下,其控制指令傳輸誤碼有明顯下降。在碼速率不增加的條件下,無人機系統(tǒng)控制指令傳輸可靠性得到明顯改善27。參考文獻:1. 曹沛先.卷積碼的編碼及其 Viterbi 譯碼的計算機模擬J. 無線電工 程,1994,2
40、4(8): 24-28. 2. 張普珩.Viterbi 譯碼算法的研究與實現(xiàn)D.湖南:國防科學技術大學研究生院, 2008.3. 孟夏, 申敏, 王飛.TD-SCDMA 中(2,1,9)卷積編碼及其 VITERBI 譯碼算法的 S IMULINK S-FUNCTION 實現(xiàn)J.通信技術,2008,41(8):26-30. 4. 張傳達 , 李小文 . 卷積碼編碼及其 Viterbi 譯碼的實現(xiàn)J. 無線電工 程,2006,36(7):45-47.5.通信原理(第六版)樊昌信,曹麗娜編著國防工業(yè)出版社;6.MATLAB程序設計與應用(第二版)劉衛(wèi)國主編高等教育出版社7.徐莉, 羅新民, 徐燕紅.
41、卷積碼的 MATLAB 仿真及其性能研究J.現(xiàn)代電子技術,2006,64(11):64-66. 8.肖學云,信道編碼的研究及其在 TD-SCDMA 中的應用與實現(xiàn)D.北京:北 京郵電大學,2006. 9. 宋鏡業(yè),信道編碼識別技術研究D.西安:西安電子科技大學,2009. Series.IRE10. 龐沁華, 吳偉陵.通信原理M.北京:北京郵電出版社,2008.11.李建東,郭梯云,鄔國揚著 移動通信第四版 出版社:西安電子科技大學出版社 2006,712 樊昌信,曹麗娜著 通信原理第六版 出版社:國防工業(yè)出版社2011,113 劉衛(wèi)國主編 MATLAB程序設計與應用第二版 出版社:高等教育出
42、版社2011,114 張輝,曹麗娜編著 現(xiàn)代通信原理與技術 出版社:西安電子科技大學出版社 200215 曹志剛,錢亞生著 現(xiàn)代通信原理 出版社:清華大學出版社 199216 王興亮,達新宇著 數(shù)字通信原理與技術第二版 出版社:西安電子科技大學出版社 200417 桑林,郝建軍,劉丹譜著 數(shù)字通信 出版社:北京郵電大學出版社18 曹興雯,劉乃安,陳健等著 高頻電路原理與分析 出版社:西安電子科技大學出版社 200119 張圣勤著 MATLAB7.0實用教材 出版社:機械工業(yè)出版社 200620 鄧華著 MATLAB通信仿真及應用實例詳解 出版社:人民郵電出版社 200321 C.E.Shann
43、on.A Mathematic Theory of Communications.Bell syst,Tech.J.1948,Vol 27.22 D.J.Costello,J.Hagenauer&H.Imai.Applications of Error-Control Coding,IEEE Trans.On Information Theory,1998,Vol 44.23 M.J.Golay.Complementary Series.IRE Trans.Info.Theory.Vol.IT-7,pp82-87,1981. 24V.D.Goppa.ANewClassofLinearE
44、rror-correctingCodes.Probl,Inform,Trans,1990.vol.6.pp207-212. 附錄1 編碼程序%header,后面的寄存器需補零 for i=1:size(G,2)/k-1 input_matrix=coder_input(i*k:-1:1),zeros(1,size(G,2)-i*k); %取輸入序列的前i*k個,其后補0 gg_out=G*input_matrix'%生成矩陣和寄存器單元中的內容相乘得到輸出 for l=1:n channel_input (n*(i-1)+l)=rem(gg_out(l),2);%進行模二運算得到編碼器輸出 end end %body for i=size(G,2)/k:depth_of_input input_matrix=coder_input(k*i:-1:k*i-G_2+1); %取輸入序列的G-2個,即與寄存器個數(shù)相等 gg_out=G*input_matrix' for l=1:n channel_input(n*(i-1)+l)=rem(gg_out(l),2); %模二運算 end end %tailer,前面的寄存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度出借資產處置與清算服務協(xié)議4篇
- 二零二五年度某局基礎設施建設項目勞務分包結算監(jiān)督合同3篇
- 個人貸款中介服務標準合同模板(2024年版)版B版
- 北京初二下期末數(shù)學試卷
- 2025年度高科技車間承包項目合作協(xié)議4篇
- 7《生命最寶貴》第一課時(說課稿)2023-2024學年統(tǒng)編版道德與法治三年級上冊
- 二零二五年度BIM模型信息提取與分析技術服務合同3篇
- 《11 我們的課余生活》(說課稿)-2023-2024學年三年級下冊綜合實踐活動長春版
- 四年級數(shù)學(小數(shù)加減運算)計算題專項練習與答案
- 二零二五年度高端家具定制物流承運合同3篇
- 2024年上海核工程研究設計院股份有限公司招聘筆試沖刺題(帶答案解析)
- 眼的解剖結構與生理功能課件
- 2024年銀行考試-興業(yè)銀行筆試參考題庫含答案
- 泵站運行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學校中考一模數(shù)學試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術標準》
- 浙教版七年級下冊科學全冊課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計算公式測量方法
- DB32-T 4004-2021水質 17種全氟化合物的測定 高效液相色譜串聯(lián)質譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術規(guī)范
評論
0/150
提交評論