




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業論文(設計)題目:卷積碼編碼器及Viterbi 譯碼器的設計學生姓名: 琳學 號:所在系別:電氣信息工程學院專業名稱:通信工程屆 次:指導教師:目 錄前言 11卷積碼 21.1卷積碼基本概念 21.2卷積碼的編碼 31.3卷積碼的譯碼 31.4 卷積碼的Viterbi譯碼 42. 卷積碼編碼器及Viterbi譯碼器的設計系統方案制定 72.1方案提出 72.2方案論證 72.3方案選擇 92.4硬件實現 93. 卷積碼編碼器及Viterbi譯碼器的設計系統的仿真和調試 93.1仿真軟件介紹 93.2系統仿真實現 93.3卷積碼實現 113.4數據分析 134 SlMULINK下仿真設計 1
2、44.1卷積碼的仿真 144.2 SIMULINK模塊仿真參數設置及意義 155總結 195.1設計小結 195.2收獲體會 195.3展望 206參考文獻: 20淮南師范學院2013屆本科畢業論文卷積碼編碼器及Viterbi譯碼器的設計學生:陳琳(指導老師:王千春)(淮南師范學院電氣信息工程學院)摘要:本畢業設計主要解決對一個卷積碼序列進行維特比(Viterbi)譯碼輸出,并通過MatIab軟件進行設計與仿真,并進行誤碼率分析。在畢業設計中,系統開發平 臺為 Windows ViSta UItimate ,程序設計與仿真均采用 MatIab R2007a(7.4),最 后仿真詳單與理論分析一
3、致。關鍵詞:畢業論文;卷積碼譯碼器;MatIab ;設計與仿真DeSign of the Viterbi Convolutional Code EnCOder and DeCOderStudent: Chen Lin (Instructor:WANG qian chun)(EIeCtriCaI and in formatio n engin eeri ng college of com muni Cati On engin eeri ngAbStraCt : ThiS COUrSe design mainly resolves to a COnVOIUtiOnal code SeqUence
4、for ViterbiViterbi decodi ng output, and through the MatIab SOftWare to Carry on the desig n and SimUIatiOn, and analysis of bit error rate. In CUrriCUIUm design, SyStem development platform for Windows ViSta Ultimate, PrOgram design and SimUIatiO n USing MatIab R2007a (7.4), and fin ally the SimUIa
5、tiO n list is con SiSte nt With theoretical an alysis.Key words : graduation thesis; ConvoIUtional code decoder; Matlab; DeSign and SimUIation本畢業設計主要解決對一個卷積碼序列進行維特比(Viterbi)譯碼輸出,并通過Matlab軟件進行設計與仿真。卷積碼的譯碼有兩種方法一一軟判決和硬判決,此畢業設計采用硬判決的維特比譯碼。隨著現代通信的發展,高速信息傳輸和高可靠性傳輸成為信息傳輸的兩個主要方面,而可靠性尤其重要。卷積碼以其高速性和可靠性在實際應用中越
6、來越廣泛。1967年Viterbi譯碼算法的提出,使卷積碼成為信道編碼中最重要的編碼方式之一。在對卷積碼的研究中,其中編碼器較簡單,模式也很統一。主要是研究提高卷積碼 1卷積碼編譯器及Viterbi譯碼器的設計的譯碼速度和可靠度。譯碼算法中最重要的卷積碼的 Viterbi算法問世以來,軟件仿真和 實現都得到了迅速發展。目前,利用計算機仿真Viterbi算法,模擬在各種不同情況下(使 用不同碼率、不同約束度等)卷積編碼時的譯碼性能,尋找Viterbi算法的最佳適用信道 和不同要求(如誤碼率)下最優編碼。在卷積碼中,因為 Viterbi算法效率高,速度快,結 構相對簡單等特點,被廣泛應用于各種數據
7、傳輸系統。特別是深空通信、衛星通信系統 中。在現代信息處理系統中,需要處理的信息量越來越大,實時性要求越來越高。為減 少對主處理器各種資源的占用,要求通信模塊方面的大部分工作能獨立完成。因此采用 Viterbi譯碼算法具有非常現實的意義。由于卷積碼的優良特性,被廣泛的應用于深邃通信,衛星通信和2G及3G移動通信中,卷積碼有三種譯碼方法:門限譯碼,概率譯碼和Viterbi算法,其中Viterbi算法是一種基于網格圖的最大似然譯碼算法,是卷積碼的最佳譯碼方式,具有效率高、速度 快等優點。Viterbi譯碼充分發揮了卷積碼的特點,使譯碼錯誤概率達到最小,在碼的約 束度教小時,它有譯碼算法效率高,速度
8、快,譯碼也簡單的特點3。這次畢業設計研究卷積碼的編碼方法和解碼方式。編寫卷積碼的編碼和解碼程序。 掌握卷積碼編碼及 Viterbi譯碼的基本原理。分析卷積碼編碼及 Viterbi譯碼的關鍵技術。 對卷積碼編碼器及Viterbi譯碼器進行設計。用卷積碼編碼器及 Viterbi譯碼器進行仿真, 并進行性能分析。理解卷積碼的編碼和解碼原理和過程,會通過編碼和解碼程序對一些 卷積碼進行仿真。對卷積碼編碼器及 Viterbi譯碼器進行仿真驗證,并分析性能。盡可 能對系統進行優化。能運用 MATLA軟件進行仿真4。1卷積碼1.1卷積碼基本概念卷積碼是一種性能優越的信道編碼。(n ,k ,N) 表示把k個信
9、息比特編成n個比 特,N為編碼約束長度,說明編碼過程中互相約束的碼段個數。卷積碼編碼后的n個碼元不僅與當前組的k個信息比特有關,而且與前N - 1 個輸入組的信息比特有關。編 碼過程中相互關聯的碼元有 N × n個。R = k/ n 是卷積碼 的碼率,碼率和約束長度是 衡量卷積碼的兩個重要參數。卷積碼的編碼描述方式有很多種:沖激響應描述法、生成矩陣描述法、多項式乘積描述法、狀態圖描述,樹圖描述,網格圖描述等。卷積碼的 1淮南師范學院2013屆本科畢業論文糾錯能力隨著N的增加而增大,而差錯率隨著 N的增加而指數下降。在編碼器復雜性 相同的情況下,卷積碼的性能優于分組碼。分組碼的譯碼算法
10、可以由其代數特性得到。卷積碼雖然可以采用適用于分組碼的門限譯碼 (即大數邏輯譯碼),但性能不如維特比譯 碼和序列譯碼。1.2卷積碼的編碼輸入bMiMMbb i圖1 一種卷積碼編碼器方框圖編碼輸出圖1卷積碼的編碼器一般都比較簡單。下圖1是一般情況下的卷積碼編碼器框圖。它包括:一個由N段組成的輸入移位寄存器,每段有k級,共Nk位寄存器;一組n 個模2和相加器;一個由n級組成的輸出移位寄存器。對應于每段k個比特的輸入序列,輸出n個比特。由圖可知,n個輸出比特不但與當前k個比特的輸入比特有關, 而且與以前的(N-1) k個輸入信息有關。整個編碼過程可以看成是輸入信息序列與由 移位寄存器和模2加法器的連
11、接方式所決定的另一個序列的卷積,卷積碼由此得名。1.3卷積碼的譯碼卷積碼的譯碼方式有三種:(1)1963年由梅西(MaSSey)提出的門限譯碼,這 是一 種基于碼代數結構的代數譯碼,類似于分組碼中的大數邏輯譯碼;(2) 1963 年由費諾(Fano)改進的序列譯碼, 這是基于碼的樹狀圖結構上的一種準最佳的概率譯碼;(3)1967年由維特比提出的Viterbi 算法。這是基于碼的網(trellis)圖基礎上的一種最3卷積碼編譯器及Viterbi譯碼器的設計大似然譯碼算法,是一種最佳的概率譯碼方法。其中,代數譯碼,利用編碼本身的代數結構進行譯碼,不考慮信道本身的統計特性。該方法的硬件實現簡單,但性
12、能較差, 其中具有典型意義的是門限譯碼。另一類是概率譯碼,這種譯碼通常建立在最大似然準 則的基礎上。由于計算是用到了信道的統計特性因而提高了譯碼性能,但這種性能的提高是以增加硬件的復雜度為代價的。常用的概率譯碼方法有維特比譯碼和序列譯碼。 維特比譯碼具有最佳性能,但硬件實現復雜;門限譯碼性能最差,但硬件簡單;序列譯碼 在性能和硬件方面介于維特比譯碼和門限譯碼之間。1.4卷積碼的Viterbi譯碼卷積碼概率譯碼的基本思路是 :以接收碼流為基礎,逐個計算它與其他所有可能出現的、連續的網格圖路徑的距離,選出其中可能性最大的一條作為譯碼估值輸出。概率最大在大多數場合可解釋 為距離最小,這種最小距離譯碼
13、體現的正是最大似然的準則。卷積碼的最大似然譯碼與分組碼的最大似然譯碼在原理上是一樣的,但實現方法上略有不同。主要區別在于:分組碼是孤立地求解單個碼組的相似度,而卷積碼是求碼字序列之間的相似度。基于網格圖搜索的譯碼是實現最大似然判決的 重要方法和途徑。用格圖描述時,由于路徑的匯聚消除了樹狀圖中的多余度,譯碼過程中只需考慮 整個路徑集合中那些使似然函數最大的路徑。如果在某一點上發現某條路徑已不可能獲得最大對數 似然函數,就放棄這條路徑,然后在剩下的幸存”路徑中重新選擇路徑。這樣一直進行到最后第L級(L為發送序列的長度)。由于這種方法較早地丟棄了那些不可能的路徑I7】。1.4.1維特比譯碼原理采用概
14、率譯碼的基本思想是:把已接收序列與所有可能的發送序列做比較,選擇其 中碼距最小的一個序列作為發送序列。如果發送L組信息比特,那么對于(n,k)卷積碼來說,可能發送的序列有 2kL個,計算機或譯碼器需存儲這些序列并進行比較,以找到 碼距最小的那個序列。當傳信率和信息組數L較大時,使得譯碼器難以實現。維特比算法則對上述概率譯碼做了簡化,以至成為了一種實用化的概率算法。它并不是在網格圖 上一次比較所有可能的2kL條路徑(序列),而是接收一段,計算和比較一段,選擇一段 最大似然可能的碼段,從而達到整個碼序列是一個最大似然值得序列。下面以圖2(a)的(2,1, 3)卷積碼編碼器所編出的碼為例,來說明維特
15、比解碼的 方法和運作過程。為了能說明解碼過程,這里給出該碼的狀態圖,如圖2(b)所輸入序列淮南師范學院2013屆本科畢業論文50001567000000000000、11、11'11'11M11111111110010101000010101 0100/10、/圖2(a) (2,1,3) 卷積碼編碼器圖2(b) (2,1,3)卷積碼狀圖示。維特比譯碼需要利用圖來說明移碼過程。根據卷積碼畫網格的方法,我們可以畫出 該碼的網格圖,如圖3所示。該圖設輸入信息數目L=5,所以畫L+N=8個時間單位,圖 中分別標以0至7。這里設編碼器從a狀態開始運作。該網格圖的每一條路徑都對應著 不同的
16、輸入信息序列。由于所有可能輸入信息序列共有2kL個,因而網格圖中所有可能的路徑也為2kL條。這里節點a=00, b=01, c=10, d=11。節點號 OI234卷積碼編譯器及Viterbi譯碼器的設計圖3 (2,1,3)卷積碼網格圖設輸入編碼器的信息序列為(11011000),則由編碼器對應輸出的序列為 Y=(Iioioioooioiiioo),編碼器的狀態轉移路線為abdcbdca。若收到的序列 R=(0101011001011100),對照網格圖來說明維特比譯碼的方法 。由于該卷積碼的約束長度為6位,因此先選擇接收序列的前 6位序列R仁(010101)同 到達第3時刻的可能的8個碼序列
17、(即8條路徑)進行比較,并計算出碼距。該例中到達 第3時刻a點的路徑序列是(000000)和(111011),他們與R1的距離分別為3和4;到達 第3時刻b點的路徑序列是(000011)和(111000),他們與RI的距離分別為3和4;到達 第3時刻C點的路徑序列是(001110)和(110101),他們與R的距離分別為4和1;到達 第3時刻d點的路徑序列是(001101)和(110110),他們與RI的距離分別為2和3。上述 每個節點都保留碼距較小的路徑作為幸存路徑,所以幸存路徑碼序列是(000000)、(000011) > (1101001)和(001101),如圖4所示。用于上面類
18、似的方法可以得到第4、5、6、7時刻的幸存路徑10。節點號 0123圖4維特比譯碼第3時刻幸存路徑111需要指出的是,對于某個節點,如果比較兩條路徑與接收序列的累計碼距值相等時, 則可以任意選者一條路徑作為幸存路徑,吃時不會影響最終的譯碼結果。在碼的終了時 刻a狀態,得到一條幸存路徑。如果5所示。由此可看到譯碼器輸出是 R =(1101010001011100),即可變換成序列(11011000),恢復了發端原始信息。比較R 和R序列,可以看到在譯碼過程中已糾正了在碼序列第1和第7位上的差錯。當然如果差錯出現太頻繁,以致超出卷積碼的糾錯能力,還是會發生糾誤的淮南師范學院2013屆本科畢業論文2
19、345678圖5第8時刻幸存路徑節點號 012.卷積碼編碼器及Viterbi譯碼器的設計系統方案制定2.1方案提出卷積碼的譯碼方式有三種:(1)1963年由梅西(MaSSey)提出的門限譯碼,這是一種基 于碼代數結構的代數譯碼,類似于分組碼中的大數邏輯譯碼;(2) 1963年由費諾(Fano)改進的序列譯碼,這是基于碼的樹狀圖結構上的一種準最佳的概率譯碼;(3) 1967年由維特比提出的Viterbi算法。這是基于碼的網(trellis)圖基礎上的一種最大似然譯碼算法,是 一種最佳的概率譯碼方法12。上。由于計算是用到了信道的統計特性因而提高了譯碼 性能,但這種性能的提高是以增加硬件的復雜度為
20、代價的。常用的概率譯碼方法有維特 比譯碼和序列譯碼。維特比譯碼具有最佳性能,但硬件實現復雜;門限譯碼性能最差,但 硬件簡單;序列譯碼在性能和硬件方面介于維特比譯碼和門限譯碼之間13。2.2方案論證圖6是卷積碼解碼原理圖,由此圖可見,當信息位出現一個錯碼時,僅當它位于 信息位移存器的第& 3、2和1級時,才使校正子等于“ 1”。因此,這時校正子序列為 100111;反之,當監督位出現一個錯碼時,校正子序列將為100000。由此可見,當校正7卷積碼編譯器及Viterbi譯碼器的設計子序列出現第一個“ 1”時,表示已經檢出一個錯碼。此卷積碼除了能夠糾正兩位在約 束長度中的隨機錯誤外,還能夠糾
21、正部分多于兩位的錯誤。為了克服突發錯誤,可以采 用更長的約束長度和在約束長度中能糾正更多錯誤的碼 14。O654321*b6b5b4b3b2bi接受監督位門限電路:“1 ”的個數 3 ?重算監督位C1計算校正子S6S5S4S3S2S11圖6 (2,1, 6)卷積碼解碼器原理方框圖淮南師范學院2013屆本科畢業論文2.3方案選擇由于維特比解碼算法比較簡單,計算快,故得到廣泛應用,特別是衛星通信和蜂窩 網通信系統中應用。所以這里選擇維特比解碼。2.4硬件實現圖7譯碼器硬件實現方框圖3卷積碼編碼器及Viterbi譯碼器的設計系統的仿真和調試3.1仿真軟件介紹MatIab 是英文 MATriX LAB
22、Oratory(矩陣實驗室)的縮寫。MatIab自1984年由MathWOrkS公司推向市場以來,歷經20多年的發展和競爭,現在風靡世界。可靠的數值 計算和符號計算功能,強大的繪圖功能、簡單易學的語言體系以及為數眾多的應用工具 箱是MatIab區別于其他科技應用軟件的顯著標志。3.2系統仿真實現3.2.1編碼程序%header后面的寄存器需補零for i=1:SiZe(G,2)k-1 in put_matrix=coder_i nput(i*k:-1:1),zeros(1,size(G,2)-i*k);%取輸入序列的前i*k個,其后補09卷積碼編譯器及Viterbi譯碼器的設計gg_out=G
23、*i nput_matrix'%生成矩陣和寄存器單元中的內容相乘得到輸出for 1=1: n Cha nnel_in PUt (n *(i-1)+l)=rem(gg_oUt(I),2);%進行模二運算得到編碼器輸出endend%bodyfor i=size(G,2)/k:depth_of_i nputin PUt_matrix=coder_i nput(k*i:-1:k*i-G_2+1);%取輸入序列的G-2個,即與寄存器個數相等gg_out=G*i nput_matrix'for l=1: n Cha nnel_in PUt (n *(i-1)+l)=rem(gg_oUt(I
24、),2);%模二運算endend%tailer,前面的寄存器需補零for i=(G_2/k-1):-1:1inPUt_matrix=zeros(1,G_2-i*k),coder_input(depth_of_input*k:-1:(depth_of_input-i) *k+1); %前G_2-i*k個補0gg_out=G*i nput_matrix'for l=1:n Channelnput(n*(G_2/k-i-1)+l+depth_of_input*n)=rem(gg_oUt(I),2);%模二運算end3.2.2解碼程序for j=0:SteP:nu mber_of_states
25、-1;for l=0Nk-1 bran Ch_metric=0;bin ary_OUtPUt=deci2b in(o utput(j+1,l+1), n);%將理想輸出轉化為二進制for ll=1: n1淮南師范學院2013屆本科畢業論文%計算漢明距bran ch_metric=bra nch_metric+metriC(Cha nn el_output_matrix(ll,i),bi nary_output(ll);end%在AWGN信道下,最大似然估計轉化為求最小漢明距%如果下一狀態度量距離大于當前距離加漢明距,或是下一狀態未被遍歷過則設為當前 狀態下一狀態的幸存狀態,當前距離加漢明距設為
26、下一狀態的距離if(state_metric (n extstate(j+1,l+1)+1,2)>state_metric(j+1,1)+bra nch_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;endendend%開始回溯最佳路徑,從最佳
27、路徑中找出解碼%state_SeqUence(1結點深度)矩陣,1dep分別記載各個階段的路徑(即前一狀態數)1dep分別記載各個階段的路徑(即前一狀態數)。%從最佳路徑中產生解碼%由后到前得到各級的狀態State_SeqUe nce=zeros(1,depth_of_trellis+1);State_SeqUe nce(1,depth_of_trellis)=SUrViVor_state(1,depth_of_trellis+1);%開始回溯最佳路徑for i=1:depth_of_trellisState_SeqUe nce(1,depth_of_trellis-i+1)=SUrViVor
28、_state(State_seque nce(1,depth_of_tre llis+2-i)+1),depth_of_trellis-i+2);end3.3卷積碼實現11卷積碼編譯器及Viterbi譯碼器的設計(3,1)卷積碼的仿真:隨機輸入一組序列,本仿真實驗中輸入的序列是:0。通過卷積編碼程序對所輸入的序列進行編碼,得到卷積碼輸出,再對這個卷積碼進 行噪聲干擾,在實際通信系統中即相當于在空中傳輸過程中出現傳輸錯誤,出現誤碼, 譯碼器接收到錯誤的碼字進行解碼,理論上按照Viterbi譯碼算法可以回溯到原始的正確碼字,即正確的輸入序列?,F在對于編碼程序在 MATLAB系統中對該實驗進行仿真,
29、 驗證譯碼是否正確,以得出是否有差錯控制的功能,即卷積碼可以實現差錯控制。設置編碼器輸入端:隨機輸入序列:codernput=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設置輸入端個數:k=1則通過仿真得到編碼器輸出的卷積碼序列:Chann el_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 11 1 0 0 0 0 0 0當通信過程中遇到
30、噪聲干擾,出現錯碼時。例如本例中將第一位、第五位、第十位 和最后一位更改。得到噪聲之后的序列,之后再將噪聲之后序列送入譯碼程序進行譯碼 輸出。經過維特比譯碼之后輸出的輸出序列理論上是原始的輸入序列,若與輸入序列相 同,則驗證成功。設置譯碼器輸入端:編碼器輸出的卷積碼序列:Cha nn el_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加了噪聲之后的序列(被送到譯碼器中進行譯碼的序列):Cha nn el_OUtPUt= 0 1 1 0
31、 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。1淮南師范學院2013屆本科畢業論文3.4數據分析解碼的結果見圖8和圖9。Here is an example Of how the fun CtiO n SteP works:COn S
32、ider a ran domly gen erated StabIe Tran Sfer Fun Cti on Model:of the form G(S)=nu m(s)de n(s):num =00-0.03760.0896-0.0533den =1.00002.97372.82170.91420.0908圖8解碼結果13卷積碼編譯器及Viterbi譯碼器的設計1'/ FigUre匚回詆EiIe Eli i Zie* InM電Yt I«ol IIeSlCtop Itiitdow HeIT) U ® B倉唸 口圖9解碼仿真結果圖4 SlMULlNK下仿真設計4.1
33、卷積碼的仿真a j CheriIiHEl T t-d Stw irula FfiLilftM比-cjIs tJ PD注口母' S Tl IfonajD"mnal1MMMU1* BlMebjBnrlRrariy淮南師范學院2013屆本科畢業論文圖10卷積碼的編譯譯碼框圖如上圖10的信號流程可以表示為先由Bernoulli Bin ary Gen erater(貝努利二進制序列產生器)產生一個0,1等概序列,經過COnvolutional ECOder (卷積編碼器)對輸入的二進 制序列進行卷積編碼,并用 BPSK解調制后送人Viterbi DCOder(Viterbi譯碼器)進
34、行硬判 決譯碼。最后經過Error Rate CaCUIatiOn(誤碼統計)后由DiSPlay(顯示輸出)。然后通過 SeIeCtOr(數據選通器)將結果輸出到To WOrkSPaCe(X作區間)。4.2 SlMULlNK模塊仿真參數設置及意義在建立如果10所示的仿真模塊后,對各個模塊分別一一進行設置后并運行仿真圖11貝努利二進制序列產生器模塊的設置框圖如上圖11是貝努利二進制序列產生器模塊的設置框圖,其中參數有三項:第一項PrObabiIity of a zero取值為0.5,表示0和1出現的概率相等。Initial Seed表示隨機種子 數,不同的隨機種子數將產生不同的二進制序列,特定的
35、隨機種子數可以產生特定的二 進制序列,SamPIe time=0.0001表示抽樣時間。也就是說輸出序列中每個二進制符號的 持續時間是0.0001秒。SamPIeS Per frame表示每幀的抽樣數用來確定每幀的抽樣點的數 目。OUtPUt date type是用來確定每幀的輸出格式。15卷積碼編譯器及Viterbi譯碼器的設計d FUnCtiOn BlOCk PJraFnete-rE!匚OnVolUtional EnCOCIerCnvcinaL Enccder (IlLaS1) (LIak)CorVOIlLltLanally erLCode hmary da,ta. USe the Pel
36、Ly2trell function to crte trellis using the constraint IerL COde geneuator (OCtal) and feedback COnneCtion CoCtal).Select the i* Temnat e t IeHlS by appending hterr operation IllOde -to teriRinate the trellis at the all-zeo State by appending tail bits st the end f each LnPUt frajne. CheCk the Punct
37、uie COie checkbox to juncture the encoded dat i for all OXher oprition modes.Use the iStrellis functicn in OTLAE to CheCl if AStmetLlre LS a VaILd trellis Structure.PaJ'ajsterTrellis strutIIre:&址,【2 缶 d岳 O;山缶 13)OPerat icn InGde: TrUIiCated CreSet evary fiame)T SPeCLfy IrLltiaI State Via inp
38、ut Part口 OUtPIIt f inl Stat ePWriCtUre CCdeOICarLCeLHelpAPPly圖12卷積編碼器模塊的設置框圖如上圖12所示是卷積碼編碼器模塊的設置框圖。其中, Trellis StrUCtUre (Trellis結構)中通過poly2trellis ()函數把卷積碼的約束長度,生成多項式以及反饋多項式轉換成Trellis結構中的形式。 FLlrrtiOn EIOCk Faremeter5: BPSK MOdUlatOr BaSebandBPS Madulator BasebandJkdulate Ihe IriPU-t SlgrLaI uing th
39、e binary phase EhIft k tying JILethCd.Main Data IyPeSPar aet erFhae OffSet (rd) : OVleWionOtCanCeIIieLPply圖13 BPSK調制器模塊的設置框圖如上圖13是BPSK調制器模塊的設置框圖。PhaSe OffSet(rad)相位偏移),這里設置為O1淮南師范學院2013屆本科畢業論文LI FUnctIOn Blo匚k ParFinerter&: ErrQr Rate CalculationError Rate CalCUlajtion (mask) (IlInk)Cojipute tke
40、 error ra+e Of the TeCeLVed data by CCITtParirg It to a (IeIayed version Of the Itansniitted data- The block OlltPUl is a three-eLenen,t vector consisting Of the ErroX ratej Tollovred ty Jthe HrulnbeU Of ezior? (IeteCte山 and e Jt Ot:al IIuJlIber Cf EyTILbol COjllPared- This VECrt Or can be sertt ,to
41、 etther the workspace Or an OlJtput POrtXThe delays are specified in InjInber Clf sanplj regardless Oi Wh&ther the inepui is a SCalar or a vector* The input to tb& , Tx3 and , Kx3 POrtS rut be scalars Or CoIUrnn VeCtOrs.Ihe 'Stop SiinlIlation' ption S1OPS the KinUIIaItion UPOn del ec
42、jtin a ,t ar get niuaber Of errors Or S IllaKinLuk tube r Of symbols, hiCheVLer canes ,flist.CeiVe delay:rrfFaraJReteLEOKCanCeIHelPply圖14誤比特統計模塊的設置框圖如上圖所示是誤比特統計模塊的設置框圖。ReCeiVedeIa y表示接收延遲,意思是在通信接收端口需要對接收到的信號進行解調,解碼或解交織而帶來一定的延遲使得到達誤碼統計模塊接收端的信號滯后于發送端的信號21。為了補償這種延遲,這里設置為0。 COmPutatiOn delay表示計算延遲,在仿真過程
43、中,有時間需要忽略最初的若干個輸入數 據就通過計算延遲來實現。這里設置為0。COmPUtatiOn mode表示計算模式,幀的計算模式(Entire frame),誤碼統計模塊對發送端和接收端所有輸入數據進行統計。OUtPUt data是輸出數據,這里設置為port的意思是表示把統計數據從端口中輸出。WOrkSPaCe表示把統計數據輸出到工作區22。17卷積碼編譯器及Viterbi譯碼器的設計1圖15數據選通器模塊的設置框圖如圖15所示是數據選通器模塊的設置框圖。InPUt port Width表示輸入端口的個數為3圖16卷積碼譯碼器模塊的設置框圖淮南師范學院2013屆本科畢業論文如上圖16所
44、示是卷積碼譯碼器模塊的設置框圖。DeCiSiOn type是指判決類型,有3種:(1)Unquantized(非量化);(2)Hard DeCiSiOn (硬判決);(3)Soft DeCiSiOn(軟判決)。TraCebaCk depth表示反饋深度。它的值會影響譯碼精度和解碼延遲。OPeratiOn mode是指操作模式。在TrunCated模式下,解碼器在每幀數據結束的時候總會恢復到全0狀態,它與卷積編碼器的On each frame復位方式相對應23。5總結5.1設計小結卷積碼是一種糾錯編碼,糾錯編碼己有五十幾年歷史,早在1948年,香農(Shannon在他的開創性論文 通信的數學理論
45、”中,首次闡明了在有擾信道中實現可靠通 信的方法,提出了著名的有擾信道編碼定理,奠定了糾錯碼的基石24。以后,糾錯碼受到了越來越多的通信和數學工作者,特別是數學家的重視,使糾錯碼無論在理論上還 是在實際中都得到了飛速發展。通過編寫卷積碼的編碼和解碼程序,并且用MATLAB仿真軟件對TD-SCDMA系統的卷積碼編解碼進行仿真,進行糾錯驗證可以看出卷積 碼編譯碼對差錯控制有很大的應用。通過對譯碼算法的仿真,可以看出,維特比譯碼器設備比較簡單,計算速度快,因而Viterbi譯碼器被廣泛應用于各種領域。尤其在衛星和深空通信中得到廣泛應用,在解決碼間串擾和數據壓縮中也可應用25。5.2收獲體會了解了卷積
46、碼的原理及其編碼和譯碼原理,同時掌握了如何用用MATLAB對其進行仿真。卷積碼具有糾錯功能,適合于各種領域。此畢業設計對整個通信系統包含的編 碼、傳輸和譯碼都進行了設計與仿真,從這些過程中我們看到了通信系統的基本工作原 理。通過整個卷積碼系統的設計與仿真,使我們加深了對卷積碼的理解,掌握維特比譯 碼的基本思路,知道如何進行誤碼率分析從而選者合適的信道傳輸信號,更重要的是學 會了使用MatIab作為學習工具來對我們的通信系統進行設計和仿真等操作,這對我們 以后的學習和工作有著重要意義26。19卷積碼編譯器及Viterbi譯碼器的設計5 3 展望現代通信中,隨著信號序列的傳輸速率的不斷提高,要求卷
47、積碼譯碼的速度也要不 斷提高,Viterbi譯碼由于充分利用信號序列統計概率的特性而具有最佳性能。 信道編碼 的應用領域主要包括深空通信、衛星通信、數據傳輸、移動通信、文件傳輸和數字音頻 /視頻傳輸等。卷積編碼作為信道編碼方式中最重要一種,被廣泛使用于衛星通信、無人 機測控、深空通信、移動通信、水聲通信等數字通信系統,甚至被采納到某些無線通信 的標準之中,女口 GSM、IS.95和CDMA2000的標準。在衛星通信中,碼率為1/2和1/3 的卷積碼己經成為商業衛星通信系統中的標準編碼方法。在無人機測控中,與傳統的信 道改善控制指令傳輸誤碼的方式比較,利用卷積碼對無人機遙控信道進行編碼,在一定
48、信道條件下,其控制指令傳輸誤碼有明顯下降。在碼速率不增加的條件下,無人機系統 控制指令傳輸可靠性得到明顯改善27。參考文獻:1 .曹沛先.卷積碼的編碼及其 Viterbi譯碼的計算機模擬J.無線電工程,1994,24(8): 24-28.2 .張普珩.Viterbi譯碼算法的研究與實現D.湖南:國防科學技術大學研究生院,2008.3 .孟夏,申敏,王飛.TD-SCDMA中(2,1,9)卷積編碼及其VlTERBl譯碼算法的 SIMULINK S-FUNCTION實現J.通信技術,2008,41(8):26-30.4 .張傳達,李小文.卷積碼編碼及其 Viterbi譯碼的實現J.無線電工 程,20
49、06,36(7):45-47.通信原理(第六版)樊昌信,曹麗娜編著國防工業出版社;6 .MATLAB程序設計與應用(第二版)劉衛國主編高等教育出版社7 .徐莉,羅新民,徐燕紅.卷積碼的 MATLAB仿真及其性能研究J.現代電子技 術,2006,64(11):64-66.8 .肖學云,信道編碼的研究及其在TD-SCDMA中的應用與實現D.北京:北京郵電大學,2006.9 .宋鏡業,信道編碼識別技術研究D.西安:西安電子科技大學,2009. SerieS.IRE10 .龐沁華,吳偉陵.通信原理M.北京:北京郵電出版社,2008.11 .李建東,郭梯云,鄔國揚著移動通信第四版 出版社:西安電子科技大
50、學出版社 2006, 71淮南師范學院2013屆本科畢業論文12 樊昌信,曹麗娜著通信原理第六版 出版社:國防工業出版社2011, 113 劉衛國主編 MATLAB程序設計與應用第二版出版社:高等教育出版社2011,114 張輝,曹麗娜編著現代通信原理與技術 出版社:西安電子科技大學出版社 200215 曹志剛,錢亞生著現代通信原理出版社:清華大學出版社 199216 王興亮,達新宇著數字通信原理與技術第二版 出版社:西安電子科技大學出版社200417 桑林,郝建軍,劉丹譜著數字通信出版社:北京郵電大學出版社18 曹興雯,劉乃安,陳健等著高頻電路原理與分析出版社:西安電子科技大學出版社2001
51、19 張圣勤著 MATLAB7.0實用教材出版社:機械工業出版社200620 鄧華著 MATLAB通信仿真及應用實例詳解出版社:人民郵電出版社 200321 CESha nnon.A MathematiC TheOry Of COmmu ni Cati On s.Bell syst,Tech.J.1948,Vl 27.22 D.J. Costello,J.Hage nauer&H.lm ai.Applicati ons of ErrOr-C on trol Cod in g,IEEE TranS.On In formation TheOry,1998,VOl 44.23 M.J .Go
52、lay.Compleme ntary SerieS.IRE Tran s.I nfo.Theory.5I.IT-7,pp82-87,1981.24 V.D.Goppa.ANewClassofLi nearError-correcti ngCodes.Probl,l nform,Tra ns,1990.vol.6.pp 207-212.21卷積碼編譯器及Viterbi譯碼器的設計附錄1編碼程序%header后面的寄存器需補零for i=1:SiZe(G,2)k-1 in put_matrix=coder_i nput(i*k:-1:1),ZerOS(1,SiZe(G,2)-i*k);%取輸入序列的前i*k個,其后補0gg_out=G*i nput_matrix'%生成矩陣和寄存器單元中的內容相乘得到輸出for 1=1: n Cha nnel_in PUt (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能硬件開發與合作協議
- 老城區污水管網改造工程可行性研究報告(模板)
- 建筑企業勞動合同書
- 固廢綜合利用示范基地項目規劃設計方案(模板范文)
- 古代漢語常用句式解析與應用教學教案
- 提升基層中醫藥服務的公眾認知與參與度
- 護理基礎與臨床護理技能考核題庫概述
- 家校社協同推動體育特色育人模式的策略
- 農民合作社資產收益協議
- 2025年應急管理專業考研試題及答案
- 2025年全國保安員職業技能上崗證考試題庫(含答案)
- 妊娠劇吐的心理護理總結
- 文學描寫辭典
- 2024年《藥事管理與法規》期末考試復習題庫(含答案)
- 2024年度中藥的性能《四氣五味》課件
- 混凝土安全晨會(班前會)
- 2025年慢性阻塞性肺疾病全球創議GOLD指南修訂解讀課件
- 農村家庭農場土地租賃合同
- 養老院應急疏散預案
- GB/T 44481-2024建筑消防設施檢測技術規范
- 校長的崗位職責(34篇)
評論
0/150
提交評論