用單片機(jī)實(shí)現(xiàn)DTMF信號(hào)譯碼
從表2看出:由于時(shí)域無(wú)限長(zhǎng)DTMF信號(hào)被截?cái)嗨鸬男孤┬?yīng),如“2”、“3”號(hào)鍵對(duì)應(yīng)的DTMF信號(hào)雖然不含有頻率為1209 Hz和941 Hz的信號(hào)成份,可是|X(17)|、|X(13)|不為零,理想時(shí)應(yīng)為零,也就是說(shuō)存在一定的幅值密度誤差。但對(duì)于含有f=1209 Hz高頻組信號(hào)的DTMF信號(hào)(如“1”、“4”、“7”、“*”鍵),其|X(17)|值遠(yuǎn)大于不含f=1209 Hz高頻組信號(hào)的DTMF信號(hào)的|X(17)|值。同樣,對(duì)于含有f=941 Hz低頻組信號(hào)的DTMF信號(hào)的|X(13)|值遠(yuǎn)大于不含f=941Hz低頻組信號(hào)的DTMF信號(hào)的|X(13)|值,這樣就為實(shí)際DTMF信號(hào)譯碼識(shí)別提供了必要的條件。
因在實(shí)際DTMF信號(hào)譯碼應(yīng)用時(shí),任一鍵號(hào)所對(duì)應(yīng)的DTMF信號(hào)的譯碼過(guò)程為:
(1)分別采樣DTMF信號(hào)計(jì)算出譜線為697Hz、770Hz、852Hz、941Hz的幅值密度|X(k)|。
?。?)從中排序找到低頻組頻率fL對(duì)應(yīng)幅值密度|X(k)|最大的值。
?。?)同法計(jì)算,譜線為1209Hz、1336Hz、1467Hz、1633Hz的幅值密度|X(k)|。
?。?)從中排序找到高頻組頻率fH對(duì)應(yīng)幅值密度|X(k)|最大的值。
?。?)根據(jù)fL、fH查表1,即可得到其所表征的鍵號(hào)。
2、整形后DTMF信號(hào)的幅值密度及其實(shí)驗(yàn)數(shù)據(jù)誤差分析
為了把DTMF信號(hào)送入單片機(jī)進(jìn)行DTMF信號(hào)譯碼,還必須要對(duì)DTMF信號(hào)進(jìn)行整形,見圖2所示。DTMF信號(hào)經(jīng)比較限幅,整形為方波后。從DFT變換定義式看出:式中x(nT)的值只能為0或者1,因此計(jì)算|X(k)|的運(yùn)算量大大降低,表3即為通過(guò)整形后DTMF信號(hào)采用計(jì)算機(jī)仿真計(jì)算出的幅值密度。
圖2 DTMF信號(hào)比較限幅示意圖
表3 整形后DTMF信號(hào)的幅值密度表
對(duì)比表3和表2可以發(fā)現(xiàn),整形為方波后的DTFM信號(hào)泄漏譜線的幅值密度有所增大,而有效譜線的幅值密度也相應(yīng)變小。例如7號(hào)指令鍵產(chǎn)生的泄漏譜線的幅值密度其值從14.09增大到22.38,而有效幅值密度其值從127.9減小到107.26。造成此類問(wèn)題的主要原因是:
?。?)由于N,T只能選擇整數(shù),1/f不可能被N×T所整除,所以這必然會(huì)帶來(lái)柵欄效應(yīng),此時(shí)計(jì)算所得的有效譜線的幅值密度必然 小 于 實(shí) 際 值 。同 時(shí) ,由于采樣時(shí)間Tp=NT有限長(zhǎng)而引起的泄漏效應(yīng),也必然會(huì)導(dǎo)致泄漏譜線的幅值密度增大。
?。?)DTMF信號(hào)經(jīng)整形為方波后會(huì)產(chǎn)生了十分豐富的諧波干擾,這些干擾信號(hào)的頻率如果接近泄漏譜線的頻率,也會(huì)使泄漏譜線的幅值密度增大。
因此在譯碼過(guò)程中,如果有效譜線的幅值密度值變小,而泄漏譜線的幅值密度增大,當(dāng)泄漏譜線的幅值密度大于有效譜線的幅值密度時(shí),就會(huì)引起錯(cuò)譯和漏譯現(xiàn)象。所以在N×T值選擇過(guò)小,或者與待測(cè)周期的整數(shù)倍相差過(guò)大,再加上整形為方波后諧波干擾,將有可能引起錯(cuò)譯和漏譯。
但是從表3中可見泄漏譜線的幅值密度最大值為22.38,而有效譜線的幅值密度最小值為87.92兩者相差近4倍,還存在較大的冗余量。例如:對(duì)于含有f=1209 Hz高頻組信號(hào)的DTMF信號(hào)(如“1”、“4”、“7”、“*”鍵),其|X(17)|值仍遠(yuǎn)大于不含f=1209 Hz高頻組信號(hào)的DTMF信號(hào)的|X(17)|值。同樣,對(duì)于含有f=941 Hz低頻組信號(hào)的DTMF信號(hào)的|X(13)|值也遠(yuǎn)大于不含f=941Hz低頻組信號(hào)的DTMF信號(hào)的|X(13)|值,二者仍可在排序中明顯區(qū)分出來(lái),所以對(duì)DTMF信號(hào)整形后產(chǎn)生的一定幅值密度誤差增大,完全可以忽略不計(jì),只要譯碼應(yīng)用程序設(shè)計(jì)得當(dāng),合理選取N、T值,不會(huì)出現(xiàn)錯(cuò)譯和漏譯現(xiàn)象。
評(píng)論