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

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

其中:

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

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

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

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

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