HDTV接收機(jī)中Viterbi譯碼器的FPGA實(shí)現(xiàn)
高清晰度數(shù)字電視HDTV技術(shù)是當(dāng)今世界上最先進(jìn)的圖像壓縮編碼技術(shù)和數(shù)字通信技術(shù)的結(jié)合。它代表一個(gè)國家的科技綜合實(shí)力,蘊(yùn)藏著巨大的市場(chǎng)潛力。數(shù)字電視地面廣播編碼正交頻分復(fù)用COFDM傳輸系統(tǒng)以其較強(qiáng)的抗多徑干擾性能、易于實(shí)現(xiàn)移動(dòng)接收等優(yōu)點(diǎn)在HDTV的研究中占有很重要的地位。而COFDM系統(tǒng)中編、解碼技術(shù)是影響系統(tǒng)性能的一個(gè)重要因素。本文正是基于一種最大似然譯碼--Viterbi VB譯碼算法思想,從FPGA實(shí)現(xiàn)的角度探討在COFDM系統(tǒng)中內(nèi)碼(收縮卷積碼)的解碼。
1 設(shè)計(jì)算法簡述
在HDTV地面廣播COFDM系統(tǒng)中,所用內(nèi)碼為收縮卷積碼,除1/2主碼率外,還有2/3、3/4、5/6、7/8碼率的卷積編碼。在實(shí)際的傳輸信道中,噪聲一般是加性高斯白噪聲(AWGN),輸入AWGN信道的是二進(jìn)制信號(hào)序列。為了充分利用信道輸出信號(hào)的信息,提高傳輸系統(tǒng)譯碼的可靠性,首先把信道的輸出信號(hào)量化,將Q電平量化序列輸入Viterbi譯碼器,因此本文采用的VB譯碼算法為軟判決譯碼算法。
1.1 主碼率1/2的卷積碼編碼
目前,在國際衛(wèi)星通信和很多通信系統(tǒng)中,(2,1,6)碼是首選的使用VB譯碼的標(biāo)準(zhǔn)卷積碼。由于該碼能使誤碼率達(dá)到最小,且能克服相位誤差,所以在HDTV地面廣播COFDM傳輸系統(tǒng)中,內(nèi)碼采用(2,1,6)碼,它的子生成元為(171,133),均為八進(jìn)制。對(duì)應(yīng)的生成多項(xiàng)式G D=1+D+D2+D3+D6 1+D2+D3+D5+D6 df=10。其編碼器的實(shí)現(xiàn)框圖如圖1。
由于(2,1,6)碼有64個(gè)狀態(tài),為直觀起見,采用列表的方法來表述它的籬笆圖,如表1所示。
1.2 收縮卷積碼的實(shí)現(xiàn)
為了實(shí)現(xiàn)多碼率傳輸,在提高碼率的情況下不致使譯碼器的復(fù)雜性增加,在本設(shè)計(jì)中對(duì)(2,1,6)碼進(jìn)行增信刪余(Puncctured)。如圖1所示,在經(jīng)上述編碼后,對(duì)輸出碼字中的特定位置予以刪除。這樣可以產(chǎn)生碼率為2/3、3/4、5/6、7/8的較高碼率的卷積碼。
1.3 維特比譯碼算法簡述
1 設(shè)計(jì)算法簡述
在HDTV地面廣播COFDM系統(tǒng)中,所用內(nèi)碼為收縮卷積碼,除1/2主碼率外,還有2/3、3/4、5/6、7/8碼率的卷積編碼。在實(shí)際的傳輸信道中,噪聲一般是加性高斯白噪聲(AWGN),輸入AWGN信道的是二進(jìn)制信號(hào)序列。為了充分利用信道輸出信號(hào)的信息,提高傳輸系統(tǒng)譯碼的可靠性,首先把信道的輸出信號(hào)量化,將Q電平量化序列輸入Viterbi譯碼器,因此本文采用的VB譯碼算法為軟判決譯碼算法。
1.1 主碼率1/2的卷積碼編碼
目前,在國際衛(wèi)星通信和很多通信系統(tǒng)中,(2,1,6)碼是首選的使用VB譯碼的標(biāo)準(zhǔn)卷積碼。由于該碼能使誤碼率達(dá)到最小,且能克服相位誤差,所以在HDTV地面廣播COFDM傳輸系統(tǒng)中,內(nèi)碼采用(2,1,6)碼,它的子生成元為(171,133),均為八進(jìn)制。對(duì)應(yīng)的生成多項(xiàng)式G D=1+D+D2+D3+D6 1+D2+D3+D5+D6 df=10。其編碼器的實(shí)現(xiàn)框圖如圖1。
由于(2,1,6)碼有64個(gè)狀態(tài),為直觀起見,采用列表的方法來表述它的籬笆圖,如表1所示。
1.2 收縮卷積碼的實(shí)現(xiàn)
為了實(shí)現(xiàn)多碼率傳輸,在提高碼率的情況下不致使譯碼器的復(fù)雜性增加,在本設(shè)計(jì)中對(duì)(2,1,6)碼進(jìn)行增信刪余(Puncctured)。如圖1所示,在經(jīng)上述編碼后,對(duì)輸出碼字中的特定位置予以刪除。這樣可以產(chǎn)生碼率為2/3、3/4、5/6、7/8的較高碼率的卷積碼。
1.3 維特比譯碼算法簡述
Viterbi VB譯碼算法是一種最大似然譯碼算法。在收端的譯碼過程中,根據(jù)對(duì)接收碼元處理方式的不同,分為硬判決和軟判決譯碼。在同一譯碼算法下,雖然硬判決譯碼較軟判決譯碼簡單而易于實(shí)現(xiàn),但在性能上要損失2~3dB。因此本文的FPGA實(shí)現(xiàn)是基于軟判決來討論的。具體算法如下:
(1)從某一時(shí)間單位j=m開始,對(duì)進(jìn)入每一狀態(tài)的所有長為j段分支的部分路徑,計(jì)算部分路徑度量。對(duì)64態(tài)的每個(gè)狀態(tài),挑選并儲(chǔ)存一條有最大度量的部分路徑及部分度量值作為留選路徑。
(2)j增加1,把此時(shí)刻進(jìn)入每一狀態(tài)的所有分支度量與同這些分支相連的前一時(shí)刻的留選路徑的度量相加,得到此時(shí)刻進(jìn)入每一狀態(tài)的留選路徑,加以存儲(chǔ)并刪去其它所有路徑。
(3)為了在FPGA 設(shè)計(jì)中達(dá)到較高的時(shí)鐘速度,本文在判決和輸出路徑寄存器的信息時(shí),把所有64個(gè)路徑寄存器的第一段信息元取出,按大數(shù)判決準(zhǔn)則輸出第一段信息元。
2 維特比譯碼的FPGA實(shí)現(xiàn)
本文是在Altera公司推出的Quartus電路仿真環(huán)境中,采用AHDL語言和原理圖仿真相結(jié)合的方法來完成VB譯碼器的FPGA實(shí)現(xiàn)。
相關(guān)推薦
-
sandman555 | 2005-02-05
-
herbertwj | 2004-08-15
-
-
-
sandman555 | 2005-02-05
-
-
-
sandman555 | 2005-02-05
-
-
-
-
-
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論