2012-10-02 114 views
-2

我一直試圖弄清楚這個問題整個星期。我的主要問題是分隔條件從噪音中的聲音信號(見繪製例如:如何擺脫信號中的噪音?

enter image description here

在這些小的噪聲彼此之間是DTMF音頻一旦我得到了首發的色調的指數點和落腳點轉換它們很容易

我們應該如何確定是噪聲開始還是開始?每個噪聲可以是不同的長度,並且在實際聲音中有大量的突然下降,我理解採用小塊,但我們如何比較它們以確定來自聲音的噪音。我們可以通過比較索引的長度來確定沉默嗎?連續210下一定數量?我不知道如何開始這個 的問題。

function [phone_number,ERROR] = cjm274_dtmf_number(dtmf_signal,fs) 
Input: 
% dtmf_signal - samples of the input waveform 
% fs - sampling frequency 
% Output: 
% phone_number - string of characters representing a phone number 
% ERROR - set to zero if phone_number does not represent a valid 
% phone number 
+0

這是某種功課嗎?你有沒有覆蓋變頻? – nneonneo

+1

做這種事情的標準方法是過濾除了8個DTMF​​感興趣的頻率之外的所有東西。看看使用[Goertzel算法](https://en.wikipedia.org/wiki/Goertzel_algorithm)。 –

回答

0

既然你知道的比對噪音更多關於你的期望的信號,它通常被認爲容易過濾,並通過所需的信號,並確定過濾出來的噪音後該信號的開始和結束。例如,您可以嘗試一組窄帶濾波器,每個濾波器都圍繞一個DTMF​​頻率。