嚴(yán)添明
(黎明職業(yè)大學(xué) 信息與電子工程學(xué)院, 福建 泉州 362000)
信道編碼技術(shù)是未來寬帶無線通信系統(tǒng)中的關(guān)鍵技術(shù)之一,在算法方面已經(jīng)有較深入的研究.LDPC(LowDensity Parity Check,低密度奇偶校驗(yàn))碼具有逼近Shannon限的性能,是信道編碼研究領(lǐng)域的一個(gè)熱點(diǎn),是當(dāng)前通信領(lǐng)域的熱門研究課題之一,也是當(dāng)前性能最好的信道編碼之一,是第四代通信系統(tǒng)(4G)強(qiáng)有力的競(jìng)爭(zhēng)者.文獻(xiàn)[1]研究了LDPC碼相關(guān)技術(shù)及其并行級(jí)聯(lián)構(gòu)造,設(shè)計(jì)了一種低復(fù)雜度的迭代終止準(zhǔn)則——CMM準(zhǔn)則,與其它迭代終止準(zhǔn)則相比,CMM準(zhǔn)則具有運(yùn)算復(fù)雜度低、存儲(chǔ)空間占用量少等優(yōu)點(diǎn).多進(jìn)制(Nonbinary) LDPC碼是該領(lǐng)域中的新興分支,主要集中在碼字構(gòu)造、性能分析以及優(yōu)化算法等方面,具有廣闊的研究前景以及深遠(yuǎn)的學(xué)術(shù)意義.文獻(xiàn)[2]提出一種基于搜索多進(jìn)制LDPC碼最小碼距的性能分析方法,對(duì)多進(jìn)制LDPC碼的特點(diǎn)進(jìn)行了多項(xiàng)改進(jìn),提出一種基于優(yōu)化最小碼距上限的多進(jìn)制QC-LDPC碼構(gòu)造方法.文獻(xiàn)[3]提出了串行多重級(jí)聯(lián)奇偶校驗(yàn)碼或串并混合的多重級(jí)聯(lián)奇偶校驗(yàn)碼,能夠獲得比卷積碼更佳的性能,編碼相當(dāng)簡(jiǎn)單,參數(shù)選取靈活,在譯碼復(fù)雜度很低情況下能夠取得接近香農(nóng)容量極限的性能.
通過網(wǎng)絡(luò)搜索有關(guān)奇偶校驗(yàn)電路硬件設(shè)計(jì)方面的資料很少,文獻(xiàn)[4]利用Altera公司的Max+PlusⅡ集成設(shè)計(jì)環(huán)境完成了串行通信校驗(yàn)八位時(shí)序奇偶校驗(yàn)器的VHDL源代碼輸入和仿真測(cè)試.文獻(xiàn)[5]提出了多目標(biāo)演化算法實(shí)現(xiàn)奇偶校驗(yàn)器的電路自動(dòng)設(shè)計(jì),具有較少的運(yùn)算量和較高的效率,能自動(dòng)設(shè)計(jì)出使用邏輯門數(shù)更少、延時(shí)更小的奇偶校驗(yàn)器.在較早的文獻(xiàn)[6-7]在信道編解碼技術(shù)中只提供算法,沒有具體電路,研究人員無法了解集成電路內(nèi)部核心電路結(jié)構(gòu),EDA設(shè)計(jì)困難.基于此,本文以邏輯電路為主體,繪制了 (7×7)奇偶校驗(yàn)編碼解碼器硬件結(jié)構(gòu)框圖,設(shè)計(jì)出(7×7)奇偶校驗(yàn)編碼器和解碼器邏輯電路原理圖和時(shí)序圖,為EDA設(shè)計(jì)(7×7)奇偶校驗(yàn)編碼解碼器芯片提供邏輯電路依據(jù),為其他大規(guī)模電路設(shè)計(jì)提供參考.
水平垂直冗余校驗(yàn)碼(Longitudinal-Vertical Redundancy Check)(7×7)奇偶校驗(yàn)碼編碼時(shí),每個(gè)字節(jié)通過行奇偶校驗(yàn)發(fā)生器產(chǎn)生行檢驗(yàn)位,與原來7bit信息碼一起構(gòu)成新的8bit碼,每7個(gè)字節(jié)通過列奇偶校驗(yàn)發(fā)生器產(chǎn)生對(duì)應(yīng)7bit列檢驗(yàn)位,組成7bit列檢驗(yàn)字節(jié),列檢驗(yàn)字節(jié)也通過奇偶校驗(yàn)發(fā)生器產(chǎn)生行檢驗(yàn)位,與列檢驗(yàn)字節(jié)一起構(gòu)成8bit的檢驗(yàn)字,最后由8×8bit組成一幀[6].一幀中信息碼為49bit,監(jiān)督碼為15bit,編碼效率為49÷64≈76.6%.
接收時(shí),每行8bit字通過行奇偶校驗(yàn)器產(chǎn)生8bit的行校驗(yàn)字節(jié),每列8bit通過列奇偶校驗(yàn)器產(chǎn)生8bit的列校驗(yàn)字節(jié),當(dāng)某行某列出現(xiàn)錯(cuò)誤時(shí),相應(yīng)的行和列的奇偶校驗(yàn)結(jié)果為1,因此根據(jù)校驗(yàn)字測(cè)試比特為1的行和列來判定錯(cuò)誤的位置,并進(jìn)行糾正[7].顯然,當(dāng)存在2個(gè)或2個(gè)以上的數(shù)碼位出錯(cuò)時(shí),就無法判斷錯(cuò)誤的位置,不能糾正.
(7×7)奇偶校驗(yàn)碼編碼器組成框圖(7×7)奇偶校驗(yàn)碼解碼器組成框圖如圖1、圖2所示.
圖1 (7×7)奇偶校驗(yàn)碼編碼器組成框圖
圖2 (7×7)奇偶校驗(yàn)碼解碼器組成框圖
(7×7)奇偶校驗(yàn)電路的EDA設(shè)計(jì)包括編碼器和解碼器的電路設(shè)計(jì),因此要分別設(shè)計(jì).
2.2.1 編碼器并行控制時(shí)序波形發(fā)生器原理圖
(7×7)奇偶校驗(yàn)編碼器控制時(shí)序波形發(fā)生器原理圖如圖5所示.電路由15個(gè)D觸發(fā)器和1個(gè)二輸入端與門和2個(gè)八輸入端與門組成[8].系統(tǒng)復(fù)位后產(chǎn)生EP0節(jié)拍,控制第1個(gè)7bit信息碼在第1個(gè)CLK上升到達(dá)后并行鎖存產(chǎn)生第1行8bit碼組,第1個(gè)CLK下降沿到達(dá)后,并行輸出,結(jié)束EP0節(jié)拍產(chǎn)生EP1節(jié)拍,控制第2個(gè)7bit信息碼在第2個(gè)CLK上升到達(dá)后并行鎖存產(chǎn)生第2行8bit碼組,第2個(gè)CLK下降沿到達(dá)后,并行輸出,結(jié)束EP1節(jié)拍產(chǎn)生EP2節(jié)拍,……,第6個(gè)CLK下降沿到達(dá)后結(jié)束EP5產(chǎn)生EP6節(jié)拍,控制第7個(gè)7bit信息碼在第7個(gè)CLK上升到達(dá)后并行鎖存產(chǎn)生第7行8bit碼組,下降沿到達(dá)后,并行輸出.在第8個(gè)CLK到地第14個(gè)CLK期間逐位產(chǎn)生列檢驗(yàn)碼移位寄存,到第15個(gè)CLK上升沿到后并行鎖存產(chǎn)生第8行8bit監(jiān)督碼組,下降沿達(dá)到后結(jié)束EP14節(jié)拍產(chǎn)生EP15節(jié)拍,控制8bit列監(jiān)督碼并行輸出,第16個(gè)CLK下降沿到后結(jié)束EP15節(jié)拍產(chǎn)生EP16節(jié)拍,開始新的一幀數(shù)據(jù)編碼.
2.2.2 編碼器串行移位控制信號(hào)Es產(chǎn)生電路的設(shè)計(jì)
圖3 (7×7)奇偶校驗(yàn)編碼器原理圖
圖4 (7×7)奇偶校驗(yàn)編碼器時(shí)序圖
圖6為14進(jìn)制計(jì)數(shù)電路原理圖及狀態(tài)轉(zhuǎn)換圖,由1個(gè)4位可預(yù)置清零加法計(jì)數(shù)器[9]、1個(gè)與非門、2個(gè)與門和1個(gè)或非門組成預(yù)置數(shù)置入計(jì)數(shù)器,系統(tǒng)復(fù)位后,初態(tài):Q3Q2Q1Q0=0001,Q3輸出低電平期間提供7個(gè)7bit信息碼逐一并行輸入到移位寄存器中,Q3輸出高電平期間提供7bit奇偶校驗(yàn)碼移位控制信號(hào).利用EP14、EP15高電平期間封鎖2個(gè)CLK計(jì)數(shù)脈沖,使Q3Q2Q1Q0=0001狀態(tài)保持3個(gè)CLK時(shí)鐘周期,實(shí)現(xiàn)了14進(jìn)制計(jì)數(shù)的16分頻電路,將系統(tǒng)時(shí)鐘信號(hào)CLK信號(hào)16分頻,滿足串并行控制的時(shí)序要求.
圖5 (7×7)奇偶校驗(yàn)編碼器控制時(shí)序波形發(fā)生器
圖6 16分頻器電路
根據(jù)(7×7)奇偶校驗(yàn)編碼器邏輯電路圖和相應(yīng)時(shí)序產(chǎn)生邏輯圖用VHDL硬件描述語言設(shè)計(jì)(7×7)奇偶校驗(yàn)編碼器實(shí)體,描述系統(tǒng)外部接口信號(hào)[10],包括7bit×7輸入信息碼(D6、D5、…、D0)7個(gè)輸入端、系統(tǒng)復(fù)位(CR)輸入端、系統(tǒng)時(shí)鐘(CLK)輸入端、編碼輸出端(Y7、Y6、…、Y0);設(shè)計(jì)內(nèi)部的結(jié)構(gòu)和行為,建立輸入和輸出之間的邏輯關(guān)系.通過仿真實(shí)驗(yàn)生成(7×7)奇偶校驗(yàn)編碼器的仿真波形圖和芯片原理圖.
(7×7)奇偶校驗(yàn)編碼器仿真波形圖如圖7所示.輸入一幀7bit×7,經(jīng)過奇偶校驗(yàn)編碼器編碼后,每個(gè)字節(jié)變?yōu)?bit,其中前7bit為信息碼,最后一位為檢驗(yàn)碼,有7個(gè)字節(jié),最后一個(gè)字節(jié)為列檢驗(yàn)字節(jié),因此共有8個(gè)字節(jié),可用并行傳輸出去,也可用串行傳輸出去.
生成芯片原理引腳圖如圖8所示,共用17個(gè)引腳,分別是清零端CR,系統(tǒng)時(shí)鐘信號(hào)端CLK,7條并行數(shù)據(jù)輸入端,8條并行數(shù)據(jù)輸出端.
圖7 (7×7)奇偶校驗(yàn)編碼器仿真波形圖
圖8 生成奇偶校驗(yàn)編碼器芯片原理引腳圖
圖9 (7×7)奇偶校驗(yàn)解碼器原理圖
圖10 (7×7)奇偶校驗(yàn)解碼器時(shí)序圖
(7×7)奇偶校驗(yàn)解碼器時(shí)序波形發(fā)生器原理圖如圖11所示.工作原理與解碼器時(shí)序波形發(fā)生器相同,就不贅述.
串行Es控制信號(hào)的產(chǎn)生電路為16分頻的邏輯電路,其原理圖和狀態(tài)轉(zhuǎn)換如圖12所示,由1個(gè)4位可預(yù)置清零加法計(jì)數(shù)器、1個(gè)與非門、1個(gè)與門組成可預(yù)置數(shù)置入計(jì)數(shù)器,在正常計(jì)數(shù)過程中利用進(jìn)位狀態(tài)進(jìn)行反饋控制置數(shù)[11].
根據(jù)(7×7)奇偶校驗(yàn)解碼器邏輯電路圖和相應(yīng)時(shí)序產(chǎn)生邏輯圖用VHDL硬件描述語言設(shè)計(jì)(7×7)奇偶校驗(yàn)編碼器實(shí)體,描述系統(tǒng)外部接口信號(hào),包括8bit×8輸入信息碼(D7、D6、D5、…、D0)7個(gè)輸入端、系統(tǒng)復(fù)位(CR)輸入端、系統(tǒng)時(shí)鐘(CLK)輸入端、解碼輸出端(Y6、Y5、…、Y0);設(shè)計(jì)內(nèi)部的結(jié)構(gòu)和行為,建立輸入和輸出之間的邏輯關(guān)系.通過仿真實(shí)驗(yàn)生成(7×7)奇偶校驗(yàn)編碼器的仿真波形圖和芯片原理圖.
當(dāng)輸入信號(hào)沒有差錯(cuò)時(shí),奇偶校驗(yàn)解碼器仿真波形圖如圖13所示.輸入一幀8bit×8,經(jīng)過奇偶校驗(yàn)解碼器編碼后,每個(gè)字節(jié)變?yōu)?bit的信息碼,共有7個(gè)字節(jié).
當(dāng)輸入信號(hào)錯(cuò)一位碼時(shí),跟原樣第1個(gè)字節(jié)第1位差錯(cuò),即是把第一個(gè)字節(jié)10101010改成10101011(校驗(yàn)碼發(fā)生錯(cuò)誤時(shí)),奇偶校驗(yàn)解碼器仿真波形圖如圖14所示.每個(gè)字節(jié)變?yōu)?bit的信息碼,共有7個(gè)字節(jié),并且糾正過來了.
當(dāng)發(fā)生兩個(gè)比特錯(cuò)誤碼時(shí),輸出變亂碼了(即把原來正確碼第一字節(jié)10101010改成10101011第二字節(jié)碼01010101改成01010111),則出現(xiàn)亂碼如圖15所示.
圖11 ( 7×7)奇偶校驗(yàn)解碼器時(shí)序波形發(fā)生器
圖12 16分頻器
圖13 輸入信號(hào)沒有差錯(cuò),奇偶校驗(yàn)解碼器仿真波形圖
圖14 輸入一位校驗(yàn)碼差錯(cuò),奇偶校驗(yàn)解碼器仿真波形圖
圖15 輸入兩位差錯(cuò),奇偶校驗(yàn)解碼器仿真波形圖
圖16 生成奇偶校驗(yàn)解碼芯片原理引腳圖
本文介紹了水平垂直冗余校驗(yàn)碼(7×7)奇偶校驗(yàn)碼的編碼器與解碼器邏輯電路的EDA設(shè)計(jì),編碼時(shí)一幀中信息碼為49bit,監(jiān)督碼為15bit;解碼時(shí),通過行奇偶校驗(yàn)器產(chǎn)生每行1bit的8bit的行校驗(yàn)字節(jié),通過列奇偶校驗(yàn)器產(chǎn)生每列1bit的8bit列校驗(yàn)字節(jié),當(dāng)某行某列出現(xiàn)錯(cuò)誤時(shí),相應(yīng)的行和列的奇偶校驗(yàn)結(jié)果為1,因此根據(jù)校驗(yàn)子測(cè)試比特為1的行和列來判定錯(cuò)誤的位置,并進(jìn)行糾正.當(dāng)存在2個(gè)或2個(gè)以上的數(shù)碼位出錯(cuò)時(shí),就無法判斷錯(cuò)誤的位置,不能糾正.為了提高糾錯(cuò)能力,可利用比特交織法使群誤碼變成離散的隨機(jī)誤碼,奇偶校驗(yàn)器就可以糾錯(cuò),信號(hào)傳輸?shù)目煽啃詴?huì)大大地提高,因此在實(shí)際應(yīng)用中,都是結(jié)合交織技術(shù)對(duì)信號(hào)進(jìn)行信道編碼處理.
水平垂直冗余校驗(yàn)碼有很強(qiáng)的檢錯(cuò)能力,冗余度不高,在ARQ系統(tǒng)中使用較多,用于計(jì)算機(jī)的通用同步/異步收發(fā)機(jī)UART/USRT.商用的編碼IC
片不多,有Motorola的MC6850、Intel公司的8251和ZILOG公司的UART型號(hào)Z80-SIO等.仿真結(jié)果表明,符合芯片設(shè)計(jì)要求,可以燒寫成芯片,把發(fā)送和接收封裝在同一芯片上實(shí)現(xiàn)雙工通信,提高信號(hào)處理速度.
[1] 李金根.低密度奇偶校驗(yàn)碼的研究與設(shè)計(jì)[D].大連:大連海事大學(xué), 2008.
[2] 劉磊.多進(jìn)制低密度奇偶校驗(yàn)碼的研究[D].合肥:中國科學(xué)技術(shù)大學(xué), 2012.
[3] 孫麗,岳殿武.多重級(jí)聯(lián)奇偶校驗(yàn)碼與卷積碼的性能比較[C]//2007通信理論與技術(shù)新發(fā)展——第十二屆全國青年通信學(xué)術(shù)會(huì)議論文集(下冊(cè)).北京:中國通信學(xué)會(huì),2007.
[4] 曹永建,俎美杰.基于VHDL語言的8位時(shí)序奇偶校驗(yàn)器的設(shè)計(jì)[J].科技信息,2006(1):155-156.
[5] 王平,曾三友,鄢靖豐,等.基于演化算法的奇偶校驗(yàn)器自動(dòng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2007(6):257-258,261.
[6] 張宗橙.糾錯(cuò)編碼原理和應(yīng)用[M].北京:電子工業(yè)出版社.2003:30-31.
[7] 《電子天府》叢書編寫組.VCD視盤機(jī)精解[M].成都:電子科技出版社,1997:71.
[8] 張維廉.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1989:305-307.
[9] 宋樟林,陳道鐸,王小海.數(shù)字電子技術(shù)基本教程[M].杭州:浙江大學(xué)出版社,1995:165.
[10] 黃仁欣.EDA技術(shù)實(shí)用教程[M].北京:清華大學(xué)出版社,2006:17-18.
[11] 張友漢.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2002:111-113.