《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > FSK/PSK調(diào)制的FPGA實(shí)現(xiàn)
FSK/PSK調(diào)制的FPGA實(shí)現(xiàn)
電子科技
趙 菁,文時(shí)祥 西安電子科技大學(xué)
摘要: 基于DDS和VHDL硬件描述技術(shù),采用大規(guī)??删幊涕T陣列FPGA,實(shí)現(xiàn)了FSK和PSK數(shù)字調(diào)制。介紹了m偽隨機(jī)基帶碼元發(fā)生器、跳變檢測(cè)器和DDS信號(hào)發(fā)生等模塊。系統(tǒng)參數(shù)易修改、可移植性強(qiáng)、性能穩(wěn)定。
關(guān)鍵詞: FPGA FSK/PSK DDS m偽隨機(jī)序列
Abstract:
Key words :

摘要:基于DDS和VHDL硬件描述技術(shù),采用大規(guī)??删幊涕T陣列FPGA,實(shí)現(xiàn)了FSK和PSK數(shù)字調(diào)制。介紹了m偽隨機(jī)基帶碼元發(fā)生器、跳變檢測(cè)器和DDS信號(hào)發(fā)生等模塊。系統(tǒng)參數(shù)易修改、可移植性強(qiáng)、性能穩(wěn)定。
關(guān)鍵詞:FSK/PSK;DDS;m偽隨機(jī)序列;FPGA

    在通信領(lǐng)域,經(jīng)常需要將基帶信號(hào)進(jìn)行某種調(diào)制,使其適合于信道傳輸。FSK、PSK即為常用的兩種數(shù)字調(diào)制方式。傳統(tǒng)模擬調(diào)制系統(tǒng)中大量采用分立元件,體積較大,電路復(fù)雜。由于模擬元件自身參數(shù)的離散性和受環(huán)境溫度、濕度等因素影響,導(dǎo)致系統(tǒng)穩(wěn)定性較差。本文提出了一種基于DDS技術(shù)的FSK/PSK調(diào)制的數(shù)字實(shí)現(xiàn)方法,提高了系統(tǒng)的穩(wěn)定性,克服了模擬調(diào)制的弊端。

1 FSK/PSK調(diào)制原理
    頻移鍵控(Frequency Shift Keying,F(xiàn)SK),是利用載波的頻率參量來攜帶數(shù)字信息的調(diào)制方式。常用的是二進(jìn)制頻率鍵控信號(hào),即2FSK,用載頻w1表示數(shù)字信息“1”,用載頻w2表示數(shù)字信息“0”,而w1和w2之間的變化是瞬間完成的。
    a.jpg
    相移鍵控(Phase Shift Keying,PSK),它是受鍵控的載波相位按數(shù)字基帶脈沖的規(guī)律而改變的一種數(shù)字調(diào)制方式。這種以載波的不同相位直接表示相應(yīng)數(shù)字信息的相位鍵控,通常被稱為絕對(duì)移相方式。當(dāng)基帶信號(hào)為二進(jìn)制數(shù)字脈沖序列時(shí),所得到的相位鍵控信號(hào)為二進(jìn)制相位鍵控,即2PSK,它的表達(dá)式為
    b.jpg
    式中,φ(t)由數(shù)字信息“0”“1”控制。在絕對(duì)移相中,因?yàn)?phi;(t)選用的參考相位基準(zhǔn)就是未調(diào)制的載波,所以φ(t)就是載波的絕對(duì)值。一般說來,數(shù)字信息為“1”時(shí),φ(t)=0,數(shù)字信息為“0”時(shí),φ(t)=π。即
    c.jpg
    FSK、PSK的調(diào)制示意圖如圖1所示。

d.jpg



2 FSK/PSK調(diào)制邏輯設(shè)計(jì)與仿真
    FSK/PSK調(diào)制邏輯共分為3個(gè)部分:分頻器、m序列產(chǎn)生器和FSK/PSK調(diào)制器。分頻器用于產(chǎn)生FSK/PSK調(diào)制器和m序列的基準(zhǔn)時(shí)鐘信號(hào)f1,f2和f3,m偽隨機(jī)序列器產(chǎn)生基帶碼元。FSK/PSK調(diào)制器根據(jù)輸入的基帶碼元和基準(zhǔn)時(shí)鐘產(chǎn)生相應(yīng)的FSK或PSK信號(hào),調(diào)制模式由mode模式選擇。當(dāng)mode為低電平時(shí),表示選擇FSK調(diào)制,當(dāng)mode為高電平時(shí),表示選擇PSK調(diào)制。FSK/PSK調(diào)制器輸出的數(shù)字調(diào)制信號(hào)經(jīng)DAC轉(zhuǎn)換成模擬信號(hào)輸出。邏輯模塊框圖,如圖2所示。

e.jpg


2.1 分頻器
    分頻器對(duì)頻率為f0的時(shí)鐘輸入信號(hào)clk分別以分頻系數(shù)D1,D2和D3產(chǎn)生FSK/PSK調(diào)制器和m序列的基準(zhǔn)時(shí)鐘信號(hào)f1,f2和f3。其關(guān)系如式(1)所示。
    f.jpg
    f1和f2決定了FSK調(diào)制信號(hào)的兩個(gè)載波頻率,f2決定了PSK調(diào)制信號(hào)的載波頻率,f3決定了基帶碼元速率。為了保證每個(gè)基帶碼元的寬度T是載波周期的整數(shù)倍,在選擇分頻系數(shù)時(shí)應(yīng)滿足式(2)。
    g.jpg
    式中,M為D1和D2的最小公倍數(shù)。
2.2 m序列產(chǎn)生器
    m序列是由多級(jí)移位寄存器或其他延遲元件通過線性反饋產(chǎn)生的最長(zhǎng)的碼序列。m序列的最大長(zhǎng)度取決于移位寄存器的級(jí)數(shù),而碼的結(jié)構(gòu)取決于反饋抽頭的位置和數(shù)量。其特點(diǎn)是:隨機(jī)特性、預(yù)先可確定性、循環(huán)特性。
    本設(shè)計(jì)利用帶有兩個(gè)反饋抽頭的3級(jí)反饋移位寄存器得到一串7位循環(huán)序列“1110010”,并采取措施防止進(jìn)入全“0”狀態(tài)。通過更換時(shí)鐘頻率,可以方便地改變輸入碼元的速率。這一系列的循環(huán)序列碼作為基帶信號(hào)碼元。其電路結(jié)構(gòu)如圖3所示。

h.jpg


2.3 FSK/PSK調(diào)制器
    FSK/PSK調(diào)制器由時(shí)鐘選擇模塊、跳變檢測(cè)模塊和DDS信號(hào)發(fā)生模塊3部分組成。原理如圖4所示。

i.jpg


2.3.1 時(shí)鐘選擇模塊
    載波頻率選擇模塊的兩個(gè)輸入端分別接時(shí)鐘信號(hào)f1和f2,其輸出信號(hào)fDDS作為DDS信號(hào)發(fā)生模塊基準(zhǔn)時(shí)鐘信號(hào)。該模塊的輸出真值表,如表1所示。

j.jpg


2.3.2 跳變檢測(cè)模塊
    跳變檢測(cè)模塊用于檢測(cè)基帶碼元的變化情況。當(dāng)基帶碼元上升或下降沿到來時(shí),其對(duì)應(yīng)的輸出端產(chǎn)生與時(shí)鐘周期等寬的高脈沖信號(hào)jump_high或jump_low。該信號(hào)提供給下一級(jí)DDS的相位累加器,來控制累加器的相位偏移。跳變檢測(cè)原理圖如圖5所示。

k.jpg


2.3.3 DDS信號(hào)發(fā)生模塊
    DDS是一種應(yīng)用數(shù)字技術(shù)產(chǎn)生信號(hào)波形的方法。由于模塊中只需產(chǎn)生兩種頻率和相位的波形,因此對(duì)DDS的設(shè)計(jì)中省略了頻率控制字和相位控制字等部分。頻率改變通過時(shí)鐘選擇模塊選擇不同的基準(zhǔn)時(shí)鐘來實(shí)現(xiàn)。簡(jiǎn)化后的DDS主要由相位累加器和波形ROM組成,如圖6所示。

l.jpg


    相位累加器在頻率為fc的時(shí)鐘信號(hào)clk控制下,以步長(zhǎng)K作累加,輸出的N位二進(jìn)制作為波形存儲(chǔ)器ROM的地址,以該地址對(duì)ROM進(jìn)行尋址。則DDS輸出波形的頻率f0的表達(dá)式,如式(3)所示
    m.jpg
    本設(shè)計(jì)中,取K=1,N=8,波形存儲(chǔ)深度為100個(gè)采樣點(diǎn),則可得f0=fc/100。jump_high、jump_low、mode和clk通過控制相位累加器的輸出來實(shí)現(xiàn):FSK/PSK波形合成輸出。當(dāng)mode為低電平時(shí),即FSK調(diào)制模式時(shí),jump_high和jump_low中任一信號(hào)出現(xiàn)高脈沖時(shí),累加器清零,然后根據(jù)clk進(jìn)行循環(huán)累加。當(dāng)mode為高電平時(shí),即PSK調(diào)制模式時(shí),累加器的工作方式如表2所示。

n.jpg


    ROM表是對(duì)選取的采樣點(diǎn)進(jìn)行量化、編碼,通過相位累加器的地址值查找ROM表中的內(nèi)容,以得到可合成正弦波的正弦點(diǎn)的值。其原理是:在橫軸上取100個(gè)采樣點(diǎn),將縱軸的正弦值[-1,+1]總體提升一個(gè)單位,即將正弦值的取值區(qū)間變?yōu)閇0,2],并將其均勻地分成255個(gè)量化區(qū)間,再對(duì)這255個(gè)量化間隔在00000000~11111111進(jìn)行編碼,即將所取的采樣點(diǎn)的幅度值對(duì)應(yīng)到各個(gè)量化間隔。
    具體實(shí)現(xiàn)方法,可通過用Matlab產(chǎn)生一個(gè)mif文件。Matlab源程序如下:
    o.jpg

3 系統(tǒng)仿真結(jié)果
    Altera公司的QuanusⅡ集合了綜合和仿真的功能。本設(shè)計(jì)在Quartus II中完成了VHDL的代碼編寫和綜合布線,并對(duì)整個(gè)設(shè)計(jì)系統(tǒng)進(jìn)行了時(shí)序仿真,仿真結(jié)果如圖7~圖8所示。其中,clk為外接輸入100 MHz時(shí)鐘;mode為模式控制鍵;code為由m序列產(chǎn)生的偽隨機(jī)碼,用做基帶碼元;dout為輸出的調(diào)制結(jié)果。

p.jpg


    圖7中,mode的值為“0”,說明是FSK調(diào)制方式。從圖中可以看出,當(dāng)基帶碼元code為“0”時(shí),dout輸出低頻調(diào)制波。當(dāng)基帶碼元code為“1”時(shí),dout輸出高頻調(diào)制波。實(shí)現(xiàn)了用不同的頻率變化傳遞數(shù)字信息,完成了FSK調(diào)制。
    圖8中,mode的值為“1”,說明是PSK調(diào)制方式。從圖中可以看出,dout的輸出波形頻率是單一的,當(dāng)基帶碼元由“1”向“0”跳變時(shí),波形出現(xiàn)倒π現(xiàn)象,實(shí)現(xiàn)了通過相位變化傳遞信息,完成了PSK調(diào)制。

4 結(jié)束語
    介紹了一種基于DDS技術(shù)的FSK/PSK調(diào)制方式的FPGA實(shí)現(xiàn)方法。整個(gè)系統(tǒng)采用VHDL硬件描述語言進(jìn)行軟件編寫,參數(shù)修改方便,并具有較強(qiáng)的可移植性。其原理簡(jiǎn)單,易于實(shí)現(xiàn)。相比傳統(tǒng)模擬調(diào)制方式,這種數(shù)字調(diào)制方式具有較好的穩(wěn)定性和抗干擾能力,在通信領(lǐng)域中具有較強(qiáng)的實(shí)用性。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。