基于FPGA的載波調(diào)制系統(tǒng)
電力線載波(PLC)通信作為電力系統(tǒng)特有的通信方式,廣泛用于電力系統(tǒng)的調(diào)度通信、生產(chǎn)指揮、行政業(yè)務(wù)通信以及其他各種信息的傳輸。隨著數(shù)字通信技術(shù)的發(fā)展,采用電力線上網(wǎng)、進(jìn)行多媒體通信也具有寬闊的前景,電力線載波通信已經(jīng)成為當(dāng)今研究熱點(diǎn)之一。
本文引用地址:http://m.butianyuan.cn/article/192167.htm
線路調(diào)制單元是電力線載波機(jī)中關(guān)鍵部件之一。為了提高頻帶的利用率,線路調(diào)制一般采用單邊帶調(diào)制方式。使用數(shù)字化處理方法來實(shí)現(xiàn)線路的單邊帶調(diào)制,能夠克服模擬電路的諸多缺陷。線路調(diào)制需要完成正交變換、濾波和頻譜搬移等處理,運(yùn)算量與采樣率直接相關(guān)。高采樣率導(dǎo)致了高的運(yùn)算量,低成本DSP芯片無法滿足運(yùn)算需求。FPGA可用于實(shí)現(xiàn)DSP運(yùn)算處理單元,達(dá)到實(shí)時(shí)完成數(shù)字信號(hào)處理功能的目的,它為線路調(diào)制單元的數(shù)字化實(shí)現(xiàn)提供了一條性價(jià)比較高的途徑。本文將介紹線路調(diào)制的FPGA實(shí)現(xiàn),包括:線路調(diào)制單元數(shù)字化實(shí)現(xiàn)的總體設(shè)計(jì),CIC和FIR濾波器的FPGA實(shí)現(xiàn)以及載波發(fā)生器單元的設(shè)計(jì)。
線路調(diào)制解調(diào)實(shí)現(xiàn)方案
電力線載波通信標(biāo)準(zhǔn)要求的信號(hào)頻率為40~500kHz,頻帶寬度為4kHz。根據(jù)奈奎斯特定理,采樣頻率不能小于1MHz。采用數(shù)字化處理方式實(shí)現(xiàn)調(diào)制就是將信號(hào)的頻譜搬移過程轉(zhuǎn)化為數(shù)字域的數(shù)值計(jì)算過程。單邊帶信號(hào)可以表示為x(n)cos(wn)±x^(n)sin(wn),式中x(n)為基帶信號(hào),x^(n)為基帶信號(hào)的正交信號(hào),w為載波頻率。由該式可知,完成單邊帶調(diào)制需要信號(hào)的正交變換、載波信號(hào)的產(chǎn)生、信號(hào)與載波的乘加等數(shù)值運(yùn)算。希爾伯特變換是一種便于采用FPGA實(shí)現(xiàn)的正交變換方法,它可由系數(shù)具有奇對(duì)稱特性的FIR濾波器實(shí)現(xiàn)。
基帶信號(hào)的頻率較低,相應(yīng)應(yīng)以較低的采樣率采樣,而調(diào)制信號(hào)的頻率較高,應(yīng)以較高的采樣率采樣。因此在調(diào)制過程中必須進(jìn)行采樣率的提升,內(nèi)插技術(shù)可以實(shí)現(xiàn)采樣率的變換。調(diào)制單元調(diào)制部分的數(shù)字化實(shí)現(xiàn)的邏輯結(jié)構(gòu)如圖1所示。
由圖1可見,調(diào)制單元由正交變換、內(nèi)插和調(diào)制三部分組成。完成正交變換的Hilbert濾波器為系數(shù)奇對(duì)稱的FIR濾波器,延遲保持了正交信號(hào)與原始信號(hào)的時(shí)間同步。載波發(fā)生器,乘法器和加法器完成單邊帶調(diào)制。載波發(fā)生器由查表法實(shí)現(xiàn),地址為13位,字長(zhǎng)為16位,可以產(chǎn)生所需要的各種載波頻率。內(nèi)插完成采樣率的提升,再用低通濾波器濾除無用頻率分量。在設(shè)計(jì)中,通過內(nèi)插將信號(hào)采樣率由8kS/s提升至8.192MS/s,內(nèi)插率I=1024。分兩級(jí)完成:第一級(jí)內(nèi)插率I=8,該級(jí)內(nèi)插采用128階系數(shù)偶對(duì)稱FIR濾波器濾波。第二級(jí)內(nèi)插率I=128,該級(jí)內(nèi)插采用3級(jí)級(jí)聯(lián)的CIC(積分梳狀)濾波器。
由上述方案可見,合理設(shè)計(jì)FIR、CIC濾波器和載波發(fā)生器電路是線路調(diào)制單元數(shù)字化實(shí)現(xiàn)的關(guān)鍵,線路調(diào)制單元和其他的組件進(jìn)行數(shù)據(jù)交換,控制和接口電路在此不作一一贅述。
濾波器的FPGA設(shè)計(jì)
線路調(diào)制解調(diào)需要用到FIR和CIC兩種濾波器,這兩種濾波器的共同特點(diǎn)是,具有線性相位,非常適合應(yīng)用需求。但這兩種濾波器對(duì)FPGA資源耗費(fèi)較大,因此必須采用合理的結(jié)構(gòu)減少FPGA資源的開銷。
1 CIC濾波器的設(shè)計(jì)
設(shè)計(jì)CIC濾波器時(shí),首先要考慮濾波器的增益,防止溢出。內(nèi)插均選用三級(jí)級(jí)聯(lián)的CIC濾波器,傳遞函數(shù)為H(z)=((1-z-128)/(1-z-1))3。由傳遞函數(shù)可以求出濾波器的增益為1283,增加的字長(zhǎng)為log2(128)3=21位,輸入信號(hào)寬度為13位,實(shí)現(xiàn)時(shí)必須預(yù)留21+13=34位防止溢出。將內(nèi)插器與濾波器結(jié)合起來并對(duì)其實(shí)現(xiàn)如圖2所示。
圖2 cic內(nèi)插
程序設(shè)計(jì)采用VHDL語言,用Quartus II 3.0綜合后CIC濾波器耗費(fèi)資源350個(gè)LE(Logic Element)。根據(jù)Hogenaur的剪除理論在每一級(jí)輸出時(shí)都可以剪除掉最后的若干位。通過信噪比的計(jì)算,可確定剪除位數(shù),設(shè)計(jì)中積分部分每級(jí)可以剪除6位,分別取22、28和34位,梳狀部分每級(jí)剪除1位,分別取14、15和16位,濾波器的輸出為13位。采用剪除理論后,消耗的資源為240個(gè)LE,資源消耗減少了32%。
2 FIR濾波器的設(shè)計(jì)
FIR濾波器階數(shù)高,如果按其級(jí)聯(lián)結(jié)構(gòu)實(shí)現(xiàn)時(shí)資源的利用率非常低,須加以改進(jìn)。一種方法是提高時(shí)鐘速度,重復(fù)利用乘法器和加法器。這種方法程序設(shè)計(jì)比較復(fù)雜,時(shí)鐘提升也導(dǎo)致功耗增加,額外資源的消耗較多。另一種方法是利用FIR濾波器的分布式結(jié)構(gòu)進(jìn)行設(shè)計(jì),這是一種高效的方法。信號(hào)x(n)通過N抽頭,n位的FIR濾波器可以用下式表示,其中h(n)是濾波器系數(shù),y為輸出信號(hào)。
輸入信號(hào)x(n)采用補(bǔ)碼的形式,可表示為
重新對(duì)上式求和如下:
簡(jiǎn)寫形式如下:
由上式可看出,把輸入信號(hào)每位的值xb作為地址,將濾波器系數(shù)h(n)的值和xb的每一位xb(n)乘積疊加,并將結(jié)果存入ROM中,就可以通過查表并移位相加而得到最終內(nèi)積的結(jié)果。整個(gè)濾波器的實(shí)現(xiàn)無須乘法器,節(jié)省了FPGA片內(nèi)資源。實(shí)驗(yàn)證明按照級(jí)聯(lián)結(jié)構(gòu)進(jìn)行設(shè)計(jì)時(shí),128階FIR濾波器需要占用3000個(gè)LE以上,提高時(shí)鐘重復(fù)利用乘法器后為1500LE,而采用分布式的結(jié)構(gòu)資源消耗僅為900多個(gè)LE。希爾伯特濾波器由于階數(shù)較低,消耗的資源更少。假定數(shù)據(jù)h(n)為B位,F(xiàn)IR的階數(shù)為N,則需要的地址空間為2N,當(dāng)N較大時(shí)實(shí)現(xiàn)會(huì)有困難。通過將128階的濾波器分割為8塊16階的方法,有效減少了存儲(chǔ)容量。該結(jié)構(gòu)既節(jié)省資源又靈活。利用線性相位FIR濾波器的對(duì)稱性,還可以節(jié)省一半存儲(chǔ)量。
3載波發(fā)生器的實(shí)現(xiàn)
電力線路中影響衰減特性的因素很多,這就要求電力線載波機(jī)線路調(diào)制單元的載波頻率可變。NCO可以產(chǎn)生不同頻率的正弦信號(hào)抽樣值。如圖3所示,預(yù)先存儲(chǔ)一張正弦信號(hào)ROM表,表中放有8192個(gè)抽樣點(diǎn)的值。假設(shè)所需的載波頻率為300kHz,NCO從ROM表中每隔300個(gè)點(diǎn)取出一個(gè)值,即可得到頻率為300kHz正弦信號(hào)的抽樣值。在實(shí)現(xiàn)中正弦信號(hào)ROM表的是通過對(duì)頻率為1Hz的正弦信號(hào)在一個(gè)周期內(nèi)進(jìn)行8192次等間隔采樣得到的。由于頻率分辨率為1kHz,所以根據(jù)需要載波頻率的不同,NCO改變抽取點(diǎn)間的間隔,就能在一定范圍內(nèi)得到任何1kHz整數(shù)倍頻率的正弦信號(hào)抽樣值。
圖3 NCO內(nèi)部原理圖
圖4 NCO設(shè)計(jì)流程
正弦信號(hào)具有重復(fù)性,因此設(shè)計(jì)時(shí)只需存放四分之一個(gè)周期的值,即2048個(gè)抽樣值。這樣節(jié)約了大量的ROM空間和存儲(chǔ)單元。NCO的流程如圖4所示。
正弦信號(hào)和余弦信號(hào)僅僅是相位上偏差了90°,因此每次從ram中取正弦信號(hào)抽樣值的時(shí)候,將地址指針延遲四分之一周期就能取出與之嚴(yán)格同步的余弦信號(hào)值。設(shè)計(jì)時(shí)NCO采用了雙時(shí)鐘結(jié)構(gòu),CLK為低頻時(shí)鐘,CLK1為高頻時(shí)鐘。在低頻時(shí)鐘內(nèi)使用一個(gè)地址指針控制提取兩路載波的地址,在高頻時(shí)鐘內(nèi)根據(jù)地址依次提取正弦和余弦抽樣值。低頻時(shí)鐘控制地址指針的變換,在時(shí)鐘上升延到來時(shí)變更指針。CLK經(jīng)過一個(gè)周期的時(shí)間內(nèi),CLK1經(jīng)過6個(gè)周期:前三個(gè)周期空等待,等待地址指針m的刷新;而后的三個(gè)周期依次根據(jù)地址取出正弦余弦的抽樣值,并作同步輸出。
性能測(cè)試與分析
采用本文中方案所設(shè)計(jì)的語音信號(hào)調(diào)制單元,通過一次變頻的方式完成單邊帶調(diào)制,除了在體積和可靠性具有無可比擬的優(yōu)勢(shì)外,其他性能指標(biāo)也有了很大的改進(jìn)。通過實(shí)測(cè),其主要性能指標(biāo)如表1所示。
結(jié)論
滿足設(shè)計(jì)的芯片有多種,例如,Atlera公司的Cyclone芯片EP1C12Q240C8、EP2C5Q208C8、EP1C12Q240C8等。從成本和實(shí)用角度考慮,在調(diào)制系統(tǒng)地設(shè)計(jì)中采用芯片EP1C6Q240C8,實(shí)現(xiàn)了完整的單邊帶線路調(diào)制單元,經(jīng)過測(cè)試性能良好。僅用一片F(xiàn)PGA芯片,通過數(shù)字化的方式來實(shí)現(xiàn)線路調(diào)制,和以往的模擬實(shí)現(xiàn)方法相比,是一種技術(shù)的革新和進(jìn)步。采用數(shù)字化的實(shí)現(xiàn)方法后,整機(jī)的體積減小、成本低,可靠性有了很大的提高。用FPGA實(shí)現(xiàn)線路調(diào)制是一種有效的方法,為電力線載波機(jī)增加了相當(dāng)?shù)氖袌?chǎng)競(jìng)爭(zhēng)力。
評(píng)論