對(duì)不同的信號(hào)通常有著不同的解碼算法,日常生活中主要為DTMF信號(hào)與PDM信號(hào)。DTMF(Double Tone Multi Frequency ,雙音多頻)信令使用在按鍵式電話機(jī)上,因其提供更高的撥號(hào)速率,并具有很強(qiáng)的抗干擾能力,從而迅速取代了傳統(tǒng)轉(zhuǎn)盤式電話機(jī)使用的撥號(hào)脈沖信令。 近年來(lái),DTMF 廣泛應(yīng)用于交互式控制中,如語(yǔ)言菜單、語(yǔ)言郵件、來(lái)電顯示、電話銀行和 ATM 終端等,用戶可發(fā)送 DTMF 信號(hào)來(lái)選擇菜單進(jìn)行操作。 DTMF 編碼器將數(shù)字按鍵信息轉(zhuǎn)換成雙音信號(hào)發(fā)送出去,解碼時(shí)對(duì)接收到的 DTMF 信號(hào)進(jìn)行檢測(cè),將其還原為數(shù)字鍵。
FFT算法FFT(快速傅里葉變換)是有限長(zhǎng)序列離散傅里葉變換(DFT)的快速算法,其基本運(yùn)算是蝶形算法,可使DFT計(jì)算時(shí)間縮短1~2個(gè)數(shù)量級(jí),大大推動(dòng)了數(shù)字信號(hào)處理技術(shù)的發(fā)展。解碼過(guò)程如下:1.對(duì)接收到的DTMF信號(hào)做FFT,畫頻譜圖,從中找出代表各信號(hào)的頻率分量。FFT中要求序列長(zhǎng)度N為2的E次冪(E為整數(shù)),所以N=28=256,由于頻譜分辨率F=fs/N≈31.25Hz<73Hz,因此可在頻譜圖中分辨出各頻率分量。DTMF信號(hào)的幅頻譜只含兩根譜線,譜線橫坐標(biāo)即該信號(hào)的兩個(gè)頻率分量點(diǎn)KL和KH。消除頻譜泄漏。由于DTMF信號(hào)是有限長(zhǎng)的,相當(dāng)于對(duì)無(wú)限長(zhǎng)的信號(hào)加矩形窗,因此在頻譜圖中必然會(huì)出現(xiàn)頻譜泄漏現(xiàn)象,使信號(hào)能量散布到其他譜線位置。為此應(yīng)選擇一適當(dāng)閾值,將出現(xiàn)在這兩條譜線周圍的幅度較小的譜線消除。2.將各DTMF信號(hào)還原為相應(yīng)的數(shù)字鍵。
DFT 算法用FFT算法解碼,每幀信號(hào)要做 N = 256 點(diǎn)FFT,而組成所有DTMF 信號(hào)的頻率只有 8 個(gè),于是可以只對(duì)每幀信號(hào)算 8 個(gè)最具有特征的特征點(diǎn)的DFT,以避開 FFT中許多無(wú)意義的計(jì)算。DFT 算法解碼過(guò)程如下:1.對(duì)每幀 DTMF 信號(hào)在 8 個(gè)特定的頻率上做DFT,畫幅頻譜圖,從中找出代表各信號(hào)的特征字。2.將各 DTMF 信號(hào)還原為相應(yīng)數(shù)字鍵。
頻域?yàn)V波算法1.首先對(duì)信號(hào)分幀,考慮到頻譜泄露等截?cái)嘈?yīng),用漢寧窗可得到更好的頻譜特性。然后根據(jù)序列加窗后的頻譜,從頻域上濾波,即對(duì)帶外頻譜置零,得到輸入序列理想化低通濾波后的頻譜。2.由于此時(shí)帶外頻譜已置零,信號(hào)帶寬減小,可直接將帶內(nèi)頻譜進(jìn)行拼接, 做傅里葉逆變換恢復(fù)時(shí)域波形,相當(dāng)于抽取。3.最后除以漢寧窗系數(shù),得到了解碼后的序列。在濾波中除去漢寧窗系數(shù)時(shí), 會(huì)放大序列兩端的絕對(duì)誤差。 對(duì)長(zhǎng)序列分段解碼時(shí),需要采用重疊保留法,即分段時(shí)需要與前后少量重疊, 解碼后丟棄前后重疊的部分, 保留中間絕對(duì)誤差小的部分作為解碼結(jié)果。此算法使用 DFT進(jìn)行解碼,分段的大小對(duì)解碼效果也有重要的影響。對(duì)不同頻率輸入信號(hào),采用頻域?yàn)V波解碼算法計(jì)算出來(lái)的信噪比,在分段較小時(shí),信噪比隨著頻率的升高而下降。因?yàn)轭l譜分析時(shí)產(chǎn)生頻譜泄露,在理想化濾波時(shí)被去除,導(dǎo)致由此恢復(fù)出的帶內(nèi)頻譜失真。并且頻率越高,泄露到帶外的越多,從而失真越大,信噪比下降。 隨著分段長(zhǎng)度的增加,信噪比的損失逐漸減小。分段長(zhǎng)度為 512×64,就可做到基本不損失信噪比,這是因?yàn)檩^大的分段可獲得更細(xì)致的頻譜, 減少頻譜泄露到帶外而引起的信噪比下降。