色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的DTMF信號的譯碼算法的實(shí)現(xiàn)

          基于單片機(jī)的DTMF信號的譯碼算法的實(shí)現(xiàn)

          作者: 時(shí)間:2010-11-18 來源:網(wǎng)絡(luò) 收藏

          1、 引言

          DTMF信號首先用于電話的撥號系統(tǒng),在頻率編碼遙控系統(tǒng)及數(shù)據(jù)編碼傳輸中的應(yīng)用也很普遍。目前的DTMF譯碼器中,大多采用通用集成器件(單音譯碼電路和組合門電路)或?qū)S?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/DTMF信號譯碼">DTMF信號譯碼集成電路(如MC145436等)組成譯碼電路。在很多情況下,DTMF譯碼器輸出的數(shù)據(jù)仍需送入進(jìn)行相應(yīng)的運(yùn)算及處理,進(jìn)而控制其它各種設(shè)備的動作。因此,如果能找到一種基于的DTMF信號的譯碼算法,再輔之以簡單的整形電路就可以,既可省去成套譯碼電路,又能達(dá)到簡化電路降低成本的目的。本文所要介紹的,就是這種構(gòu)想的初衷,結(jié)果通過計(jì)算機(jī)仿真計(jì)算數(shù)據(jù)論證認(rèn)為完全能夠達(dá)到設(shè)計(jì)要求。

          2、DTMF信號頻率組成及整形前DTMF信號的幅值密度

          在DTMF信號中,16個(gè)指令鍵均由兩個(gè)單音頻率信號組合(見表1)。單音頻率有兩組,高頻組為(1209Hz、1336Hz、1447Hz、1633Hz),低頻組為(697Hz、770Hz、852Hz、941Hz),每個(gè)指令鍵,對應(yīng)的都是一個(gè)高頻組的頻率和一個(gè)低頻組的頻率的組合。以“*”號指令鍵為例:其DTMF信號是由941Hz的低頻組信號和1209Hz的高頻組信號組成。圖1為其頻譜圖。

          表1 DTMF信號頻率組成表

          基于單片機(jī)的DTMF信號的譯碼算法的實(shí)現(xiàn)


          從圖1中可以看出,“*”號指令鍵的DTMF信號在941Hz和1209Hz處有譜線。在理想條件下,可計(jì)算出頻譜密度函數(shù)X(f)在f=941Hz和1209Hz時(shí)的模值為|X(941)|,|X(1209)|,即它們模值均不為零。也就是說,要是同時(shí)存在頻譜密度函數(shù)模值為|X(941)|,|X(1209)|,并且它們模值均不為零時(shí),其表征的鍵號為“*”。以此類推(見表1),可分別計(jì)算出低頻組信號|X(697)|、|X(770)|、|X(852)|、|X(941)|和高頻組信號|X(1209)|、|X(1336)|、|X(1447)|、|X(1633)|的模值。如果高、低頻組中均各自有一個(gè)X(f)的模值不為零,則再通過f在表1查找出其表征的指令鍵。

          在用進(jìn)行X(f)運(yùn)算即離散傅立葉變換()時(shí),只能對有限長的DTMF信號進(jìn)行分析與處理,即對有限時(shí)間Tp=NT內(nèi)的N個(gè)數(shù)據(jù)進(jìn)行離散傅立葉變換(N為采樣點(diǎn)數(shù),T為采樣時(shí)間間隔)。

          根據(jù)定義式:

          基于單片機(jī)的DTMF信號的譯碼算法的實(shí)現(xiàn)


          同樣以“*” 指令鍵信號為例,在高頻率組f=1209 Hz,采樣點(diǎn)數(shù)N=256,采樣時(shí)間間隔T=55×10-6 S時(shí),由式K=f×N×T,可得K=17,即|X(17)|為DTMF信號在頻率為1209 Hz處的幅值密度其值為121.5。在低頻率組f=941 Hz,采樣點(diǎn)數(shù)N=256,采樣時(shí)間間隔T=54×10-6 S時(shí),由式K=f×N×T,可得K=13,即|X(13)|為DTMF信號在頻率為941 Hz處的幅值密度其值為123.6。同理,可計(jì)算出其它15個(gè)指令鍵的幅值密度,見表2(表2為對16個(gè)指令鍵的DTMF信號采用計(jì)算機(jī)仿真計(jì)算后的幅值密度)。

          表2 整形前DTMF信號的幅值密度表

          基于單片機(jī)的DTMF信號的譯碼算法的實(shí)現(xiàn)


          從表2看出:由于時(shí)域無限長DTMF信號被截?cái)嗨鸬男孤┬?yīng),如“2”、“3”號鍵對應(yīng)的DTMF信號雖然不含有頻率為1209 Hz和941 Hz的信號成份,可是|X(17)|、|X(13)|不為零,理想時(shí)應(yīng)為零,也就是說存在一定的幅值密度誤差。但對于含有f=1209 Hz高頻組信號的DTMF信號(如“1”、“4”、“7”、“*”鍵),其|X(17)|值遠(yuǎn)大于不含f=1209 Hz高頻組信號的DTMF信號的|X(17)|值。同樣,對于含有f=941 Hz低頻組信號的DTMF信號的|X(13)|值遠(yuǎn)大于不含f=941Hz低頻組信號的DTMF信號的|X(13)|值,這樣就為實(shí)際識別提供了必要的條件。

          因在實(shí)際應(yīng)用時(shí),任一鍵號所對應(yīng)的DTMF信號的譯碼過程為:

          (1)分別采樣DTMF信號計(jì)算出譜線為697Hz、770Hz、852Hz、941Hz的幅值密度|X(k)|。

          (2)從中排序找到低頻組頻率fL對應(yīng)幅值密度|X(k)|最大的值。

          (3)同法計(jì)算,譜線為1209Hz、1336Hz、1467Hz、1633Hz的幅值密度|X(k)|。

          (4)從中排序找到高頻組頻率fH對應(yīng)幅值密度|X(k)|最大的值。

          (5)根據(jù)fL、fH查表1,即可得到其所表征的鍵號。

          2、整形后DTMF信號的幅值密度及其實(shí)驗(yàn)數(shù)據(jù)誤差分析

          為了把DTMF信號送入單片機(jī)進(jìn)行DTMF信號譯碼,還必須要對DTMF信號進(jìn)行整形,見圖2所示。DTMF信號經(jīng)比較限幅,整形為方波后。從變換定義式看出:式中x(nT)的值只能為0或者1,因此計(jì)算|X(k)|的運(yùn)算量大大降低,表3即為通過整形后DTMF信號采用計(jì)算機(jī)仿真計(jì)算出的幅值密度。

          基于單片機(jī)的DTMF信號的譯碼算法的實(shí)現(xiàn)

          圖2 DTMF信號比較限幅示意圖

          表3 整形后DTMF信號的幅值密度表


          對比表3和表2可以發(fā)現(xiàn),整形為方波后的DTFM信號泄漏譜線的幅值密度有所增大,而有效譜線的幅值密度也相應(yīng)變小。例如7號指令鍵產(chǎn)生的泄漏譜線的幅值密度其值從14.09增大到22.38,而有效幅值密度其值從127.9減小到107.26。造成此類問題的主要原因是:

          (1)由于N,T只能選擇整數(shù),1/f不可能被N×T所整除,所以這必然會帶來柵欄效應(yīng),此時(shí)計(jì)算所得的有效譜線的幅值密度必然 小 于 實(shí) 際 值 。同 時(shí) ,由于采樣時(shí)間Tp=NT有限長而引起的泄漏效應(yīng),也必然會導(dǎo)致泄漏譜線的幅值密度增大。

          (2)DTMF信號經(jīng)整形為方波后會產(chǎn)生了十分豐富的諧波干擾,這些干擾信號的頻率如果接近泄漏譜線的頻率,也會使泄漏譜線的幅值密度增大。

          因此在譯碼過程中,如果有效譜線的幅值密度值變小,而泄漏譜線的幅值密度增大,當(dāng)泄漏譜線的幅值密度大于有效譜線的幅值密度時(shí),就會引起錯(cuò)譯和漏譯現(xiàn)象。所以在N×T值選擇過小,或者與待測周期的整數(shù)倍相差過大,再加上整形為方波后諧波干擾,將有可能引起錯(cuò)譯和漏譯。

          但是從表3中可見泄漏譜線的幅值密度最大值為22.38,而有效譜線的幅值密度最小值為87.92兩者相差近4倍,還存在較大的冗余量。例如:對于含有f=1209 Hz高頻組信號的DTMF信號(如“1”、“4”、“7”、“*”鍵),其|X(17)|值仍遠(yuǎn)大于不含f=1209 Hz高頻組信號的DTMF信號的|X(17)|值。同樣,對于含有f=941 Hz低頻組信號的DTMF信號的|X(13)|值也遠(yuǎn)大于不含f=941Hz低頻組信號的DTMF信號的|X(13)|值,二者仍可在排序中明顯區(qū)分出來,所以對DTMF信號整形后產(chǎn)生的一定幅值密度誤差增大,完全可以忽略不計(jì),只要譯碼應(yīng)用程序設(shè)計(jì)得當(dāng),合理選取N、T值,不會出現(xiàn)錯(cuò)譯和漏譯現(xiàn)象。

          在DTMF信號比較準(zhǔn)確或干擾較小的場合,甚至還可以通過減少N,T的值來提高運(yùn)算速度,減少譯碼時(shí)間。



          關(guān)鍵詞: DTMF信號譯碼 單片機(jī) DFT

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉