国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的HDB3編碼和解碼器的設(shè)計(jì)與實(shí)現(xiàn)

2015-12-20 07:36吳光輝殷嚴(yán)剛
電子測(cè)試 2015年23期
關(guān)鍵詞:編解碼極性解碼

吳光輝,殷嚴(yán)剛,姜 愉

(1.廣西移動(dòng)欽州分公司;2.廣西師范大學(xué);3.欽州學(xué)院)

基于FPGA的HDB3編碼和解碼器的設(shè)計(jì)與實(shí)現(xiàn)

吳光輝1,殷嚴(yán)剛2,姜 愉3

(1.廣西移動(dòng)欽州分公司;2.廣西師范大學(xué);3.欽州學(xué)院)

本人通過對(duì)HDB3編解碼原理進(jìn)行分析和研究,提出一種基于FPGA的HDB3編解碼方法,并通過硬件描述語(yǔ)言構(gòu)建了其編譯碼模型,使用EDA 技術(shù)實(shí)現(xiàn)仿真,驗(yàn)證了其設(shè)計(jì)的有效性,其功能符合HDB 3編譯碼的要求。

HDB3編解碼;FPGA;Verilog HDL;Quartus II

0 引言

HDB3 碼 (high density bipolar),即三階高密度雙極性碼,是AMI碼 (alternate mark inversion, 雙極性傳號(hào)交替反轉(zhuǎn)碼)的改進(jìn)型。HDB3 碼可以由專用集成電路及相應(yīng)匹配的外圍中小規(guī)模集成芯片來實(shí)現(xiàn), 但集成程度不高,不易升級(jí)和維護(hù),用FPGA 設(shè)計(jì)HDB3編解碼器,能將 HDB3 編解碼和通信系統(tǒng)中的其它電路(如復(fù)接和分接電路)集成在一個(gè) FPGA芯片上,克服了分立硬件電路帶來的抗干擾差和不易調(diào)整等缺陷。

(3)為了使脈沖序列仍不含直流分量,則必須使相鄰的破壞點(diǎn) V脈沖極性交替。

(4)為了保證前面兩條件成立,必須使相鄰的破壞點(diǎn)之間有奇數(shù)個(gè)“ 1” 碼。 如果原序列中破壞點(diǎn)之間的“ 1” 碼為偶數(shù),則必須補(bǔ)為奇數(shù),即將破壞節(jié)中的第一個(gè)“ 0” 碼變?yōu)椤?1” ,用 B脈沖表示。 這時(shí)破壞節(jié)變?yōu)椤?B00V” 形式。 B脈沖極性與前一“ 1” 脈沖極性相反,而 B脈沖極性和 V脈沖極性相同。

1.2 HDB3碼譯碼

1 HDB3碼編譯碼原理

1.1 HDB3碼編碼

HDB3 碼是一種 AMI 碼的改進(jìn)型,它的編碼原理可簡(jiǎn)述為,在消息的二進(jìn)制代碼序列中:

(1)當(dāng)連“ 0” 碼的個(gè)數(shù)不大于 3 時(shí),HDB3 編碼規(guī)律與AMI 碼相同,即“ 1” 碼變?yōu)椤?+1”、“ - 1” 交替脈沖。

(2)當(dāng)代碼序列中出現(xiàn)4個(gè)連“ 0” 碼或超過4個(gè)連“ 0”碼時(shí),把連“ 0” 段按 4 個(gè)“ 0” 分節(jié),即“0000” ,并使第 4 個(gè)“ 0”碼變?yōu)椤?1”碼,用 V脈沖表示。這樣可以消除長(zhǎng)連“ 0” 現(xiàn)象。為了便于識(shí)別V脈沖,使 V脈沖極性與前一個(gè)“ 1” 脈沖極性相同。這樣就破壞了 AMI 碼極性交替的規(guī)律,所以 V 脈沖為破壞脈沖,把 V 脈沖和前 3 個(gè)連“ 0” 稱為破壞節(jié)“ 000V” 。

雖然 HDB3 碼的編碼規(guī)則比較復(fù)雜,但譯碼卻比較簡(jiǎn)單。從上述原理看出: 每一個(gè)破壞符號(hào) V總是與前一非 0 符號(hào)同極性(包括 B在內(nèi))。 這就是說,從收到的符號(hào)序列中可以容易地找到破壞點(diǎn) V, 于是也斷定 V符號(hào)及其前面的 3 個(gè)符號(hào)必是連0 符號(hào),從而恢復(fù) 4 個(gè)連 0 碼,再將所有- 1 變成+1 后便得到原消息代碼。

2 HDB3碼編碼模塊設(shè)計(jì)

其編碼過程 :首先插入V碼 ,然后插入B碼,最后是單雙極性變換。如果按照編碼規(guī)則的順序設(shè)計(jì),應(yīng)該首先進(jìn)行單雙極性變換在完成插 V 和插 B 后,還需根據(jù)編碼規(guī)則變換當(dāng)前 B 碼之后的非零碼的極性,這需要大量的寄存器來保存當(dāng)前數(shù)據(jù)的狀態(tài).導(dǎo)致電路非常復(fù)雜占用大量的FPGA內(nèi)部邏輯單元 實(shí)現(xiàn)難度大 且成本高.

圖1 HDB3碼編碼模塊設(shè)計(jì)框圖

2.1 插V過程

V碼產(chǎn)生單元的功能實(shí)際上就是對(duì)消息代碼里的四連0串的檢測(cè),當(dāng)出現(xiàn)四個(gè)連0串的時(shí)候,把第四個(gè)0碼變換成V碼,而在其他情況下,則保持消息代碼的原樣輸出。為了為以后的編碼過程提供方便,將原信號(hào)中的一位碼元用2位二進(jìn)制傳輸碼表示,在進(jìn)行加V碼時(shí),同一用“11”標(biāo)識(shí)之,原l碼用“01”標(biāo)識(shí),0碼用“00”標(biāo)識(shí)。輸入的代碼經(jīng)插V操作后全部轉(zhuǎn)換成了雙相碼。

2.2 插B過程

B碼產(chǎn)生單元的功能是保證附加V碼后的序列不破壞“極性交替反轉(zhuǎn)”形成的無直流特性,當(dāng)相鄰兩個(gè)V碼之間有偶數(shù)個(gè)非0碼時(shí),則把后一個(gè)V碼之前的第1個(gè)非0碼后面的0碼變換成B碼。

2.3 單雙極性變換

根據(jù)HDB3的編碼規(guī)則,我們可以知道,V碼的極性是正負(fù)交替的,余下的1碼和B碼看成為一體且是正負(fù)交替的,同時(shí)滿足V碼的極性與前面的非零碼極性一致。由此我們可以將其分別進(jìn)行極性變換來實(shí)現(xiàn)。

3 HDB3碼譯碼模塊設(shè)計(jì)

每一個(gè)破壞符號(hào)V 總是與前一非0 符號(hào)同極性,從收到的符號(hào)序列中可以容易地找到破壞點(diǎn)V,于是也斷定V 符號(hào)及其前面的3 個(gè)符號(hào)必是連0 符號(hào),從而恢復(fù)4 個(gè)連0 碼,再將所有-1,+1 變成1后便得到原消息代碼。根據(jù)以上解碼原理HDB3 的解碼步驟可分為三步:(1) 扣 V;(2) 扣 B; (3)極性轉(zhuǎn)換HDB3解碼模塊的設(shè)計(jì)框圖如圖2

圖2 HDB3碼解碼模塊設(shè)計(jì)框圖

3.1 扣V過程

即檢測(cè)信號(hào)中的 10001 或-1000-1 串,如果檢測(cè)到 則把10001 或-1000-1 變?yōu)?10000 或-10000。具體操作是:我們定義一個(gè)10位寄存器 dffa [9:0] 用它來檢測(cè)信號(hào)中的 “10001”或“-1000-1” 一旦檢測(cè)到將他們的值分別變?yōu)椤?0000”或“-10000”

3.2 扣B碼過程

即檢測(cè)信號(hào)中的 1001 或-100-1 串,若檢測(cè)到則把 1001或-100-1 變?yōu)?0000,

具體操作是:我們定義一個(gè)8位寄存器 dffb[7:0] 用這個(gè)寄存器來檢測(cè) “1001“或 “-100-1”一旦檢測(cè)到 將他們的值都變?yōu)椤?000”

3.3 極性轉(zhuǎn)換

由于前面來的信號(hào)中有 01 和11 即 +1 和 -1 而實(shí)際情況是數(shù)字電路中只有0 和 1 所以要進(jìn)行極性轉(zhuǎn)換把雙極性信號(hào)變?yōu)閱螛O性信號(hào)使信號(hào)中只含有 0 和 1。算法為:如果輸入的是00,則輸出0。否則輸出1。

圖3 編碼模塊波形仿真圖

圖4 解碼模塊波形仿真圖

4 仿真分析

利用ALTERA 公司的Quartus II 開發(fā)軟件實(shí)現(xiàn)具體設(shè)計(jì),其主要步驟如下: 在QII中建立工程,及Verilog HDL.v源文件,輸入代碼后進(jìn)行編譯。然后再建立波形仿真文件對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行仿真。仿真正確后可進(jìn)行引腳綁定,同過下載器燒寫到FPGA芯片中觀察實(shí)驗(yàn)效果。

4.1 編碼模塊仿真分析

對(duì)HDB3編碼模塊進(jìn)行仿真驗(yàn)證,圖3是仿真波形圖。輸入的二進(jìn)制代碼為 1010110000011000010101000010000000 000000 ,Code_in是二進(jìn)制代碼信息輸入。下面進(jìn)行輸出的分析。

out_v是插v之后的輸出。out_b是插入b之后的輸出。Code_hdb3碼是經(jīng)過極性變換后的HDB3碼輸出,從圖中可以看出:“01”為正電平,“11”為負(fù)電平,“00”為0電平,從波形可看出1和b碼實(shí)現(xiàn)了正負(fù)電平交替,而v碼與前面的最近的非零碼極性相同。符合HDB3編碼規(guī)則。

4.2 解碼模塊仿真分析

圖4中code_in是一串偽隨機(jī)序列二進(jìn)制碼,在經(jīng)過編碼模塊編碼后輸出,code_hdb3即為HDB3碼輸出,然后再經(jīng)過解碼模塊得到解碼輸出,decode_hdb3即為解碼后的輸出。從圖中可以看出,輸出波形與輸入波形完全相同。

5 結(jié)論

本文所設(shè)計(jì)的HDB3 編解碼模塊簡(jiǎn)單實(shí)用,利用FPGA 實(shí)現(xiàn)HDB3 編解碼功能具有很強(qiáng)的靈活性 可以集成到不同的通信系統(tǒng)中 提高系統(tǒng)設(shè)計(jì)的速度。本文提供了一種利用現(xiàn)代EDA技術(shù),以ACEX系列FPGA芯片EPlK30為硬件平臺(tái),以Quartus II為軟件平臺(tái),以Verilog HDL,為開發(fā)工具,適合于FPGA實(shí)現(xiàn)的HDB3編譯碼器的設(shè)計(jì)方案。并從整個(gè)從NRZ 碼到HDB3碼的編碼過程以及解碼過程作了一個(gè)詳細(xì)的分析。且實(shí)驗(yàn)結(jié)果符合預(yù)期, 有很好的應(yīng)用遠(yuǎn)景。

[1] 韓德紅,孫筱萌,張顯才. 基于FPGA的HDB3編解碼器的設(shè)計(jì)與實(shí)現(xiàn). 空 軍雷達(dá)學(xué)院學(xué)報(bào).2010.8第24卷第4期

[2] 吳海濤,陳英俊, 梁迎春. 基于FPGA的HDB3編解碼器設(shè)計(jì).微計(jì)算機(jī)信息, 2008 , 24( 6 2) : 236 – 238

[3] 段吉海 黃智偉.基于 CPLD/FPGA 的數(shù)字通信系統(tǒng)建模與設(shè)計(jì)[M].北京 電子工業(yè)出版社 2004

[4] 朱勤為,唐 寧,趙明劍. 利用FPGA 實(shí)現(xiàn)HDB3編解碼功能.電子設(shè)計(jì)工程2009 年 12 月

[5] 基于EDA技術(shù)的HDB3編碼器的設(shè)計(jì)與實(shí)現(xiàn) 中國(guó)百科網(wǎng)

The Design and Realization of HDB3 encoder and decoder based on FPGA

Wu Guanghui1,Yin Yangang2,Jiang Yu3
(1.Guangxi mobile Qinzhou branch;2.Guangxi Normal University;3.Qinzhou University)

I analysis and study of the principles of HDB3 code,propose a method of HDB3 codec based on FPGA.And Through hardware description language to build the model of codec.Using EDA technology to realize the simulation,I Verify the effectiveness of the design. Its features correspond HDB3 codec requirements

HDB3 code;FPGA;Verilog HDL;Quartus II

猜你喜歡
編解碼極性解碼
《解碼萬噸站》
1553B總線控制器編解碼設(shè)計(jì)
解碼eUCP2.0
為多重編解碼世界做好準(zhǔn)備
跟蹤導(dǎo)練(四)
大型民機(jī)試飛遙測(cè)視頻編解碼方法研究
NAD C368解碼/放大器一體機(jī)
Quad(國(guó)都)Vena解碼/放大器一體機(jī)
香椿子不同極性部位對(duì)糖尿病周圍神經(jīng)病變的保護(hù)作用
表用無極性RS485應(yīng)用技術(shù)探討
石楼县| 汕头市| 阿合奇县| 韶山市| 蓬莱市| 凉城县| 漠河县| 玛多县| 霞浦县| 英吉沙县| 五莲县| 日土县| 泌阳县| 武清区| 平乡县| 西丰县| 汨罗市| 永登县| 石泉县| 和政县| 微博| 金沙县| 于田县| 库伦旗| 玛纳斯县| 玛多县| 鹤峰县| 齐齐哈尔市| 罗江县| 潜江市| 左云县| 津市市| 贡山| 广昌县| 隆林| 嘉荫县| 隆回县| 汉源县| 仁怀市| 萨迦县| 犍为县|