有無(wú)卷積碼的BPSK調(diào)制性能對(duì)比_第1頁(yè)
有無(wú)卷積碼的BPSK調(diào)制性能對(duì)比_第2頁(yè)
有無(wú)卷積碼的BPSK調(diào)制性能對(duì)比_第3頁(yè)
有無(wú)卷積碼的BPSK調(diào)制性能對(duì)比_第4頁(yè)
有無(wú)卷積碼的BPSK調(diào)制性能對(duì)比_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、一、 卷積碼原理FEC系統(tǒng)中除了應(yīng)用分組碼外,還廣泛使用卷積碼(Convolutional Code)。在同等碼率和相似的糾錯(cuò)能力下,卷積碼的實(shí)現(xiàn)往往比分組碼要簡(jiǎn)單。因此在FEC系統(tǒng)中,將越來(lái)越多地應(yīng)用卷積碼。卷積碼是P.Elias于1955年發(fā)明的一種分組碼。分組碼在編碼時(shí),先將輸入信息碼元序列分為長(zhǎng)度為k的段,然后按照編碼規(guī)則,給每段附加上r位監(jiān)督碼元,構(gòu)成長(zhǎng)度為n的碼組。各個(gè)碼組之間沒(méi)有約束關(guān)系,即監(jiān)督碼元只監(jiān)督本碼組的碼元有無(wú)錯(cuò)碼。因此在解碼時(shí)各個(gè)接收碼組也是分別獨(dú)立地進(jìn)行解碼的。卷積碼則不同。卷積碼在編碼時(shí),雖然也是把k個(gè)比特的信息段變成n個(gè)比特的碼組,但是監(jiān)督碼元不僅僅和當(dāng)前的k比

2、特信息段有關(guān),而且還同前面m=(N-1)個(gè)信息段有關(guān)。所以一個(gè)碼組中的監(jiān)督碼元監(jiān)督著N個(gè)信息段。通常將N成為碼組的約束度。一般來(lái)說(shuō),對(duì)于卷積碼,k和n的值是比較小的整數(shù)。通常將卷積碼記作做(n,k,m),其碼率為k/n。1. 卷積碼編碼器原理編碼器由3種主要元件構(gòu)成,即移存器、模2加法器和旋轉(zhuǎn)開(kāi)關(guān)。移存器共有Nk級(jí),模2加法器共有n個(gè)。每個(gè)模2加法器的輸入端數(shù)目不等,它連接到某些移存器的輸出端;模2加法器的輸出端接到旋轉(zhuǎn)開(kāi)關(guān)上。在每個(gè)時(shí)隙中,一次有k個(gè)比特從左端進(jìn)入移存器,并且移存器各級(jí)暫存的內(nèi)容向右移了k位。在此時(shí)隙中,旋轉(zhuǎn)開(kāi)關(guān)旋轉(zhuǎn)一周,輸出n個(gè)比特(n>k)。下面我們討論實(shí)用中最常用

3、的卷積碼,其k=1。這時(shí),移存器共有N級(jí)。每個(gè)時(shí)隙中,只有1比特的輸入信息進(jìn)入移存器并且,移存器各級(jí)暫存的內(nèi)容向右移1位,開(kāi)關(guān)旋轉(zhuǎn)一周輸出n比特。所以,碼率為1/n。在右圖中給出一個(gè)這種編碼器的實(shí)例,它是一個(gè)(n,k,m)=(3,2,1)卷積碼的編碼器,其碼率等譯1/3。我們將以它為例,做較詳細(xì)的討論。每當(dāng)輸入1比特時(shí),此編碼器,輸出3比特𝑐1𝑐2𝑐3,輸入和輸出關(guān)系如下:𝑐1=𝑏1 𝑐2=𝑏1𝑏3 𝑐3=𝑏1𝑏2

4、19887;3式中,𝑏1是當(dāng)前輸入信息位,𝑏2和𝑏3是移存器存儲(chǔ)的前兩個(gè)信息位。在輸出中信息位在前,后接監(jiān)督位,故這種碼也是系統(tǒng)碼。設(shè)編碼器初始狀態(tài)的𝑏1、𝑏2、和𝑏3是000,輸入的信息位是1101,則此編碼器的工作狀態(tài)變化如下表所示: 移存器后,使移存器回到初始狀態(tài),在表中信息位后面加了3個(gè)“0”。此外,由于𝑏3𝑏2只有4個(gè)狀態(tài):00,01,10,11,因此在表中,用a、b、c和d表示這4種狀態(tài)。2.卷積碼譯碼卷積碼的譯碼通常有如下幾個(gè)比較流行的譯碼算法: 由Wo

5、zencraft和Reiffen在1961年提出, Fano和Jelinek分別在1963年和1969年進(jìn)行改進(jìn)了的序貫譯碼算法。該算法是基于碼字樹(shù)圖結(jié)構(gòu)的一種次最優(yōu)概率譯碼算法。 由Massey在1963年提出的門(mén)限譯碼算法。這個(gè)算法利用碼字的代數(shù)結(jié)構(gòu)進(jìn)行代數(shù)譯碼。由Viterbi在1967年提出的Viterbi算法。算法是基于碼字格圖結(jié)構(gòu)的一種最大似然譯碼算法,是一種最優(yōu)譯碼算法。 在Viterbi譯碼算法提出之后,卷積碼在通信系統(tǒng)中得到了極為廣泛的應(yīng)用。如GSM、3G、商業(yè)衛(wèi)星通信系統(tǒng)等。3. Viterbi譯碼對(duì)于網(wǎng)格圖描述Viterbi 算法,整個(gè)Viterbi 譯碼算法可以簡(jiǎn)單概括

6、為“相加比較保留”,譯碼器運(yùn)行是前向的、無(wú)反饋的,實(shí)現(xiàn)過(guò)程并不復(fù)雜。分析Viterbi 算法的復(fù)雜度: (n, k, N)卷積碼的狀態(tài)數(shù)為2k (N1) ,對(duì)每一時(shí)刻要做2k (N1) 次“加比存”操作,每一操作包括2k 次加法和2k 1 次比較,同時(shí)要保留2k (N1)條幸存路徑。由此可見(jiàn),Viterbi 算法的復(fù)雜度與信道質(zhì)量無(wú)關(guān),其計(jì)算量和存儲(chǔ)量都隨約束長(zhǎng)度N 和信息元分組k 呈指數(shù)增長(zhǎng)。因此,在約束長(zhǎng)度和信息元分組較大時(shí)并不適用。為了充分利用信道信息,提高卷積碼譯碼的可靠性,可以采用軟判決Viterbi 譯碼算法。此時(shí)解調(diào)器不進(jìn)行判決而是直接輸出模擬量,或是將解調(diào)器輸出波形進(jìn)行多電平量

7、化而不是簡(jiǎn)單的 0、1 兩電平量化,然后送往譯碼器。即編碼信道的輸出是沒(méi)有經(jīng)過(guò)判決的“信息”。軟判決算法與硬判決算法相比,軟判決譯碼算法的路徑度量采用“軟距離”而不是漢明距離。最常采用的是歐幾里德距離,也就是接收波形與可能的發(fā)送波形之間的幾何距離。在采用軟距離的情況下,路徑度量的值是模擬量,需要經(jīng)過(guò)一些處理以便于相加和比較。因此,使計(jì)算復(fù)雜度有所提高。除了路徑度量以外,軟判決算法與硬判決算法在結(jié)構(gòu)和過(guò)程上完全相同。一般而言,由于硬判決譯碼的判決過(guò)程損失了信道信息,軟判決譯碼比硬判決譯碼性能上要好約2 dB 。不管采用軟判決還是硬判決,由于Viterbi 算法是基于序列的譯碼,其譯碼錯(cuò)誤往往具有

8、突發(fā)性。viterbi譯碼算法是一種卷積碼的解碼算法。優(yōu)點(diǎn)不說(shuō)了。缺點(diǎn)就是隨著約束長(zhǎng)度的增加算法的復(fù)雜度增加很快。約束長(zhǎng)度N為7時(shí)要比較的路徑就有64條,為8時(shí)路徑變?yōu)?28條。 (2<<(N-1)。所以viterbi譯碼一般應(yīng)用在約束長(zhǎng)度小于10的場(chǎng)合中。先說(shuō)編碼(舉例約束長(zhǎng)度為7):編碼器7個(gè)延遲器的狀態(tài)(0,1)組成了整個(gè)編碼器的64個(gè)狀態(tài)。每個(gè)狀態(tài)在編碼器輸入0或1時(shí),會(huì)跳轉(zhuǎn)到另一個(gè)之中。比如110100輸入1時(shí),變成101001(其實(shí)就是移位寄存器)。并且輸出也是隨之而改變的。這樣解碼的過(guò)程就是逆過(guò)程。算法規(guī)定t時(shí)刻收到的數(shù)據(jù)都要進(jìn)行64次比較,就是64個(gè)狀態(tài)每條路有兩條

9、分支(因?yàn)檩斎?或1),同時(shí),跳傳到不同的兩個(gè)狀態(tài)中去,將兩條相應(yīng)的輸出和實(shí)際接收到的輸出比較,量度值大的拋棄(也就是比較結(jié)果相差大的),留下來(lái)的就叫做幸存路徑,將幸存路徑加上上一時(shí)刻幸存路徑的量度然后保存,這樣64條幸存路徑就增加了一步。在譯碼結(jié)束的時(shí)候,從64條幸存路徑中選出一條量度最小的,反推出這條幸存路徑(叫做回溯),得出相應(yīng)的譯碼輸出。二、 程序仿真Matlab提供了卷積碼的函數(shù)編碼convenc和相應(yīng)的Viterbi譯碼函數(shù)vitdec,可以快速地得到編譯碼結(jié)果。卷積碼的編碼函數(shù)主要有以下4個(gè)。1. code=convenc(msg,trellis)完成輸入信號(hào)msg的卷積編碼,其

10、中trellis代表編碼多項(xiàng)式,但其必須是MATLAB的網(wǎng)格結(jié)果,需要利用poly2trellis函數(shù)將多項(xiàng)式轉(zhuǎn)化為網(wǎng)格表達(dá)式。msg的比特?cái)?shù)必須為log2(trellis.numInputSymbols)2. code=convenc(msg,trellis,puncpat)作用與1類似,其中puncpat定義鑿孔模式。3. code=convenc(msg,trellis,init_state)init_state指定編碼寄存器的初始狀態(tài)。4. decoded=vitdec(code,trellis,tblen,opmode,dectype)對(duì)碼字code進(jìn)行Viterbi譯碼。trell

11、is表示產(chǎn)生碼字的卷積編碼器,tblen表示回溯的深度,opmode指明譯碼器的操作模式,dectype則給出譯碼器判決的類型,如軟判決和硬判決。 本程序?qū)崿F(xiàn)的功能:仿真BPSK調(diào)制在AWGN信道下分別使用卷積碼和不適用卷積碼的性能,其中,卷積碼的約束長(zhǎng)度為7,生成多項(xiàng)式為171,133,碼率為1/2,譯碼分別采用硬判決譯碼和軟判決譯碼。 程序源代碼可參考BPSK_juanji.m。(注:使用時(shí)需要修改BPSK_juanji.txt文件后綴格式,修改為BPSK_juanji.m,然后用MATLAB打開(kāi)運(yùn)行。其他程序也是如此。)仿真說(shuō)明:程序的第2-7行定義了相關(guān)參數(shù),第8行產(chǎn)生消息比特,第9-10行進(jìn)行卷積編碼并進(jìn)行BPSK調(diào)制,第13行是把調(diào)制后的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論