• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 用單片機實現DTMF信號譯碼

    用單片機實現DTMF信號譯碼

    作者: 時間:2009-03-18 來源:網絡 收藏


    表2 整形前的幅值密度表

    從表2看出:由于時域無限長被截斷所引起的泄漏效應,如“2”、“3”號鍵對應的雖然不含有頻率為1209 Hz和941 Hz的信號成份,可是|X(17)|、|X(13)|不為零,理想時應為零,也就是說存在一定的幅值密度誤差。但對于含有f=1209 Hz高頻組信號的DTMF信號(如“1”、“4”、“7”、“*”鍵),其|X(17)|值遠大于不含f=1209 Hz高頻組信號的DTMF信號的|X(17)|值。同樣,對于含有f=941 Hz低頻組信號的DTMF信號的|X(13)|值遠大于不含f=941Hz低頻組信號的DTMF信號的|X(13)|值,這樣就為實際識別提供了必要的條件。
      因在實際應用時,任一鍵號所對應的DTMF信號的譯碼過程為:

      (1)分別采樣DTMF信號計算出譜線為697Hz、770Hz、852Hz、941Hz的幅值密度|X(k)|。
      (2)從中排序找到低頻組頻率fL對應幅值密度|X(k)|最大的值。
      (3)同法計算,譜線為1209Hz、1336Hz、1467Hz、1633Hz的幅值密度|X(k)|。
      (4)從中排序找到高頻組頻率fH對應幅值密度|X(k)|最大的值。
      (5)根據fL、fH查表1,即可得到其所表征的鍵號。

    2、整形后DTMF信號的幅值密度及其實驗數據誤差分析

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

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

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

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

      (1)由于N,T只能選擇整數,1/f不可能被N×T所整除,所以這必然會帶來柵欄效應,此時計算所得的有效譜線的幅值密度必然 小 于 實 際 值 。同 時 ,由于采樣時間Tp=NT有限長而引起的泄漏效應,也必然會導致泄漏譜線的幅值密度增大。
      (2)DTMF信號經整形為方波后會產生了十分豐富的諧波干擾,這些干擾信號的頻率如果接近泄漏譜線的頻率,也會使泄漏譜線的幅值密度增大。

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

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 宝鸡市| 益阳市| 临汾市| 青浦区| 吴江市| 怀化市| 理塘县| 手机| 永靖县| 迁西县| 弋阳县| 昌图县| 西畴县| 盘锦市| 溧水县| 彩票| 名山县| 贵港市| 万全县| 德江县| 温宿县| 西乌| 芜湖县| 大石桥市| 江北区| 惠东县| 隆昌县| 石门县| 安徽省| 农安县| 平塘县| 安阳县| 都兰县| 西和县| 临夏县| 绥化市| 竹溪县| 图木舒克市| 沂南县| 泸定县| 温泉县|