2012-10-02 76 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​​频率。