《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于FPGA的QPSK高速數(shù)字調(diào)制系統(tǒng)的研究與實(shí)現(xiàn)

基于FPGA的QPSK高速數(shù)字調(diào)制系統(tǒng)的研究與實(shí)現(xiàn)

2008-07-29
作者:溫曉潔 張 輝

??? 摘? 要: 介紹了一種基于FPGA的QPSK高速數(shù)字" title="高速數(shù)字">高速數(shù)字調(diào)制系統(tǒng)的實(shí)現(xiàn)方案。先從調(diào)制系統(tǒng)的基本框圖入手,,簡(jiǎn)要介紹其實(shí)現(xiàn)原理及流程,;然后著重介紹FPGA功能模塊的軟件編程、優(yōu)化及整個(gè)系統(tǒng)的性能,。
??? 關(guān)鍵詞: FPGA? QPSK? 直接序列擴(kuò)頻" title="擴(kuò)頻">擴(kuò)頻? 高速調(diào)制

?

1 系統(tǒng)實(shí)現(xiàn)原理及流程
??? 本調(diào)制系統(tǒng)的設(shè)計(jì)目的是實(shí)現(xiàn)高速數(shù)字圖像傳輸,。系統(tǒng)的硬件部分主要包括FPGA、A/D轉(zhuǎn)換器,、D/A轉(zhuǎn)換器、正交調(diào)制器,、輸出電路等,。根據(jù)數(shù)字圖像傳輸?shù)奶攸c(diǎn),采用擴(kuò)頻調(diào)制技術(shù),。這是因?yàn)閿U(kuò)頻方式的抗干擾,、抗衰落及抗阻塞能力強(qiáng),而且擴(kuò)頻信號(hào)的功率譜密度很低,,有利于隱蔽,。同時(shí),為了提高數(shù)據(jù)傳輸?shù)目煽啃院陀行?,降低信?hào)失真度,,減少碼間干擾,,在調(diào)制系統(tǒng)中還加入編碼、交織及匹配濾波" title="匹配濾波">匹配濾波,。這些處理都在FPGA中實(shí)現(xiàn),,使整個(gè)調(diào)制系統(tǒng)具有可編程的特點(diǎn),易于根據(jù)實(shí)際要求進(jìn)行功能上的擴(kuò)展和縮減,。系統(tǒng)的原理框圖如圖1所示,。

?


??? 電路的具體工作過(guò)程為:圖像信號(hào)經(jīng)過(guò)A/D轉(zhuǎn)換器AD9214完成模/數(shù)轉(zhuǎn)換,輸出信號(hào)送入FPGA,。由FPGA對(duì)信號(hào)進(jìn)行編碼,、交織、串/并變換,、擴(kuò)頻調(diào)制及匹配濾波。FPGA輸出兩路數(shù)字信號(hào),,經(jīng)過(guò)雙D/A轉(zhuǎn)換器AD9763實(shí)現(xiàn)數(shù)/模轉(zhuǎn)換,,輸出兩路模擬信號(hào)。這兩路信號(hào)經(jīng)過(guò)正交調(diào)制器AD8346正交調(diào)制輸出,,實(shí)現(xiàn)QPSK調(diào)制。因?yàn)檎徽{(diào)制器輸出的信號(hào)功率較小,,所以將其經(jīng)過(guò)模擬放大器放大和帶通濾波,之后再送到輸出,。
??? 在整個(gè)調(diào)制系統(tǒng)中,,F(xiàn)PGA模塊的軟件設(shè)計(jì)是最為重要的,也是進(jìn)行系統(tǒng)優(yōu)化的主要部分,,它的優(yōu)劣會(huì)直接影響整個(gè)系統(tǒng)的性能,。下面對(duì)這部分進(jìn)行詳細(xì)的介紹,。
2 軟件部分實(shí)現(xiàn)原理
??? FPGA模塊的軟件設(shè)計(jì)部分包括以下幾個(gè)方面:編碼、交織,、串并變換,、擴(kuò)頻,、匹配濾波以及復(fù)位和時(shí)鐘,。
2.1 編碼和交織
??? 數(shù)字通信中經(jīng)常使用信道編碼加交織模塊來(lái)提高數(shù)據(jù)傳輸?shù)目煽啃院陀行浴?BR>??? 為了達(dá)到一定的增益要求,,選擇卷積碼中純編碼增益為3.01的(2,,1,,6)碼(在大信噪比下),并對(duì)其進(jìn)行增信刪余,。這樣既可以發(fā)揮(2,1,6)碼純編碼增益大,、能夠解決接收信道符號(hào)極性上的模糊性、實(shí)現(xiàn)最佳和準(zhǔn)最佳譯碼容易的良好性能,,又能提高信道編碼的碼速率,。該碼增信刪余成為2/3碼率的碼,,最佳生成多項(xiàng)式為(171,,133)(八進(jìn)制),,即:
??? G(D)=[1+D2+D5+D6+D3? 1+D+D2+D3+D6]。由生成多項(xiàng)式可得到編碼框圖(如圖2所示),。在刪除比特分布圖中,,“1”表示這位不刪除,,“0”表示這位刪除。

?


??? 交織是將數(shù)據(jù)的序列打亂,,使交織前后數(shù)據(jù)序列的相關(guān)性減弱,,這樣可以大大降低數(shù)據(jù)突發(fā)錯(cuò)誤產(chǎn)生的影響,。而且,,如果交織器設(shè)計(jì)良好,那么傳送時(shí)的突發(fā)錯(cuò)誤將隨機(jī)地分布,,這樣采用編譯碼技術(shù)就更容易糾正。交織技術(shù)主要分為塊交織和卷積交織。因?yàn)楸鞠到y(tǒng)的數(shù)據(jù)分幀傳輸,,所以交織部分選用塊交織,一幀數(shù)據(jù)為1764個(gè)bit,,交織塊為42bit×42bit,。
2.2 串/并變換及擴(kuò)頻模塊
??? 經(jīng)過(guò)交織器輸出的數(shù)據(jù)為一路串行數(shù)據(jù),,要實(shí)現(xiàn)QPSK正交調(diào)制必須產(chǎn)生兩路并行數(shù)據(jù),因此需要進(jìn)行串/并變換,。輸入端口每輸入兩比特?cái)?shù)據(jù),,兩個(gè)輸出端口同時(shí)輸出一比特?cái)?shù)據(jù),。串/并變換的輸出數(shù)據(jù)要進(jìn)行擴(kuò)頻調(diào)制,,每輸入兩比特的信息時(shí)便輸出與之對(duì)應(yīng)的一組64位PN序列,。擴(kuò)頻序列應(yīng)具有良好的偽隨機(jī)特性和相關(guān)特性,,擴(kuò)頻通信系統(tǒng)的許多優(yōu)異特性都與擴(kuò)頻碼的設(shè)計(jì)密切相關(guān)。這里選擇平衡Gold碼序列作為系統(tǒng)的擴(kuò)頻序列,。Gold碼繼承了m序列的許多優(yōu)點(diǎn),,而可用的條數(shù)又遠(yuǎn)遠(yuǎn)大于m序列,,是作為擴(kuò)頻碼的良好碼型,。
2.3 濾波模塊
??? 擴(kuò)頻以后的碼元為方波,,其頻譜是無(wú)限寬的,,通過(guò)有限帶寬的信道傳輸,,方波會(huì)在時(shí)間上擴(kuò)展,,造成碼間干擾,導(dǎo)致接收機(jī)在檢測(cè)一個(gè)碼元時(shí)發(fā)生錯(cuò)誤的概率增大,。所以在調(diào)制系統(tǒng)中需要對(duì)信號(hào)進(jìn)行濾波,,以減少失真和符號(hào)間干擾(ISI)。在這里,,選擇具有均方升余弦滾降特性的濾波器,。具有升余弦滾降特性的H(ω)可表示為:

???

??? 發(fā)送濾波器的頻率響應(yīng)為GT(f),接收端" title="接收端">接收端濾波器的頻率響應(yīng)為GR(f),,則GT(f)·GR(f)=H(ω),。對(duì)于線性相位的FIR濾波器來(lái)說(shuō),使用窗函數(shù)法,,則發(fā)送端匹配濾波器的傳輸函數(shù)為:

???

??? 取不同的窗函數(shù),,濾波器的頻譜特性不同。這里選擇哈明窗作為窗函數(shù),,這樣可以避免產(chǎn)生吉布斯現(xiàn)象,。取滾降系數(shù)α=0.4,抽樣步長(zhǎng)Ts=Tc/6,,階數(shù)N=48,。圖3為濾波器頻譜特性的仿真結(jié)果,。

?

?

2.4 時(shí)鐘和復(fù)位模塊
??? 整個(gè)系統(tǒng)都是在時(shí)鐘的控制下進(jìn)行工作的,。系統(tǒng)外部有一個(gè)時(shí)鐘源,通過(guò)芯片內(nèi)部的CLKPLL模塊對(duì)外部時(shí)鐘進(jìn)行倍頻,,然后根據(jù)FPGA各個(gè)模塊的需要進(jìn)行分頻,。系統(tǒng)在加電時(shí)需要對(duì)信號(hào)和變量進(jìn)行初始化,特別是當(dāng)信號(hào)和變量的初始值不為零時(shí),復(fù)位模塊就不可缺少。
3 具體實(shí)現(xiàn)及技巧
3.1 編碼模塊的簡(jiǎn)化

??? 在編碼過(guò)程中,使用(2,1,6)碼進(jìn)行編碼,刪去編碼輸出第四位,。經(jīng)過(guò)仔細(xì)的研究發(fā)現(xiàn),,由于數(shù)據(jù)是分幀傳輸?shù)?,所以刪去哪一位并不重要,,只要能保證幀頭和相應(yīng)的數(shù)據(jù)位對(duì)齊,在解卷積的時(shí)候就能得到正確的結(jié)果,。這樣就使得編碼的程序得到簡(jiǎn)化,。例如,,編碼后,,刪余前的數(shù)據(jù)為1,2,3,4,5,6,7,8,9,10,11,12,,幀頭與數(shù)據(jù)1對(duì)齊,。刪除第四位后成為1,2,3,5,6,7,9,10,11,。在接收端,補(bǔ)位后的數(shù)據(jù)為1,2,3,X,5,6,7,X,9,10,11,X,。可正確解調(diào)為1,2,3,4,5,6,7,8, 9,10,11,12,。若刪除第三位,,則成為1,2,4, 5,6,8, 9,10,12。若幀頭與數(shù)據(jù)1之前的那一位(假設(shè)為0)對(duì)齊,則補(bǔ)位后的數(shù)據(jù)為0,1,2,X,4,5,6,X,8,9,10,X,12,;亦可正確解調(diào),。所以在編寫(xiě)程序的時(shí)候,可以根據(jù)輸入信號(hào)和輸出信號(hào)時(shí)鐘之間的關(guān)系,,選擇最簡(jiǎn)單的刪除位,,然后調(diào)整幀頭的位置,,就可以實(shí)現(xiàn)接收端所要求的對(duì)第4位的刪除。
3.2 交織模塊的優(yōu)化設(shè)計(jì)
??? 交織分為兩個(gè)模塊:寫(xiě)入模塊和讀出模塊,,二者共用一個(gè)存儲(chǔ)模塊,。存儲(chǔ)模塊的大小為1764bit,42行×42列,。首先,,寫(xiě)入模塊從第1行開(kāi)始按行寫(xiě)入,在寫(xiě)完第41行后,,讀出模塊從第1列開(kāi)始按列逐列讀出,,直至讀完所有列,改換成按行讀出,,寫(xiě)入模塊在寫(xiě)完第42行以后,,改換成按列寫(xiě)入。這樣,,交織模塊的延時(shí)約為(1764-42)/576k=2.99ms(576k為時(shí)鐘頻率),。無(wú)論讀模塊還是寫(xiě)模塊,在完成一整塊數(shù)據(jù)的操作以后,,改變讀寫(xiě)方式(行換列,,列換行),這樣做的目的是為了節(jié)省存儲(chǔ)容量,。因?yàn)镕PGA內(nèi)部的存儲(chǔ)器容量有限,,用相對(duì)復(fù)雜的地址計(jì)算,來(lái)?yè)Q取占用較小的存儲(chǔ)容量,。
3.3 濾波器的優(yōu)化設(shè)計(jì)
??? 濾波器的傳輸函數(shù)選擇好后,,通過(guò)Matlab計(jì)算濾波器的各個(gè)抽頭系數(shù),然后將抽頭系數(shù)量化為16位的二進(jìn)制定點(diǎn)數(shù),,寫(xiě)成一個(gè)VHDL可調(diào)用的包文件,。
??? 實(shí)現(xiàn)對(duì)信號(hào)的濾波,實(shí)際上就是完成每個(gè)信號(hào)和各個(gè)抽頭系數(shù)之間的加乘運(yùn)算,。由于濾波器的輸入為1或0,,故加乘運(yùn)算可簡(jiǎn)化為抽頭系數(shù)之間的加減運(yùn)算。具體實(shí)現(xiàn)時(shí),,48階的濾波器是由48個(gè)相似的小模塊級(jí)聯(lián)而成的,,每一個(gè)小模塊有四個(gè)輸入,一個(gè)輸出,。四個(gè)輸入分別為時(shí)鐘clk,、數(shù)據(jù)data、復(fù)位信號(hào)rst和前一個(gè)小模塊的輸出preout,。復(fù)位信號(hào)rst初始化后,,在時(shí)鐘的控制下讀入data和preout,,根據(jù)data的極性決定對(duì)preout加上還是減去包文件中與此模塊對(duì)應(yīng)的濾波器的系數(shù),將運(yùn)算結(jié)果輸出,,作為下一級(jí)的preout,。級(jí)聯(lián)時(shí),采用倒置的連接方式,,即輸入的數(shù)據(jù)data將同時(shí)到達(dá)每一個(gè)小模塊,,這樣就不存在抽頭時(shí)延" title="時(shí)延">時(shí)延,其時(shí)延存在于加法鏈中,。這樣可以減少資源的占有數(shù),。濾波模塊的原理圖如圖4所示。

?


4 系統(tǒng)性能
??? 該系統(tǒng)的主要性能指標(biāo)為:
??? 信號(hào)中頻為70MHz,;
??? 信號(hào)帶寬≤20MHz,;
??? 處理時(shí)延≤20ms(調(diào)制系統(tǒng)和解調(diào)系統(tǒng)的總處理時(shí)延);
??? 編碼增益為4dB,。
??? 由圖5可以看出信號(hào)帶寬約為18MHz,已滿足系統(tǒng)要求,。

?


??? 圖6為調(diào)制系統(tǒng)和解調(diào)系統(tǒng)的總處理延時(shí),,其中CH1為調(diào)制系統(tǒng),CH2為解調(diào)系統(tǒng),。從調(diào)制端接收到一個(gè)下脈沖,,到解調(diào)端將其解調(diào)出來(lái)總延時(shí)為9.36ms。調(diào)制系統(tǒng)的時(shí)延主要存在于交織模塊,,約為(1764-42)/576k=2.99ms,。解調(diào)系統(tǒng)的時(shí)延主要存在于解交織和譯碼,約為(1764-42)/576k+(1176+32)/384k=6.14ms,。2.99+6.14=9.13ms,,再加上其它模塊的延時(shí),與實(shí)測(cè)的結(jié)果相符合,,也滿足系統(tǒng)要求,。

?


??? (2,1,,6)碼理論上的純編碼增益在大信噪比下為3.01,。實(shí)際上,編碼增益的大小還與譯碼的算法有關(guān),。本編譯碼系統(tǒng)的編碼增益為3.01+2(軟判決)-0.5(增信刪余),,為4.51,滿足系統(tǒng)要求,。
??? 該QPSK高速調(diào)制系統(tǒng)包含了編碼,、交織,、擴(kuò)頻調(diào)制等現(xiàn)代調(diào)制系統(tǒng)中常用的技術(shù),是一個(gè)比較完整的調(diào)制系統(tǒng),。同時(shí),,使用FPGA加以實(shí)現(xiàn),使得對(duì)于該系統(tǒng)的功能擴(kuò)展和縮減變得容易,。FPGA的容量有限,,而且一般燒到片子里的程序最好不要超過(guò)總?cè)萘康?0%,所以,,對(duì)于程序的優(yōu)化是非常必要的,。例如,通過(guò)優(yōu)化設(shè)計(jì),,可使最耗費(fèi)資源的濾波器模塊的資源占用量從80%下降到40%(XC2S200的總?cè)萘繛?0萬(wàn)門(mén)),,這是相當(dāng)可觀的。不僅使整個(gè)系統(tǒng)的實(shí)現(xiàn)成為可能,,而且為以后功能擴(kuò)展預(yù)留下比較多的資源,。該系統(tǒng)已應(yīng)用于圖像傳輸系統(tǒng),并且工作穩(wěn)定可靠,。
參考文獻(xiàn)
1 張 輝,,曹麗娜.現(xiàn)代通信原理與技術(shù).西安:西安電子科技大學(xué)出版社,2002.1
2 Stefan Sjoholm,Lennart Lindh著,,邊計(jì)年,,薛宏熙譯.用VHDL設(shè)計(jì)電子線路.北京:清華大學(xué)出版社,2000

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。