基于FPGA的MSK調(diào)制器設(shè)計(jì)與實(shí)現(xiàn)
經(jīng)編譯后生成元件,其波形仿真圖如圖4所示,由圖可以得到:當(dāng)start為低電平時(shí),兩路輸出信號(hào)都為0;當(dāng)start信號(hào)為高電平時(shí),對輸入信號(hào)(datain_a)有:datain_a=011111111001,此時(shí)dataout_a=010101010001,對輸入信號(hào)(datain_b)有:datain_b=011110111101,此時(shí)Dataout_b=010100101001,由此可以得出,元件QDSP_PL實(shí)現(xiàn)了由絕對碼到相對碼的變換。
2.3 NCO的實(shí)現(xiàn)
2.3.1 NCO的實(shí)現(xiàn)原理
數(shù)控振蕩器在數(shù)字中頻中相對來說是比較復(fù)雜的,也是決定數(shù)字中頻性能的主要因素之一,NCO的目標(biāo)是產(chǎn)生一個(gè)理想的正弦波或余弦波,如式(8)。
式中,fL0為本地振蕩頻率;fs為輸入信號(hào)的采樣頻率。正弦波樣本可以用實(shí)時(shí)計(jì)算的方法產(chǎn)生,但這只適用于信號(hào)采樣頻率很低的情況。在超高速的信號(hào)采樣頻率的情況下,NCO實(shí)時(shí)計(jì)算的方法是不可能實(shí)現(xiàn)的,此時(shí),NCO產(chǎn)生正弦波樣本的最有效、最簡便的方法就是查表法,即事先根據(jù)不同正弦波相位計(jì)算好相應(yīng)的正弦值,并按相位角度作為地址存儲(chǔ)相應(yīng)的正弦值數(shù)據(jù),工作時(shí),在每輸入一個(gè)信號(hào)采樣樣本時(shí),NCO就增加一個(gè)的相位增量,然后,按照相位累加角度作為地址,取出該地址上的數(shù)值并輸出到數(shù)字混頻器,與信號(hào)樣本相乘,其原理框圖如圖5所示。通過改變頻率控制字,可以改變相位累加器的累加值,從而改變尋址的步進(jìn),實(shí)現(xiàn)不同的頻率輸出。本文引用地址:http://www.ex-cimer.com/article/190460.htm
2.3.2 相位累加器的FPGA實(shí)現(xiàn)
相位累加器由N位加法器與N位寄存器級(jí)聯(lián)構(gòu)成。每來一個(gè)時(shí)鐘fc,加法器將頻率控制字K與寄存器輸出的累加相位數(shù)據(jù)相加,再把相加后的結(jié)果送至寄存器的數(shù)據(jù)輸入端。相位累加器輸出的數(shù)據(jù)就是合成信號(hào)的相位,當(dāng)相位累加器累加到最大值時(shí)會(huì)產(chǎn)生一次溢出,完成一個(gè)周期的動(dòng)作。溢出頻率就是NCO輸出的信號(hào)頻率??捎肰HDL語言實(shí)現(xiàn)相位累加器的設(shè)計(jì),其主要代碼如下:
評論