999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

卷積編碼及Viterbi解碼的FPGA實現及應用

2013-04-12 00:00:00何金花楊金功
現代電子技術 2013年23期

摘 要: 卷積碼在現代無線通信系統中應用十分廣泛,Viterbi譯碼是最常用的一種對卷積碼的譯碼算法。介紹了卷積編碼及Viterbi串行解碼的原理及其FPGA的實現。在保證系統性能的前提下討論了分幀式編解碼在實際系統中的應用。

關鍵字: 卷積碼; Viterbi譯碼; 誤碼率; FPGA

中圖分類號: TN919.3?34 文獻標識碼: A 文章編號: 1004?373X(2013)23?0030?03

Implementation and appliancation of convolutional encoding

and Viterbi decoding algorithm with FPGA

HE Jin?hua, YANG Jin?gong

(Shaanxi Lingyun Electronics Group Co., Ltd., Baoji 721006, China)

Abstract: Convolutional code has been widely used in modern wireless communication. Viterbi decoding is a common algorithm for convolutional code. The principle of convolutional encoding and Viterbi serial decoding are presented, along with the FPGA implementation. The application of coder and decoder by frame type in real system is discussed in the condition of good performance.

Keywords: convolutional code; viterbi decode; bit error rate; FPGA

在現代通信系統中,信道編碼技術得到了廣泛的應用。卷積碼結構簡單,硬件實現容易,同時有著較好的查錯糾錯能力,因此在無線通信中經常使用,而其解碼方式常用Viterbi譯碼。

1 卷積編碼

卷積碼(Convolutional Coding)是由PgElias于20世紀50年代提出的一種非分組碼。它實現非常簡單,將要發送的信息序列經過一個特定的線性移位寄存器,即完成了編碼。

卷積編碼常用[(n,k,m)]表示,一般[n]和[k]的值都比較小,其中[m]為編碼約束長度,它表示編碼時相應的信息比特在編碼器中停留的時間。卷積編碼是一種前后相關聯的編碼過程,編碼后的碼元和當前的[k]個比特位相關,同時也與前[m-1]個輸入比特相關,使得相互關聯的碼元達到[m×n]個。衡量卷積碼性能的兩個重要參數是碼率[kn]和約束長度。

2 卷積碼的描述方法

卷積碼的編碼描述方法有很多,工程中最常用的是寄存器網絡結構法、碼多項式法和狀態圖形表示法。

如本系統中使用的(2,1,7)卷積編碼,它的寄存器網絡結構法表示如圖1所示。

圖1 (2,1,7)卷積碼編碼框圖

離散卷積法表示如下:

設輸入信息序列為:[μ=][(μ0,μ1,μ2,…)]則對應的輸出為:[C1=(C10,C11,C12,…),C2=(C20,C21,C22,…)。]

其編碼方程為:

[C1=μ*g1C2=μ*g2C=(C1,C2)]

其中卷積運算用*表示, [g1,g2]為脈沖沖激響應。則如圖1中可以表示為:

[g1]=(1 1 1 1 0 0 1),[g2]=(1 0 1 1 0 1 1);當[μ]=(1 1 0 1 1 0 0 0 0 0)時,則有:

[C1=μ*g1=(1101100)*(1111001)C2=μ*g2=(1101100)*(1011011)C=(C1,C2)]

多項式表示如下:

[g1]=(1 1 1 1 0 0 1)=[1+x+x2+x3+x6]

[g2]=(1 0 1 1 0 1 1)=[1+x2+x3+x5+x6]

[μ]=(1 1 0 1 1 0 0 0 0 0 0)=[1+x+x3+x4]

工程上用8進制表示編碼方程為(171,133)。

3 卷積碼的譯碼

由于卷積碼自身沒有嚴格的代數結構,其譯碼過程相對復雜。目前常用的方法有兩類:

(1)代數解碼。這種解碼方式是利用編碼本身的代數結構進行解碼,但不考慮信道的統計特性;

(2)概率解碼。這一解碼方式則充分利用了信道的統計特性。目前常用的有Viterbi譯碼、最大后驗概率譯碼(MAP)以及它的改進算法Max_log_MAP等。本文采用的是Viterbi譯碼簡稱(VB)。

對于[(n,k,m)]的二進制卷積碼,編碼輸入的信息序列是獨立等概率的,比較各種條件下的概率,即似然函數[P(R|U(m)),]選擇其中概率最大的,所得就是譯碼值,它具有最小差錯概率。其中[R]是實際接收到的序列,[U(m)]是可能的發送序列。當滿足[P(R|U(m))=][maxP(R|U(m))]條件時,[U(m)]就是譯碼值。

假設加性高斯白噪聲作為系統噪聲,同時信道是無記憶性,則卷積碼的似然函數為:

[P(R|U(m))=i=1∞P(RiUi(m))=i=1∞j=1nP(rji|uji(m))]

式中:[Ri]是接收序列[R]的第[i]個分支;[Ui(m)]是特定碼字[U(m)]的第[i]個分支;[rji]是[Ri]的第[j]個碼元;[uji(m)]是[Ui(m)]的第[j]個碼元,每個分支由[n]個碼元組成。在工程實踐中通常用對最大似然函數取對數,以加法代替乘法。對數的最大似然函數定義為:

[logP(R|U(m))=i=1∞logP(Ri|Ui(m))=i=1∞j=1nlogP(Rji|Uji(m))]

當[logP(R|U(m))]的值最大時,譯碼成功。Viterbi譯碼利用了編碼網絡圖的特殊結構,降低了計算的復雜度,但它本質上仍然是最大似然譯碼。算法實際執行時,邊接收邊比較,同時去除不可能成為最大似然選擇對象的路徑,也就是說如果兩條路徑到達同一狀態,被選中的是具有最佳量度的路徑。這一路徑稱為幸存路徑,對所有狀態進行比較、選擇,拋棄不可能的路徑,從而降低了譯碼器的復雜性。譯碼從根本上說,也就是選擇具有最小距離的碼字或最大似然量度的碼字

4 卷積碼編碼的工程實現

卷積碼的編碼在工程中比較簡單,由移位寄存器和異或組成,系統中使用(2,1,7)編碼,實現原理如圖2所示。在FPGA中的仿真如圖3所示。

圖2 卷積編碼FPGA實現的頂層信號圖

圖3 卷積(2,1,7)編碼FPGA仿真圖

5 卷積碼譯碼——Viterbi譯碼的FPGA實現

Viterbi算法的基本實現方法如下:在不同時刻,按照最大似然準則將網格圖中所有的路徑進行比較,保留一條具有最大似然值的路徑(幸存路徑),同時舍棄其他路徑。每個時刻進行相同的操作,對每接收到的一段數據進行計算、比較并保存幸存路徑,最后留下的路徑就是所要求得的譯碼值。

對于卷積碼(2,1,7),其編碼的狀態數為26,所以在譯碼時,譯碼器最多需要保留26條幸存路徑,和它所對應的路徑度量值。由于是(2,1,7)編碼每個節點將引出兩條支路,但通過比較似然函數的累加值后,可以丟棄一半的路徑,使得留存下來的路徑總數保持不變。這樣在具體實現時可以開辟固定大小的存儲區,有利于硬件資源的估計。

在工程實現中采用迭代的方法,在每個時刻,對進入每個狀態的所有路徑的量度值進行比較,同時把具有最大量度值的路徑存儲下來。具體步驟如下:

(1)初始化,從時刻[t=n]起,計算每個狀態的路徑和路徑度量,并存儲。

(2)在[t+1]時刻,接收新的一組數據,將當前的路徑度量與前一時刻的度量相加,求得并保存最大度量并保存幸存路徑,刪除其余路徑

(3)當[t

由于軟判決可以對信道噪聲進行更好的估計,因此它比硬判決有著更好的譯碼性能。因此,本文Viterbi譯碼器采用軟判決算法,同時對信號采用線性(均勻)八電平量化。其FPGA的實現圖如圖4所示。

圖4 Viterbi譯碼的FPGA實現硬件頂層圖

6 系統應用

在一般的通信系統中卷積編碼和Viterbi譯碼可以是連續的,但在實際系統的應用中由于系統采用PCM分幀的模式傳送,因此卷積碼編碼和Viterbi譯碼也相應改成按幀傳送模式。由于卷積碼的編碼是數據前后相關的一種編碼模式,在按幀發送后設編碼和解碼的初始狀態均為0,如(2,1,7)編碼舉例,從編碼的原理圖2中可以清楚的看到,在相同的信道狀態和傳輸數據一定的條件下,每一幀都將影響最后6 b數據解碼的正確性。為此可以有兩種解決方式:

(1)為每幀數據添加固定的6 b數據,這種做法增加了系統的數據冗余;

(2)編碼端不做任何處理,影響系統的誤碼率。

考慮到系統性能,由于系統傳輸能力還有剩余因此采用第一種處理方法。同時加入6 b數據全部為0,這樣不僅解決了數據誤碼率的問題同時保持了解碼初始狀態的一致性,使解碼能更好的同步,有效地提高解碼的正確性。

分幀式卷積編碼及Viterbi解碼的FPGA實現的聯合仿真如圖5所示。

分幀式傳輸對系統的影響如圖6所示。

圖5 分幀式卷積編碼和Viterbi解碼的聯合仿真

圖6 分幀式傳輸對系統的影響

7 結 論

在實際通信系統中,通過測量比較,分幀式編解碼和連續編解碼相比,在信道傳輸中對系統影響不大,在某些情況下分幀式編解碼甚至會優于連續編解碼。

參考文獻

[1] 王新梅,肖國鎮.糾錯碼原理與方法[M].西安:西安電子科技大學出版社,2009.

[2] 袁東風,張海霞.編碼調制技術原理及應用[M].北京:清華大學出版社,2006.

[3] SKLAR Bernard.數字通信:基礎與應用[M].徐平平,宋鐵成,葉芝慧,等譯.北京:電子工業出版社,2002.

[4] 陳宗杰,左孝虎.糾錯編碼技術[M].北京:人民郵電出版社,1987.

[5] 黃賡,唐小明,李洪高.S模式應答信號多通道接收解碼技術研究[J].現代電子技術,2012,35(23):6?9.

[6] 肖娟,劉倩,徐震.基于FPGA的移動通信中卷積碼編碼器設計[J].現代電子技術,2012,35(5):65?67.

作者簡介:何金花 女,1981年出生,廈門大學碩士研究生畢業,現為陜西凌云電器集團公司工程師。主要研究方向為無線電通信與導航 。

楊金功 男,1981年出生,西安電子科技大學工程碩士,現為陜西凌云電器集團公司工程師。主要研究方向為無線電通信與導航。

主站蜘蛛池模板: 狠狠色综合网| 欧美一道本| 成人国产一区二区三区| 无码免费视频| 亚洲综合激情另类专区| 99久久精品视香蕉蕉| 亚洲天堂2014| 在线无码av一区二区三区| 亚洲精品少妇熟女| 国产精品私拍在线爆乳| 久久精品女人天堂aaa| 国产欧美日韩91| 五月天久久综合| 无码国内精品人妻少妇蜜桃视频| 毛片免费高清免费| 国产裸舞福利在线视频合集| 伊人激情综合网| 国产本道久久一区二区三区| 国产精品自拍合集| 亚洲欧州色色免费AV| 性欧美在线| 国产精品hd在线播放| 亚洲日产2021三区在线| 成人欧美在线观看| 欧美日韩福利| 国产人妖视频一区在线观看| 国内精品自在自线视频香蕉| 色综合久久综合网| 欧美人与性动交a欧美精品| 国产一级毛片高清完整视频版| 日本精品一在线观看视频| 国产一区二区丝袜高跟鞋| 久久国产av麻豆| 亚洲日韩精品伊甸| 在线va视频| 国产日韩AV高潮在线| 热99re99首页精品亚洲五月天| 亚洲日韩精品欧美中文字幕| 午夜国产理论| 国产精品久久久久久影院| 国产成人综合日韩精品无码首页| 中文字幕亚洲精品2页| 成人毛片免费观看| 国产午夜人做人免费视频中文| 亚洲天堂视频网站| 日韩在线第三页| 日韩高清一区 | 国产亚洲视频在线观看| 免费在线国产一区二区三区精品| 91精品啪在线观看国产| 国产精品无码久久久久久| 青青久视频| 国产精品美女在线| 亚洲天堂网在线视频| 午夜福利视频一区| 亚洲精品无码AⅤ片青青在线观看| 国产精品va免费视频| 久久男人资源站| 亚洲无线观看| 美女国内精品自产拍在线播放 | 亚洲人成网18禁| 国产微拍精品| 青青青亚洲精品国产| 精品久久国产综合精麻豆| 国产精品亚洲日韩AⅤ在线观看| 老司机午夜精品视频你懂的| 91在线激情在线观看| 精品久久国产综合精麻豆| 亚洲综合色区在线播放2019| 国产一级在线播放| 欧美视频在线观看第一页| 成年网址网站在线观看| 亚洲国产欧洲精品路线久久| 又爽又黄又无遮挡网站| 三上悠亚精品二区在线观看| 国产超碰一区二区三区| 亚洲精品视频网| 亚洲成人播放| 欧美亚洲国产精品久久蜜芽| 亚洲精品国产成人7777| 亚洲天堂久久久| 视频二区亚洲精品|