基于VHDL語言的卷積碼編解碼器的設(shè)計
出處:juzi3030 發(fā)布于:2007-04-10 15:38:56
摘 要:卷積碼是一種性能優(yōu)良的差錯控制編碼。本文在闡述卷積 碼編解碼器基本工作原理的基礎(chǔ)上,提出了在MAX+PlusⅡ開發(fā)平臺上基于VHDL語言設(shè)計 (2,1,6)卷 積碼編解碼器的方法。仿真實驗結(jié)果表明了該編解碼器的正確性和合理性。
關(guān)鍵詞:卷積碼;編解碼器;VHDL;MAX+PlusⅡ
1引言
數(shù)字信息在有噪信道中傳輸時,會受到噪聲干擾的影響,誤碼總是不可避免的。為了在已知信噪比的情況下達(dá)到一定的誤碼率指標(biāo),在合理設(shè)計基帶信號,選擇調(diào)制、解調(diào)方式,并采用頻域均衡或時域均衡措施的基礎(chǔ)上,還應(yīng)采用差錯控制編碼等信道編碼技術(shù),使誤碼率進(jìn)一步降低。卷積碼和分組碼是差錯控制編碼的2種主要形式,在編碼器復(fù)雜度相同的情況下,卷積碼的性能優(yōu)于分組碼,因此卷積碼幾乎被應(yīng)用在所有無線通信的標(biāo)準(zhǔn)之中,如GSM ,IS95和CDMA2000的標(biāo)準(zhǔn)中。
目前,VHDL語言已成為EDA領(lǐng)域的硬件設(shè)計語言,越來越多的數(shù)字系統(tǒng)設(shè)計使用 VHDL語言來完成。原因是通過VHDL描述的硬件系統(tǒng)“軟核”便于存檔,程序模塊的移植和AS C設(shè)計源程序的交付更為方便。因此,他在IP核的應(yīng)用等方面擔(dān)任著不可或缺的角色。在某擴頻通信系統(tǒng)中,我們使用VHDL語言設(shè)計了(2,1,6)卷積碼編解碼器,并經(jīng)過了在FPGA芯片上的驗證實驗。
2卷積編碼器
卷積碼通常記作(n0,k0,m),其編碼效率為k0/n0,m稱為約束長度。(n0 ,k0,m)卷積碼可用k0個輸入、n0個輸出、輸入存儲為m的線性有限狀態(tài)移位寄存器及模2加法計數(shù)器電路來實現(xiàn),卷積碼的編碼方法有3種運算方式:離散卷積法;生成矩陣法;多項式乘積法。此外,卷積碼的編碼過程還可以用狀態(tài)圖、碼樹圖和網(wǎng)格圖來描述。本文設(shè)計的編碼器考慮到硬件電路的實現(xiàn),選擇了多項式乘積法。 本系統(tǒng)所選卷積編碼器如圖1所示,該卷積編碼器為(2,1,6)自正交卷積編碼器。
3大數(shù)邏輯解碼器
卷積碼的解碼可分為代數(shù)解碼與概率解碼2類。大數(shù)邏輯解碼器是代數(shù)解碼主要的解碼方法,他既可用于糾正隨機錯誤,又可用于糾正突發(fā)錯誤,但要求卷積碼是自正交碼或可正交碼。 本文所選(2,1,6)系統(tǒng)自正交卷積碼的大數(shù)邏輯解碼器如圖2所示。

圖2中,I端輸入信息碼元,P端輸入校驗碼元。解碼器把接收到的R(D)中的每一段信息元送入編碼器中求出本地檢驗元,與其后面收到的檢驗元模2加。若兩者一致,則求出的伴隨式分量si為0,否則為1。把加得的值送入伴隨式寄存器中寄存。當(dāng)接收完7個碼段后開始對第 0碼段糾錯,若此時大數(shù)邏輯門的輸出為1,則說明第0碼 段的信息元有錯。這時正好第0子組的信息元移至解碼器的輸出端,從而糾正他們。同時,糾錯信號也反饋至伴隨式 寄存器修正伴隨式,以消去此錯誤對伴隨式的影響。如果大數(shù)判決門沒有輸出,則說明第0子組的信息元沒有錯誤,這時從編碼器中直接把信息元輸出 。
4卷積碼編解碼器的VHDL設(shè)計
4.1VHDL設(shè)計的優(yōu)點與設(shè)計方法
與傳統(tǒng)的自底向上的設(shè)計方法不同,VHDL設(shè)計是從系統(tǒng)的總體要求出發(fā),采用自頂向下( toptodown)的設(shè)計方法。其程序結(jié)構(gòu)特點是將一項工程 設(shè)計(或稱設(shè)計實體),分成外部(即端口)和內(nèi)部(即功能、算法)。在對一個設(shè)計實體定義了外部端口后,一旦內(nèi)部開發(fā)完成,其他的設(shè)計就可以直接調(diào)用這個實體。
本設(shè)計所用VHDL設(shè)計平臺是Altera的MAX+PlusⅡ EDA軟件。MAX+PlusⅡ界面友好,使用便捷;他支持VHDL,原理圖,V語言文本文件,以及波形與EDIF等格式的文件作為設(shè)計輸入;并支持這些文件的任意混合設(shè)計;具有門級仿真器,可以進(jìn)行功能仿真和時序仿真,能夠產(chǎn)生地仿真結(jié)果;支持除APEX20K,APXⅡ,Mercury,Excalibur和Stratix系列之外的所有Altera FPGA/CPLD大規(guī)模邏輯器件。設(shè)計中采用的FPGA器件是Altera的FLEX系列芯片F(xiàn)LEX 10K20。用MAX+PlusⅡ軟件進(jìn)行VHDL設(shè)計的過程是:
(1)用Text Editor編寫VHDL程序。
(2)用Compiler編譯VHDL程序。
(3)用Waveform Editor,Simulater仿真驗證VHDL程序。
(4)用Timing Analyzer進(jìn)行芯片的時序分析。
(5)用Floorplan Editor安排芯片管腳位置。
(6)用Programer程序至芯片F(xiàn)LEX10K20。
在實際的開發(fā)過程中,以上個步驟需反復(fù)進(jìn)行,直至將既定的VHDL設(shè)計通過所有的測試為止 。
4.2卷積編碼器VHDL頂層建模(top level)及系統(tǒng) 功能仿真
4.2.1卷積編碼器各功能模塊及頂層建模端口的VHDL描述
LIBRARY IEEE;


用MAX+PlusⅡ編譯后生成的編碼器圖形符號如圖3所示。
4.2.2卷積編碼器VHDL頂層建模的VHDL仿真波形
4.3卷積解碼器VHDL頂層建模的VHDL端口描述
4.3.1卷積解碼器各功能模塊及頂層建模端口的VHDL描述
LIBRARY IEEE;


用MAX+PlusⅡ編譯后生成的解碼器圖形符號如圖5所示。
4.3.2卷積解碼器VHDL頂層建模的VHDL仿真波形
卷積解碼器VHDL仿真波形如圖6所示。其中待解碼信元datain=“11111010010000000001” ,速率為64kP/s,對應(yīng)時鐘為15.625μs。仿真結(jié)果表明,解碼信元輸出dataout =“111 1”,相應(yīng)速率為32kP/s。實際仿真還驗證了當(dāng)卷積解碼器輸入的待解碼信元中有錯碼時的糾錯情況,與理論分析結(jié)果一致。

將通過仿真的VHDL程序到FPGA芯片F(xiàn)LEX10K20上,并在實際擴頻系統(tǒng)中用于差錯控制 ,取得了較為滿意的效果。
參考文獻(xiàn):
[1]. APEX20K datasheet http://m.58mhw.cn/datasheet/APEX20K_1330793.html.
[2]. APX datasheet http://m.58mhw.cn/datasheet/APX_1670115.html.
[3]. Mercury datasheet http://m.58mhw.cn/datasheet/Mercury_2025467.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計、天線匹配與鏈路預(yù)算計算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21









