如何在MATLAB中限制波形信号

时间:2011-12-22 12:40:16

标签: matlab

我将.wav信号输入到Matlab工作区,然后我被要求进行#34;带限制"使用四阶巴特沃斯滤波器的信号,但我不确定如何做到这一点。

1 个答案:

答案 0 :(得分:1)

您应首先阅读Matlab函数butter的文档(位于信号处理工具箱中)。

此功能用于设计巴特沃斯滤波器。其中一种可能的语法是:

[b a]=butter(n,Wn,'ftype');
  • b和a是可以与函数filter
  • 一起使用的数字滤波器的系数
  • n是滤波器的顺序,除了带阻滤波器或带通滤波器的情况,在这种情况下,顺序为2 * n
  • Wn是截止频率,如果你想设计一个带阻滤波器或带通滤波器,它可以是一个2元素矢量。预期截止频率在0和1之间,其中1代表奈奎斯特频率

现在,如果您想将此应用于您的案例,您可以执行以下操作:

% Read wav file (store sampling frequency in fs)
[data fs]=wavread('sample.wav');
% Design a 4th order lowpass filter with a cutoff frequency of 5000 Hz 
% (notice how the cutoff frequency is scaled by the Nyquist frequency fs/2)
n=4;
Wn=5000*2/fs;
[b a]=butter(n,Wn,'low');
% Apply the filter to the data
datafilt=filter(b,a,data);