基于單片機的DTMF信號的譯碼算法研究
在用單片機進行X(f)運算即離散傅立葉變換(DFT)時,只能對有限長的DTMF信號進行分析與處理,即對有限時間Tp=NT內(nèi)的N個數(shù)據(jù)進行離散傅立葉變換(N為采樣點數(shù),T為采樣時間間隔)。
根據(jù)DFT定義式:
同樣以* 指令鍵信號為例,在高頻率組f=1209 Hz,采樣點數(shù)N=256,采樣時間間隔T=55×10-6 S時,由式K=f×N×T,可得K=17,即|X(17)|為DTMF信號在頻率為1209 Hz處的幅值密度其值為121.5.在低頻率組f=941 Hz,采樣點數(shù)N=256,采樣時間間隔T=54×10-6 S時,由式K=f×N×T,可得K=13,即|X(13)|為DTMF信號在頻率為941 Hz處的幅值密度其值為123.6.同理,可計算出其它15個指令鍵的幅值密度,見表2(表2為對16個指令鍵的DTMF信號采用計算機仿真計算后的幅值密度)。
從表2看出:由于時域無限長DTMF信號被截斷所引起的泄漏效應(yīng),如2、3號鍵對應(yīng)的DTMF信號雖然不含有頻率為1209 Hz和941 Hz的信號成份,可是|X(17)|、|X(13)|不為零,理想時應(yīng)為零,也就是說存在一定的幅值密度誤差。但對于含有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信號譯碼識別提供了必要的條件。
評論