|
|
| <!--插入廣告JS代碼--> |
摘要:本文從波形合成基本原理出發(fā),研究了利用DSP合成任意波形的基本方法,并以TI公司的TMS320VC5402 DSP為例討論了DTMF的信號實現。
關鍵字:DSP 數字正弦振蕩器 DTMF
0 引言
數字信號處理器(DSP)是在模擬信號變成數字信號以后進行高速實時處理的專用處理器。自從20世紀70年代末問世以來,DSP芯片以其獨特的結構和快速實現各種數字信號處理算法的突出優(yōu)點,發(fā)展十分迅速,并在通信、雷達、聲納、語音合成和識別、圖像處理、影視、高速控制、儀器儀表、醫(yī)療設備、家用電器等眾多領域獲得了廣泛的應用。在波形及頻率合成領域,它同樣顯示出無可替代的能力[1]。
正弦波是任何波形構成的基本單元,因此本文主要介紹產生正弦波的幾種方法。并利用它合成了簡單的DTMF波形。產生正弦波的方法一般有:采樣回放法、查表法、泰勒級數展開法、數字正弦振蕩器法[2]。
1 正弦信號產生的方法
1.1 采樣回放法
該方法最為容易實現,只需對已有標準正弦信號源進行采樣得到數據后直接回放或進行變頻變幅處理后回放。該方法的關鍵在于采用高性能的A/D、D/A芯片并合理設計硬件電路,使信號處理過程中保證良好的波形,以保證采樣數據的精準性。在進行數字變頻及變幅處理時,要清楚數據的格式并保證回放數據的點數滿足奈奎斯特定理,防止頻譜混迭。
1.2 查表法
在VC5402的片內ROM中包含有256字的正弦及余弦數據表,可以通過程序直接使用該表中的數據,由D/A回放出正弦波。但由于該表中數據量有限,得到的正弦波頻率單一;且如TI公司的聲明所述,芯片ROM中的內容可能在將來發(fā)生改動,這樣不利于系統的兼容。
有效的解決方法是使用自己生成的正弦數據表。這樣,不但可以解決頻率單一的問題,還可以增加數據量,從而增加精度。其缺點在于使用大量的存儲空間。
正弦表可以通過MATLAB模擬仿真后生成數據文件得到,也可以采用方法3和4的辦法用計算的方法生成。
1.3 泰勒級數展開法
這是一種有效的生成正弦波的方法。一定角度的正弦及余弦波都可以展開成泰勒級數,實際應用是只取有限項進行近似處理。例如取前五項的近似公式為:

其中:
為角度值,x為其對應的弧度值。計算不同的角度只需不斷地變換
的值,且利用弧度與頻率之間的關系很容易實現變頻處理。如果進一步掌握好DSP及所用D/A的數據格式及參考電壓,還可以實現變幅處理。
1.4數字正弦振蕩器法
數字正弦波振蕩器可以視為在單位圓上有兩個復共軛極點的二階振蕩器。其系統函數可表示為:

其中:

可見用數字頻率振蕩器產生正弦波的實質就是如何用程序實現上述的差分方程。
2.采用數字正弦振蕩器法產生DTMF編碼波形
DTMF意為雙音調多頻率,簡稱雙音多頻或雙音頻。雙音是指發(fā)送一個數碼要同時發(fā)送兩個音頻頻率;多頻率是指DTMF信號共有多達8個音頻頻率。8個音頻頻率分成低頻組(FL)和高頻組(FH)兩組。低頻組包括697、770、852、940,對應發(fā)碼鍵盤的R1、R2、R3、R4四行;高頻組包括 1209、1336、1477、1633,對應發(fā)碼鍵盤的C1、C2、C3、C4四列。DTMF信號8個音頻頻率的選定,依據了下面的原則:(1)現行電話通信系統音頻通道通頻帶300-3400,考慮到兩端尤其是高端傳輸特性變差,為了保證DTMF信號的傳輸質量,應將其頻率范圍選定在音頻通頻帶的中低段;(2)為了保證DTMF信號解碼的選擇性,其信號頻率之間要有一定的間隔,但是間隔又不能太大,否則將會超出上述頻率范圍;(3)為了避免倍頻高次諧波的干擾,防止解碼端誤動,DTMF信號各個頻率之間的比值不能是整數。根據這3個原則,選定了DTMF信號的8個頻率,并且已經形成國際通用標準,組內相鄰頻率之間的比值約為1.105。DTMF發(fā)碼鍵盤電路和8個音頻頻率的對應關系如圖1所示。

圖1 DTMF發(fā)碼鍵盤電路和8個音頻頻率的對應關系
DTMF信號采用8中取2的方式,從高低兩個音頻頻率組中各取一個音頻信號復合而成,同時發(fā)送,一共可以發(fā)送16位數碼。DTMF解碼端只有同時收到 DTMF特定的雙音頻信號,才會響應并正確解碼輸出,對其他任何信號,包括DTMF信號組的單音頻,將一概不予理會。這樣就保證了DTMF信號解碼的抗干擾能力和準確性。
用DSP產生DTMF信號是比較容易的。用兩個數字正弦振蕩器把輸出合成起來,建立所希望的雙音頻。振蕩器實現過程中,首先將每個頻率的常數存在一個表中,用來初始化給定鍵的振蕩器;再按照上式的算法迭代計算,就得到正弦序列的輸出,將兩個這樣的輸出疊加即可得到雙音頻的輸出[3]。其原理框圖及系數表如圖2所示(其中采樣頻率設為8000Hz):

圖2 DTMF實現原理框圖及系數表
下面以697Hz頻率的產生為例說明程序中各系數的獲得(采樣頻率設為8000Hz):
按照模擬域頻率與數字域頻率的關系:

圖3說明了鍵"1"合成時兩頻率成份(697Hz和1209Hz)不同幅度比例時的合成波形及頻譜,請注意圖中的幅度差異[4]。
3.結論
通過在CCS軟件環(huán)境下的仿真可以看出,利用簡單的程序指令就可以實現原來需要復雜的硬件電路才可以實現的波形發(fā)生,結合信號的頻譜分析為實現任意波形的發(fā)生提供了基礎。

圖3 鍵"1"合成時兩頻率成份在不同幅度比例時的合成波形及頻譜
參考文獻:
[1] 朱銘鋯等編著.DSP應用系統設計[M].北京:電子工業(yè)出版社,2002. P265-283
[2] 張雄偉等編著.DSP芯片的原理與開發(fā)應用[M].北京:電子工業(yè)出版社,2002. P82-83
[3] 張雄偉等編著.DSP集成開發(fā)與應用實例[M].北京:電子工業(yè)出版社,2002. P263-269
[4].汪安民主編.TMS320C54xxDSP實用技術[M].北京:清華大學出版社,2002.P157-170