基于DSP數(shù)字振蕩器的移相正弦波發(fā)生器設(shè)計(jì)
0 引 言
產(chǎn)生數(shù)字式移相信號(hào)的方法有很多。傳統(tǒng)的直接數(shù)字頻率合成(DDS)移相原理是先將正弦波信號(hào)數(shù)字化,并形成一張數(shù)據(jù)表存入兩片ROM芯片中,此后可通過(guò)兩片。D/A轉(zhuǎn)換芯片在計(jì)數(shù)器的控制下連續(xù)地循環(huán)輸出該數(shù)據(jù)表,就可獲得兩路正弦波信號(hào)。當(dāng)兩片D/A轉(zhuǎn)換芯片所獲得的數(shù)據(jù)序列完全相同時(shí),則轉(zhuǎn)換所得到的兩路正弦波信號(hào)無(wú)相位差。當(dāng)兩片D/A轉(zhuǎn)換芯片所獲得的數(shù)據(jù)序列不同時(shí),則轉(zhuǎn)換所得到的兩路正弦波信號(hào)就存在著相位差。相位差的值與數(shù)據(jù)表中數(shù)據(jù)的總個(gè)數(shù)及數(shù)據(jù)地址的偏移量有關(guān)。這種處理方式的實(shí)質(zhì)是將數(shù)據(jù)地址的偏移量映射為信號(hào)間的相位值。數(shù)據(jù)的偏差可以通過(guò)外部微處理器來(lái)獲得相應(yīng)的數(shù)字量輸入,這個(gè)數(shù)值對(duì)應(yīng)著正弦信號(hào)的移相角度。直接頻率合成方法具有頻率轉(zhuǎn)換時(shí)間短、相位噪聲性能好、精度高,產(chǎn)生的信號(hào)頻率范圍寬等優(yōu)點(diǎn),但由于需要采用地址、相位計(jì)算、訪問(wèn)存儲(chǔ)器操作等環(huán)節(jié),導(dǎo)致直接頻率合成器結(jié)構(gòu)復(fù)雜、成本高、移相分辨率低。本文利用DSP技術(shù),通過(guò)數(shù)值迭代方法,即用DSP數(shù)字振蕩器的實(shí)現(xiàn)原理獲得兩路正弦波信號(hào)。通過(guò)仿真,硬件實(shí)現(xiàn),能得到設(shè)定參數(shù)的兩路正弦波輸出,達(dá)到了設(shè)計(jì)目的,并具有調(diào)整方便靈活、分辨率高等特點(diǎn)。數(shù)值迭代方法能精確計(jì)算角度的正弦值,只需較小的存儲(chǔ)空間,選擇正弦周期中的樣點(diǎn)數(shù)、改變樣點(diǎn)間的延遲,能產(chǎn)生不同頻率的波形,可利用軟件改變波形幅度及相位。
1 波形及移相波形發(fā)生器的DSP實(shí)現(xiàn)原理
利用DSP通過(guò)運(yùn)算,用疊代的方法產(chǎn)生正弦信號(hào),即數(shù)字振蕩器。數(shù)字振蕩器的單位沖擊響應(yīng)為sin(nωT+θ)?u(n)即系統(tǒng)在δ(n)的激勵(lì)下,產(chǎn)生振蕩,輸出相位為θ的正弦序列,該系統(tǒng)的系統(tǒng)函數(shù)就是沖擊響應(yīng)的Z變換,即
則該系統(tǒng)所對(duì)應(yīng)的差分方程為
通過(guò)疊代可由差分方程求出系統(tǒng)的沖擊響應(yīng)。系統(tǒng)的輸入為x(n)=δ(n),初始條件為零。則由差分方程可得:
當(dāng)n≥3時(shí)有:y(n)=2cosωT?y(n-1)-y(n-2)。在n≥3以后,y(n)能用y(n-1)和y(n-2)算出,這是一個(gè)遞歸的差分方程。因此得到如下結(jié)論:只要已知系統(tǒng)輸出正弦信號(hào)角頻率ω和采樣周期T就可以得到系統(tǒng)差分方程,系統(tǒng)只需每隔T秒時(shí)間計(jì)算一次差分方程,就可得到當(dāng)前正弦采樣序列y(n)的值。設(shè)定的y(1)、y(2)初值不同,初始相位就不同。在設(shè)計(jì)中,主程序通過(guò)鍵盤輸入頻率及相位差等數(shù)據(jù),在初始化時(shí)依輸出信號(hào)頻率、采樣速率及相位差等數(shù)據(jù)先計(jì)算出兩路正弦信號(hào)的初始值y1(1)、y1(2)和y2(1)y2(2),然后開放定時(shí)器中斷。以后每次進(jìn)入定時(shí)器中斷服務(wù)程序時(shí),利用前面的y1(1)、y1(2)和y2(1)y2(2),計(jì)算出新的y1(0)和y2(0)。雖然兩次計(jì)算并輸出y1(0)和y2(0)有一定的延遲,但由于DSP的高速流水線運(yùn)行及McBSP高速串行輸出,所引起誤差將很小。
評(píng)論