周慶芳
摘 要:隨著人們生活水平的提高和生產(chǎn)力的發(fā)展,計(jì)算機(jī)現(xiàn)代技術(shù)的發(fā)展也越來越快。VHDL語言的出現(xiàn)和ASIC的應(yīng)用進(jìn)入了一個(gè)新的階段,現(xiàn)代通信技術(shù)也隨之發(fā)展起來。本文基于誤碼檢測(cè)原理和M序列產(chǎn)生的原理,通過VHDL硬件描述語言,實(shí)現(xiàn)了一種簡單的逐位比較型誤碼檢測(cè)器的設(shè)計(jì)以及各功能模塊的仿真。
關(guān)鍵詞:誤碼檢測(cè)器;FPGA;M序列 中圖分類號(hào):TN912.16 文獻(xiàn)標(biāo)識(shí)碼:C 收稿日期:2015-12-15
一、偽隨機(jī)序列及誤碼檢測(cè)器原理
偽隨機(jī)碼(或稱偽隨機(jī)序列)是模仿隨機(jī)序列的隨機(jī)特性而產(chǎn)生的一種碼字,也稱為偽噪聲碼或偽噪聲序列。偽隨機(jī)序列在數(shù)字通信中分為許多種,而在通信工程中,因?yàn)樗2捎枚M(jìn)制偽隨機(jī)序列,所以在序列中有“0”和“1”兩種狀態(tài)。
在通信過程中,各種原因都有可能造成誤碼形式的出現(xiàn),比如機(jī)器故障、傳播問題、信道干擾等因素都可能造成系統(tǒng)性能惡化甚至造成通信中斷。判決電路對(duì)數(shù)字通信接收系統(tǒng)是不可缺少的,有以下幾種原因可能造成判決錯(cuò)誤:①電平的偏移;②抽樣時(shí)刻偏移;③疊加噪聲。
誤碼檢測(cè)器,又稱之為誤碼儀。由多種形式可以組成一個(gè)誤碼儀,而它的工作過程可以分為以下幾個(gè)方面:①以相同相位的本地碼作為比較標(biāo)準(zhǔn),生成與發(fā)送碼組相同的碼型;②將本地與接收的兩組碼組逐個(gè)進(jìn)行比較,然后輸出誤碼脈沖信號(hào);③對(duì)誤碼脈沖信號(hào)進(jìn)行統(tǒng)計(jì),并給出相應(yīng)的誤碼率。
二、誤碼檢測(cè)器設(shè)計(jì)
誤碼檢測(cè)器也就是逐位比較型誤碼檢測(cè)器,其基本原理是將發(fā)送端和接收端的兩組類型相同的序列進(jìn)行分析,經(jīng)過同步處理之后,把逐個(gè)碼元進(jìn)行比較,假如出現(xiàn)誤碼,則兩列碼序列中本來相同的碼元就會(huì)變得不同;通過這些差異,在位同步時(shí)鐘的控制下通過異或門逐個(gè)碼元進(jìn)行比較,然后把結(jié)果通過計(jì)數(shù)器發(fā)送到可以顯示的電路中進(jìn)行顯示。
在時(shí)鐘的控制下,偽隨機(jī)序列是可以進(jìn)行移位的,若原來的和接收到的偽碼序列不同步,則不可以實(shí)現(xiàn)兩種序列的正確比較;所以首先要從接收序列中抽取出位同步信號(hào)。??蹠r(shí)鐘電路的功能是當(dāng)序列對(duì)應(yīng)位狀態(tài)不一致的時(shí)候,也就是狀態(tài)不同步時(shí),同步和保護(hù)電路輸出一個(gè)控制信號(hào),然后通過停扣時(shí)鐘電路扣除一個(gè)時(shí)鐘脈沖。通過這種方法經(jīng)過??蹠r(shí)鐘電路的時(shí)鐘信號(hào)來觸發(fā)本地偽碼發(fā)生器,也就相當(dāng)于本地偽碼序列延遲一個(gè)時(shí)鐘周期,也就是說,本地序列可以等待一個(gè)時(shí)鐘周期;同步與保護(hù)電路其中的一個(gè)功能是同步控制作用,另一個(gè)是在系統(tǒng)狀態(tài)同步后,一旦出現(xiàn)誤碼或不同步的情況,就設(shè)置一定的失鎖保護(hù)時(shí)間,以保證系統(tǒng)同步的穩(wěn)定性,而不是馬上進(jìn)行同步捕獲。
三、誤碼檢測(cè)器模塊仿真
在誤碼檢測(cè)器設(shè)計(jì)工作結(jié)束之后,我們需要對(duì)其進(jìn)行模塊仿真。誤碼檢測(cè)器設(shè)計(jì)的主要原理就是采用四位移位寄存器來對(duì)接收序列進(jìn)行移位和串/并變換。
主要的工作過程為:①等待時(shí)鐘“CLK”的上升沿觸發(fā),然后接收從“inp”端輸入的m序列;②按順序進(jìn)行移位:inp→A3→A2→A1→A0;③分別把A3,A2,A1,A0的數(shù)據(jù)對(duì)應(yīng)輸出到B3,B2,B1,B0端,完成串并變換。④A0端獲取Q端的信號(hào)并作為移位4位后的串行m序列信號(hào)。
本文中m序列的生成原理為:當(dāng)load標(biāo)志位的值為1時(shí),信號(hào)發(fā)生器向移位寄存器置初值;當(dāng)標(biāo)志位的值為0時(shí),根據(jù)反饋信號(hào)發(fā)生器進(jìn)行移位,并按照規(guī)律生成偽隨機(jī)的m序列信號(hào)。
在設(shè)計(jì)誤碼統(tǒng)計(jì)和門限檢測(cè)模塊時(shí),根據(jù)時(shí)鐘節(jié)拍,分別對(duì)誤碼脈沖和時(shí)鐘脈沖進(jìn)行計(jì)數(shù),并進(jìn)行比較。根據(jù)公式計(jì)算誤碼率,若誤碼率高于30%,則認(rèn)為誤碼率很高,兩序列狀態(tài)不同步,需要將門限檢測(cè)器的值設(shè)為0,并開始同步搜索;反之,若誤碼率較低,則認(rèn)為檢測(cè)到的是真正的序列誤碼,將門限檢測(cè)器的值設(shè)為1,并無需同步搜索,此時(shí)可以得到時(shí)序仿真波形。
系統(tǒng)中采用連“1”計(jì)數(shù)器模塊與輸出控制電路對(duì)系統(tǒng)進(jìn)行控制。對(duì)狀態(tài)比較器連“1”狀態(tài)的輸出進(jìn)行計(jì)數(shù),當(dāng)數(shù)值與預(yù)設(shè)值一致時(shí),系統(tǒng)控制“并行輸入與狀態(tài)控制”電路,將各并行輸出設(shè)為“0”,計(jì)數(shù)器輸出設(shè)為“1”,表示狀態(tài)已同步;反之,若計(jì)數(shù)器的輸出始終為“0”,則狀態(tài)不同步。
參考文獻(xiàn):
[1]邢建平.VHDL程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2005.
[2]劉睿強(qiáng),童貞理,尹洪劍.Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:電子工業(yè)出版社,2011.
[3]周潤景.基于Quartus II的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例(第2版)[M].北京:電子工業(yè)出版社,2013.