DTMF--VAD 项目分析
這一項目是準確的找出DTMF信號的起點,當檢測到后,觸發DTMF decoder, 對此后接收的數據進行解碼,等到相應的撥號鍵值。
?????? 1. 分析輸入信號特征: 信號是DTMF信號加信道中的電路噪聲,現初步分析,這背景噪聲是高斯背景噪聲,這種噪聲好在對DTMF頻率特性損失不是很大,這樣問題會好解決一點。
????? 2.?信號是由一個或一串 DTMF?信號,但處理情況一樣。這有一個難點,就是在有背景噪聲的情況下,能很準確的檢測出信號的起始點,常用的端點檢測算法可能會失效。常用算法是以幀為單位,一幀長128samples或256samples, 誤差往往有一到五幀,但DTMF標準信號是一個撥號鍵聲音持續100ms, 采樣率為8KHz,也就是800samples, 其中只有400samples有信號, 剩下的是靜音。這就得好好研究一下VAD算法,確保至少保留住每個撥號的信號75%的samples,也即200samples+400sample 靜音,才能在后續DTMF decoder中解析出相應的數值。
????? 3. 對算法的復雜度有要求,要實時對電話信道中的(P(CM+ 電路背景噪聲的信號)進行檢測。
???? 4.?實現軟件的結構要好好考慮一下,之間怎么個調用關系,數據流怎么流。初步分析:VAD 這個程序要一直運行,當檢測到信道中有信號時,再去觸發DTMF decoder,?經過DTMF decoder得到相應的鍵值或狀態號。
???? While(1)
??? {
?????? DTMF_real_VAD();
?????? if(flag)
????? {
????? DTMF_Dec();
????? }
??? }
? 現分析這么多,到時邊寫代碼再修改。
總結
以上是生活随笔為你收集整理的DTMF--VAD 项目分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java描述设计模式(23):访问者模式
- 下一篇: 分布式系统文件