MATLAB butterworth巴特沃斯滤波器过滤音频——高频滤波器例子

主要函数:

[b,a] = butter(n,Wn,ftype)

设计低通,高通,带通或带阻巴特沃斯滤波器,取决于ftype元素的数值和元素的数量Wn


ftype- 过滤器类型
可选值:'low''bandpass''high'|'stop'

过滤器类型,指定为以下之一:

  • 'low'指定具有截止频率的低通滤波器Wn'low'是标量的默认值Wn

  • 'high'指定具有截止频率的高通滤波器Wn

  • 'bandpass'n如果Wn是双元素向量,则指定2阶带通滤波器。有两个元素'bandpass'时是默认值Wn

  • 'stop'n如果Wn是两元素向量,则指定阶数为2的带阻滤波器。


% butterworth滤波器的应用
% 以下为高通滤波器
cutOffFreq=1000;	% Cutoff frequency 截止频率
filterOrder=5;		% Order of filter 滤波器的阶数,越大滤的越多
au='jiang.ogg';     % Vedio Name 音频名称,放置于同一目录下
[ay,afs]=audioread(au);
[b, a]=butter(filterOrder, cutOffFreq/(afs/2), 'high'); %低通高通改变最后一个量,'low'
y=filter(b, a, ay);
time=(1:length(ay))/afs;

subplot(2,1,1);
plot(time, ay);
subplot(2,1,2);
plot(time, y);

%audiowrite('jiang000.ogg', y, afs); %保留音频
sound(y,afs);
clear y  cutOffFreq

 

你可能感兴趣的:(matlab)