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

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

其中:

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

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

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

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

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