0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用QPSK調(diào)制方式和卷積編碼實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)的FPGA功能

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-05-13 08:04 ? 次閱讀

在無線數(shù)據(jù)傳輸中,由于信道中的噪聲干擾,在接收端會(huì)引入一定的誤碼率(Bit Error Rate,BER)。高質(zhì)量的數(shù)據(jù)業(yè)務(wù)要求較低的BER。為了達(dá)到較低的BER,經(jīng)常采用信道編碼技術(shù)。卷積編碼和Viterbi譯碼是廣泛使用的信道編碼技術(shù),具有一定的克服突發(fā)錯(cuò)誤的能力,可以降低信道的誤碼率,帶來很高的編碼增益。信道編碼的引入在提供糾錯(cuò)能力的同時(shí),還擴(kuò)展了信號(hào)的帶寬。為了保證頻帶的利用率,本文采用QPSK調(diào)制方式,使數(shù)據(jù)調(diào)制在中頻載波上,實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸。

采用QPSK調(diào)制方式和卷積編碼實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)的FPGA功能

本文所述的中頻調(diào)制解調(diào)系統(tǒng)具有以下特點(diǎn):

(1)所有算法(編碼、調(diào)制、解調(diào)和譯碼)都是在Xilinx公司FPGA芯片中實(shí)現(xiàn)的,結(jié)構(gòu)簡單,體積小,功耗低。

(2)具有很好的實(shí)時(shí)性。對(duì)于1Mbit/s以上的數(shù)據(jù)速率,譯碼延遲不超過0.1ms。

(3)模塊化的設(shè)計(jì)使得系統(tǒng)具有一定的兼容性,只需要修改少量程序,即可實(shí)現(xiàn)各種卷積編碼和不同的調(diào)制中頻。

(4)與浮點(diǎn)算法的仿真性能相比較,采用定點(diǎn)算法的系統(tǒng)性能損失不大,并能在較低的信噪比提供可靠的數(shù)據(jù)傳輸。

1 系統(tǒng)總結(jié)構(gòu)及硬件設(shè)計(jì)

圖1是中頻調(diào)制解調(diào)系統(tǒng)的工作流程圖。在發(fā)端,數(shù)據(jù)通過A/D轉(zhuǎn)換器采樣后進(jìn)入FPGA,在其中完成(2,1,7)卷積編碼和QPSK調(diào)制后通過D/A轉(zhuǎn)換器輸出。在收端,接收到的信號(hào)通過A/D轉(zhuǎn)換器采樣后進(jìn)入FPGA,在其中完成QPSK解調(diào)和Viterbi譯碼后通過D/A轉(zhuǎn)換器輸出。

采用QPSK調(diào)制方式和卷積編碼實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)的FPGA功能

2 系統(tǒng)的FPGA實(shí)現(xiàn)

系統(tǒng)主要分為編譯碼和調(diào)制解調(diào)兩大部分,下面分別敘述這兩部分的原理及設(shè)計(jì)。

2.1 卷積編碼與Viterbi譯碼的FPGA實(shí)現(xiàn)

2.1.1 (2,1,7)卷積編碼

典型的(n,m,k)卷積碼編碼器是指輸入位數(shù)為m、輸出位數(shù)為n、約束長度為k的卷積碼編碼器,其編碼速率為m/n。一個(gè)(2,1,7)的卷積編碼器如圖2所示,可用六個(gè)移位寄存器實(shí)現(xiàn)。

2.1.2 Viterbi譯碼

Viterbi譯碼算法是Viterbi于1967年提出的一種概率譯碼算法。其主要思想就是最大似然譯碼。譯碼時(shí),將接收序列與根據(jù)編碼產(chǎn)生的網(wǎng)格圖上面的所有路徑進(jìn)行比較,求出其漢明距離或歐式距離,選出具有最小距離的路徑,那么這條路徑上的序列與發(fā)送序列相同的可能性最大。在AWGN信道中,當(dāng)使用歐式距離時(shí),Viterbi算法的性能最好。因此,這種算法是最優(yōu)最大似然譯碼算法。Viterbi譯碼器分為硬判決譯碼器和軟判決譯碼器,軟判決譯碼器與硬判決譯碼器相比有2~3dB的增益,而譯碼器結(jié)構(gòu)復(fù)雜度增加不大。

采用QPSK調(diào)制方式和卷積編碼實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)的FPGA功能

由Viterbi算法的基本原理可得典型的Viterbi譯碼器,如圖3所示。

分支路徑度量產(chǎn)生單元BMG(Branch Metric Generate)用于產(chǎn)生接收序列與狀態(tài)轉(zhuǎn)移分支上編碼輸出數(shù)據(jù)之間的距離。令長度為n的接收信號(hào)為R=(r1,…rn),與之相應(yīng)的發(fā)送信號(hào)為C=(c1,…cn)。因?yàn)榫哂凶钚W式距離的路徑也就是具有最大相關(guān)的路徑,所以定義分支路徑上的度量為:

由于此分支路徑度量沒有平方運(yùn)算,所以可將狀態(tài)轉(zhuǎn)移分支上的編碼輸出數(shù)據(jù)存儲(chǔ)在查找表內(nèi),這樣只需進(jìn)行加減和查表運(yùn)算,大大減小了實(shí)現(xiàn)的復(fù)雜程度。以上計(jì)算公式中數(shù)值為連續(xù)值,而本設(shè)計(jì)采用的是軟判決譯碼器,故只需對(duì)輸入的接收信號(hào)進(jìn)行均勻量化即可(量化比特?cái)?shù)為q)。

加比選單元ACS(Add-Compare-Select)模塊包括若干個(gè)單個(gè)狀態(tài)加比選模塊ACSU,一個(gè)ACSU模塊執(zhí)行一個(gè)狀態(tài) 的路徑度量升級(jí)。ACSU模塊的具體個(gè)數(shù)根據(jù)譯碼器的速率要求而定。對(duì)于低速的譯碼器,為了節(jié)約芯片的面積,可以使用較少的ACSU模塊進(jìn)行時(shí)分復(fù)用;而在高速Viterbi譯碼器的設(shè)計(jì)中,則采用全并行的結(jié)構(gòu),ACSU模塊的個(gè)數(shù)等于網(wǎng)格圖上的狀態(tài)數(shù)N=2k-1。譯碼器開始工作時(shí),給路徑度量設(shè)定一個(gè)初始化正值。在度量升級(jí)過程中,路徑度量的不斷累加會(huì)造成溢出。因?yàn)樵诙攘可?jí)時(shí)只是比較大小,所以在每次度量升級(jí)之后,所有的路徑度量值減去路徑度量值中的最小值,而不會(huì)影響路徑度量向的大小關(guān)系。同時(shí),為了下次路徑度量升級(jí)不出現(xiàn)負(fù)值,需要對(duì)所有的度量值加上一個(gè)恒定常數(shù)。經(jīng)過歸一化處理后的路徑度量,其最大值與最小值相差不超過2 q(k-1)。

所以,對(duì)于q比特而軟判決編碼長度為k的Viterbi譯碼器,其路徑度量長度為q+log2(k-1)比特。

MLD(Most-Likelihood-Decision)模塊用于在所有狀態(tài)的路徑度量中找出最大值,具有最大路徑度量的幸存路徑便是最大似然路徑。在時(shí)刻L時(shí),MLD電路判決最大似然路徑,將其末端節(jié)點(diǎn)狀態(tài)送至TB模塊。同時(shí)為了保證下次的路徑度量升級(jí)不出現(xiàn)負(fù)值,還要找出最小值送到PMMI模塊,在其中進(jìn)行歸一化處理。

PMMI模塊和SPMI模塊分別是ACS模塊與路徑度量存儲(chǔ)器PMM(Path Metric Memory)之間和幸存路存儲(chǔ)器SPM(Survivor Path Memory)與MLD模塊之間的接口模塊。同時(shí),TB(TraceBack)模塊也通過SPMI模塊讀取幸存路徑存儲(chǔ)器信息。針對(duì)不同的存儲(chǔ)方式,SPMI和PMMI的復(fù)雜程度也不同。ACSU模塊的復(fù)用程度越高,其接口電路越復(fù)雜。

TB模塊從SPM中讀取當(dāng)前時(shí)刻64條路徑的幸存信息,根據(jù)末端狀態(tài)可以找到相應(yīng)的最大似然路徑在時(shí)刻t的幸存信息,從而找到t-1時(shí)刻最大似然路徑上的狀態(tài)。依此類推,直至找到最大似然路徑在t-L+1時(shí)刻的狀態(tài),狀態(tài)的最高位即為譯碼輸出。

采用QPSK調(diào)制方式和卷積編碼實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)的FPGA功能

FPGA可以實(shí)現(xiàn)流水線操作,而各個(gè)模塊可以同時(shí)進(jìn)行工作,所以需要控制模塊處理各個(gè)模塊間的時(shí)序關(guān)系。每個(gè)子模塊都有一個(gè)控制信號(hào),使得輸入數(shù)據(jù)可以在各個(gè)模塊之間進(jìn)行流水操作。

由于本方案是基于各個(gè)功能單元自上至下設(shè)計(jì)的,靈活性較大,稍加修改子模塊,便可以用于實(shí)現(xiàn)各種卷積碼的Viterbi譯碼器。

2.2 QPSK調(diào)制與解調(diào)的FPGA實(shí)現(xiàn)

QPSK調(diào)制模塊由成形濾波和上變頻兩部分組成。成形濾波具有兩個(gè)功能,即限帶和抗碼間干擾。成形濾波采用查表的方式實(shí)現(xiàn),四倍內(nèi)插,升余弦滾降。形成后的數(shù)據(jù)與NCO產(chǎn)生的本地載波進(jìn)行上變頻運(yùn)算。

QPSK解調(diào)的結(jié)構(gòu)框圖如圖4所示。解調(diào)模塊由下變頻、低通濾波、根升余弦濾波和載波同步幾部分組成。I、Q兩路的調(diào)制信號(hào)先經(jīng)過本地載波NCO下變頻,再通過低通濾波器LPF得到基帶信號(hào)?;鶐盘?hào)需要進(jìn)行相應(yīng)的根升余弦濾波。由于本地載波與發(fā)端載頻之間有一定的偏差,所以要根據(jù)解調(diào)后的信號(hào)估計(jì)頻差并修改要地載波NCO的參數(shù),實(shí)現(xiàn)載波同步。數(shù)據(jù)經(jīng)過根升余弦濾波后進(jìn)行差分解碼,解調(diào)后頭這入譯碼器單元。

采用QPSK調(diào)制方式和卷積編碼實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)的FPGA功能

3 系統(tǒng)性能分析與結(jié)論

綜上所述,系統(tǒng)主要功能都是在FPGA內(nèi)完成的。本文選擇Xilinx公司的100萬門FPGA芯片XC2V1000,在ISE 6.2i環(huán)境下進(jìn)行編程開發(fā)。系統(tǒng)的資源占用情況如表1所示。

為了測試系統(tǒng)在噪聲下的誤碼率性能,在發(fā)端和收端之間引入噪聲源,在70MHz中頻上進(jìn)行數(shù)據(jù)傳輸。使用誤碼率分析儀進(jìn)行現(xiàn)場測試,獲得的測試誤碼率曲線如圖5所示。為了方便比較,圖中給出了未編碼傳輸系統(tǒng)的理想誤碼率曲線。由于定點(diǎn)實(shí)現(xiàn)、定時(shí)同步、載波同步等誤差因素,調(diào)制解調(diào)的實(shí)現(xiàn)損耗將近1dB;而viterbi譯碼的量化輸入和截短譯碼(本方案采用3比特量化和64步截短譯碼)帶來的實(shí)現(xiàn)損失約為1dB。(2,1,7)卷積碼的編碼增益約為5~6dB,所以測試誤碼率曲線與未編碼傳輸系統(tǒng)的理想誤碼率曲線之間的差距是3~4dB。換言之,本系統(tǒng)的實(shí)現(xiàn)增益為3~4dB。

綜上所述,本系統(tǒng)設(shè)計(jì)簡單、功耗低、性能良好,可在中頻范圍內(nèi)進(jìn)行高速數(shù)據(jù)的可靠傳輸。在不改變系統(tǒng)結(jié)構(gòu)的情況下,稍加修改可廣泛應(yīng)用于其它類型的編碼調(diào)制系統(tǒng)中。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601232
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420859
  • QPSK
    +關(guān)注

    關(guān)注

    2

    文章

    63

    瀏覽量

    26507
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    QPSK調(diào)制解調(diào)

    QPSK即正交相移調(diào)制。在看QPSK之前,先看一下通信系統(tǒng)調(diào)制解調(diào)的過程為了方便分析,先假設(shè)這
    發(fā)表于 11-30 18:26

    基于VHDL方式實(shí)現(xiàn)QPSK數(shù)字調(diào)制解調(diào)電路的設(shè)計(jì)

    本文基于VHDL方式實(shí)現(xiàn)QPSK數(shù)字調(diào)制解調(diào)電路的設(shè)計(jì),通過QuartusII軟件建模對(duì)程序進(jìn)行仿真,并通過引腳鎖定,下載到
    發(fā)表于 12-18 06:03

    如何采用FPGA實(shí)現(xiàn)QPSK調(diào)制器?

    QPSK調(diào)制的基本原理QPSK調(diào)制電路的FPGA實(shí)現(xiàn)
    發(fā)表于 04-08 06:01

    如何利用FPGA實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)?

    中頻調(diào)制解調(diào)系統(tǒng)具有哪些特點(diǎn)?如何利用FPGA實(shí)現(xiàn)中頻
    發(fā)表于 04-28 07:21

    基于FPGAQPSK 調(diào)制解調(diào)電路設(shè)計(jì)與實(shí)現(xiàn)Design

    數(shù)字調(diào)制解調(diào)技術(shù)在數(shù)字通信中占有非常重要的地位,數(shù)字通信技術(shù)與FPGA的結(jié)合是現(xiàn)代通信系統(tǒng)發(fā)展的一個(gè)必然趨勢。文中介紹了QPSK
    發(fā)表于 06-09 09:06 ?125次下載

    基于F PGA的QPS K調(diào)制解調(diào)電路設(shè)計(jì)與實(shí)現(xiàn)

    數(shù)字調(diào)制解調(diào)技術(shù)在數(shù)字通信中占有非常重要的地位,數(shù)字通信技術(shù)與FPGA的結(jié)合是現(xiàn)代通信系統(tǒng)發(fā)展的一個(gè)必然趨勢。文中介紹了QPSK
    發(fā)表于 07-22 15:42 ?0次下載

    基于FPGAQPSK解調(diào)器的設(shè)計(jì)與實(shí)現(xiàn)

    根據(jù)軟件無線電的思想,用可編程器件FPGA 實(shí)現(xiàn)QPSK 解調(diào)采用帶通采樣技術(shù)對(duì)中頻為70M
    發(fā)表于 08-27 11:00 ?68次下載

    QPSK調(diào)制器的FPGA實(shí)現(xiàn)

    提出了一種基于FPGA 實(shí)現(xiàn)QPSK 調(diào)制器的方法。以FPGA 實(shí)現(xiàn)DDS,通過對(duì)DDS 信號(hào)輸
    發(fā)表于 12-18 11:57 ?66次下載

    QPSK調(diào)制

    QPSK調(diào)制器 本文深入淺出地向讀者介紹了QPSK調(diào)制解調(diào)器的工
    發(fā)表于 05-07 13:42 ?1719次閱讀

    π/4-QPSK調(diào)制方式及其與GSMK調(diào)制方式的比較

    【摘 要】 簡略介紹了QPSK,π/4-QPSK調(diào)制方法及基于此的π/4-DQPSK調(diào)制方法,就π/4-QPSK
    發(fā)表于 05-15 22:32 ?1.8w次閱讀
    π/4-<b class='flag-5'>QPSK</b><b class='flag-5'>調(diào)制</b><b class='flag-5'>方式</b>及其與GSMK<b class='flag-5'>調(diào)制</b><b class='flag-5'>方式</b>的比較

    基于VHDL的QPSK調(diào)制解調(diào)系統(tǒng)設(shè)計(jì)與仿真

    文中詳細(xì)介紹了QPSK技術(shù)的工作原理和QPSK調(diào)制、解調(diào)系統(tǒng)設(shè)計(jì)方案,并通過VHDL語言編寫調(diào)制
    發(fā)表于 06-08 17:47 ?92次下載
    基于VHDL的<b class='flag-5'>QPSK</b><b class='flag-5'>調(diào)制</b><b class='flag-5'>解調(diào)</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)與仿真

    QPSK調(diào)制解調(diào)

    QPSK調(diào)制解調(diào)的整個(gè)過程的講解和源代碼,之后會(huì)長傳在FPGA上的實(shí)現(xiàn)和調(diào)試
    發(fā)表于 12-12 21:36 ?71次下載

    采用AD9789與FPGA相結(jié)合實(shí)現(xiàn)全數(shù)字QPSK射頻調(diào)制的方案

    摘要: 一種采用AD9789與FPGA相結(jié)合,在FPGA實(shí)現(xiàn)全數(shù)字QPSK射頻調(diào)制的方案。介紹
    發(fā)表于 11-25 01:34 ?3938次閱讀
    <b class='flag-5'>采用</b>AD9789與<b class='flag-5'>FPGA</b>相結(jié)合<b class='flag-5'>實(shí)現(xiàn)</b>全數(shù)字<b class='flag-5'>QPSK</b>射頻<b class='flag-5'>調(diào)制</b>的方案

    基于QPSK數(shù)字調(diào)制解調(diào)FPGA實(shí)現(xiàn)

    實(shí)現(xiàn),其具有頻譜利用率高、頻譜特性好、抗干擾性能強(qiáng)、傳輸速率快等特點(diǎn)。運(yùn)用verilog編寫在QPSK調(diào)制解調(diào)代碼以及ISE自帶的IP CORE在Xilinx公司的
    的頭像 發(fā)表于 02-20 07:50 ?2w次閱讀
    基于<b class='flag-5'>QPSK</b>數(shù)字<b class='flag-5'>調(diào)制</b><b class='flag-5'>解調(diào)</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>

    如何使用FPGA實(shí)現(xiàn)QPSK調(diào)制器的設(shè)計(jì)與實(shí)現(xiàn)

    采用FPGA設(shè)計(jì)芯片技術(shù)對(duì)多進(jìn)制數(shù)字通信技術(shù)的QPSK調(diào)制實(shí)現(xiàn)進(jìn)行了設(shè)計(jì)研究,將調(diào)制器中原有多
    發(fā)表于 07-22 17:51 ?15次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>QPSK</b><b class='flag-5'>調(diào)制</b>器的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>