DTMF VAD 專案分析

2021-09-05 19:20:50 字數 682 閱讀 5001

這一專案是準確的找出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)

}現分析這麼多,到時邊寫**再修改。

spring mvc 專案分析

分包 controller dao dao.impl service service.impl model util 資料校驗 資料轉換 資料計算等 在model包新建乙個page類以便分頁操作 建立乙個servicemanager來管理service 配置檔案 分三個 hibernate 資料來源...

專案分析 PLUG

plug過程 1.init plug define init plug plug initplug g initplug true 共享記憶體資料結構 struct plugsharememory inline void createsharememory i plugmodulemanage pm...

小專案分析

偽 編寫 提示使用者 輸入乙個姓名search name input 根據這個姓名,依次到名片字典中進行比對 依次拿到每乙個字典 for 變數 in 資料容器 得到第乙個名片字典,就與search name比一下,看字典中的name鍵的值 與它是否一致 變數 name search name 得到第...