FSK/PSK調(diào)制的FPGA實(shí)現(xiàn)
本設(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所示。本文引用地址:http://www.ex-cimer.com/article/191198.htm
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源程序如下:
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é)果。
圖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)的可移植性。其原理簡單,易于實(shí)現(xiàn)。相比傳統(tǒng)模擬調(diào)制方式,這種數(shù)字調(diào)制方式具有較好的穩(wěn)定性和抗干擾能力,在通信領(lǐng)域中具有較強(qiáng)的實(shí)用性。
評(píng)論