如何摆脱信号中的噪音?

时间:2012-10-02 02:02:00

标签: matlab signal-processing decoder dtmf noise-reduction

我整个星期都试图找出这个问题。我的主要问题是从声音中的噪声中分离声音(参见绘制的示例:

enter image description here

在这些小噪音之间是dtmf音。一旦我得到转换它们的音调的起点和终点的索引就很容易了。

我们究竟如何确定噪音的开始或开始?每种噪音可能有不同的长度,并且实际声音中有很多突然下降。我理解采用小块的概念,但我们如何比较它们以确定声音的噪音。我们可以通过比较指数的长度来平息沉默 连续下一定数量?我不知道如何开始这个 问题

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

1 个答案:

答案 0 :(得分:0)

由于您对所需信号的了解多于对噪声的了解,因此通常认为过滤和传递所需信号更容易,并在将信号滤除噪声后确定此信号的开始和停止。例如,您可以尝试一组窄带滤波器,每个滤波器围绕一个DTMF​​频率。