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