摘要:基于DDS和VHDL硬件描述技術,,采用大規(guī)??删幊涕T陣列FPGA,實現(xiàn)了FSK和PSK數(shù)字調制,。介紹了m偽隨機基帶碼元發(fā)生器,、跳變檢測器和DDS信號發(fā)生等模塊。系統(tǒng)參數(shù)易修改,、可移植性強,、性能穩(wěn)定。
關鍵詞:FSK/PSK,;DDS,;m偽隨機序列;FPGA
在通信領域,,經(jīng)常需要將基帶信號進行某種調制,,使其適合于信道傳輸。FSK,、PSK即為常用的兩種數(shù)字調制方式,。傳統(tǒng)模擬調制系統(tǒng)中大量采用分立元件,,體積較大,電路復雜,。由于模擬元件自身參數(shù)的離散性和受環(huán)境溫度,、濕度等因素影響,導致系統(tǒng)穩(wěn)定性較差,。本文提出了一種基于DDS技術的FSK/PSK調制的數(shù)字實現(xiàn)方法,,提高了系統(tǒng)的穩(wěn)定性,克服了模擬調制的弊端,。
1 FSK/PSK調制原理
頻移鍵控(Frequency Shift Keying,,F(xiàn)SK),是利用載波的頻率參量來攜帶數(shù)字信息的調制方式,。常用的是二進制頻率鍵控信號,,即2FSK,用載頻w1表示數(shù)字信息“1”,,用載頻w2表示數(shù)字信息“0”,,而w1和w2之間的變化是瞬間完成的。
相移鍵控(Phase Shift Keying,,PSK),,它是受鍵控的載波相位按數(shù)字基帶脈沖的規(guī)律而改變的一種數(shù)字調制方式。這種以載波的不同相位直接表示相應數(shù)字信息的相位鍵控,,通常被稱為絕對移相方式,。當基帶信號為二進制數(shù)字脈沖序列時,所得到的相位鍵控信號為二進制相位鍵控,,即2PSK,,它的表達式為
式中,φ(t)由數(shù)字信息“0”“1”控制,。在絕對移相中,,因為φ(t)選用的參考相位基準就是未調制的載波,所以φ(t)就是載波的絕對值,。一般說來,,數(shù)字信息為“1”時,φ(t)=0,,數(shù)字信息為“0”時,,φ(t)=π。即
FSK,、PSK的調制示意圖如圖1所示,。
2 FSK/PSK調制邏輯設計與仿真
FSK/PSK調制邏輯共分為3個部分:分頻器、m序列產(chǎn)生器和FSK/PSK調制器,。分頻器用于產(chǎn)生FSK/PSK調制器和m序列的基準時鐘信號f1,,f2和f3,,m偽隨機序列器產(chǎn)生基帶碼元。FSK/PSK調制器根據(jù)輸入的基帶碼元和基準時鐘產(chǎn)生相應的FSK或PSK信號,,調制模式由mode模式選擇,。當mode為低電平時,表示選擇FSK調制,,當mode為高電平時,,表示選擇PSK調制。FSK/PSK調制器輸出的數(shù)字調制信號經(jīng)DAC轉換成模擬信號輸出,。邏輯模塊框圖,,如圖2所示。
2.1 分頻器
分頻器對頻率為f0的時鐘輸入信號clk分別以分頻系數(shù)D1,,D2和D3產(chǎn)生FSK/PSK調制器和m序列的基準時鐘信號f1,f2和f3,。其關系如式(1)所示,。
f1和f2決定了FSK調制信號的兩個載波頻率,f2決定了PSK調制信號的載波頻率,,f3決定了基帶碼元速率,。為了保證每個基帶碼元的寬度T是載波周期的整數(shù)倍,在選擇分頻系數(shù)時應滿足式(2),。
式中,,M為D1和D2的最小公倍數(shù)。
2.2 m序列產(chǎn)生器
m序列是由多級移位寄存器或其他延遲元件通過線性反饋產(chǎn)生的最長的碼序列,。m序列的最大長度取決于移位寄存器的級數(shù),,而碼的結構取決于反饋抽頭的位置和數(shù)量。其特點是:隨機特性,、預先可確定性,、循環(huán)特性。
本設計利用帶有兩個反饋抽頭的3級反饋移位寄存器得到一串7位循環(huán)序列“1110010”,,并采取措施防止進入全“0”狀態(tài),。通過更換時鐘頻率,可以方便地改變輸入碼元的速率,。這一系列的循環(huán)序列碼作為基帶信號碼元,。其電路結構如圖3所示。
2.3 FSK/PSK調制器
FSK/PSK調制器由時鐘選擇模塊,、跳變檢測模塊和DDS信號發(fā)生模塊3部分組成,。原理如圖4所示。
2.3.1 時鐘選擇模塊
載波頻率選擇模塊的兩個輸入端分別接時鐘信號f1和f2,,其輸出信號fDDS作為DDS信號發(fā)生模塊基準時鐘信號,。該模塊的輸出真值表,,如表1所示。
2.3.2 跳變檢測模塊
跳變檢測模塊用于檢測基帶碼元的變化情況,。當基帶碼元上升或下降沿到來時,,其對應的輸出端產(chǎn)生與時鐘周期等寬的高脈沖信號jump_high或jump_low。該信號提供給下一級DDS的相位累加器,,來控制累加器的相位偏移,。跳變檢測原理圖如圖5所示。
2.3.3 DDS信號發(fā)生模塊
DDS是一種應用數(shù)字技術產(chǎn)生信號波形的方法,。由于模塊中只需產(chǎn)生兩種頻率和相位的波形,,因此對DDS的設計中省略了頻率控制字和相位控制字等部分。頻率改變通過時鐘選擇模塊選擇不同的基準時鐘來實現(xiàn),。簡化后的DDS主要由相位累加器和波形ROM組成,,如圖6所示。
相位累加器在頻率為fc的時鐘信號clk控制下,,以步長K作累加,,輸出的N位二進制作為波形存儲器ROM的地址,以該地址對ROM進行尋址,。則DDS輸出波形的頻率f0的表達式,,如式(3)所示
本設計中,取K=1,,N=8,,波形存儲深度為100個采樣點,則可得f0=fc/100,。jump_high,、jump_low、mode和clk通過控制相位累加器的輸出來實現(xiàn):FSK/PSK波形合成輸出,。當mode為低電平時,,即FSK調制模式時,jump_high和jump_low中任一信號出現(xiàn)高脈沖時,,累加器清零,,然后根據(jù)clk進行循環(huán)累加。當mode為高電平時,,即PSK調制模式時,,累加器的工作方式如表2所示。
ROM表是對選取的采樣點進行量化,、編碼,,通過相位累加器的地址值查找ROM表中的內(nèi)容,以得到可合成正弦波的正弦點的值,。其原理是:在橫軸上取100個采樣點,,將縱軸的正弦值[-1,,+1]總體提升一個單位,即將正弦值的取值區(qū)間變?yōu)閇0,,2],,并將其均勻地分成255個量化區(qū)間,再對這255個量化間隔在00000000~11111111進行編碼,,即將所取的采樣點的幅度值對應到各個量化間隔,。
具體實現(xiàn)方法,可通過用Matlab產(chǎn)生一個mif文件,。Matlab源程序如下:
3 系統(tǒng)仿真結果
Altera公司的QuanusⅡ集合了綜合和仿真的功能,。本設計在Quartus II中完成了VHDL的代碼編寫和綜合布線,并對整個設計系統(tǒng)進行了時序仿真,,仿真結果如圖7~圖8所示,。其中,clk為外接輸入100 MHz時鐘,;mode為模式控制鍵,;code為由m序列產(chǎn)生的偽隨機碼,用做基帶碼元,;dout為輸出的調制結果。
圖7中,,mode的值為“0”,,說明是FSK調制方式。從圖中可以看出,,當基帶碼元code為“0”時,,dout輸出低頻調制波。當基帶碼元code為“1”時,,dout輸出高頻調制波,。實現(xiàn)了用不同的頻率變化傳遞數(shù)字信息,完成了FSK調制,。
圖8中,,mode的值為“1”,說明是PSK調制方式,。從圖中可以看出,,dout的輸出波形頻率是單一的,當基帶碼元由“1”向“0”跳變時,,波形出現(xiàn)倒π現(xiàn)象,,實現(xiàn)了通過相位變化傳遞信息,完成了PSK調制,。
4 結束語
介紹了一種基于DDS技術的FSK/PSK調制方式的FPGA實現(xiàn)方法,。整個系統(tǒng)采用VHDL硬件描述語言進行軟件編寫,,參數(shù)修改方便,并具有較強的可移植性,。其原理簡單,,易于實現(xiàn)。相比傳統(tǒng)模擬調制方式,,這種數(shù)字調制方式具有較好的穩(wěn)定性和抗干擾能力,,在通信領域中具有較強的實用性。