图一
图二
双线性变换法中的频率变换关系。
在看一个理论设计实例,这个实例只到了图二的第5 步。
再看一个滤波器程序实例。这个例子中以一段被噪声污染的音乐作为输入,然后以滤波器对其中的噪声滤除后作为输出。
clear
clc
fs = 22050;
wp=0.1*pi; %通带截止频率
ws=0.4*pi; %阻带截止频率
Rp=3; %通带衰减率
Rs=75; %阻带衰减率
Fs=22050;
Ts=1/Fs;
wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标
ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,Rp,Rs,’s’😉; %计算滤波器的最小阶数,求出3db的截止频率
[Z,P,K]=buttap(N); %计算滤波器零点,极点,增益
[Bap,Aap]=zp2tf(Z,P,K); %转变为归一化的传递函数,得出相应系数向量
[b,a]=lp2lp(Bap,Aap,Wn); %将由多项式系数给出的模拟低通滤波器原型转换为截止角频率 为Wo的低通滤波器。
[bd,ad]=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换
[x,fs]=audioread(‘addnoise.mp3’😉;
z=filter(bd,ad,x);
filename = ‘filterafter.wav’;
audiowrite(filename,z,44100)
三段不同的音频.mp31:02来自闽赣流浪者
上面这段音频分别是原始声音、被噪声干扰声音、滤波后声音。可以听出来,虽然没有原始声音好听,但滤波器还是起了一定的作用的。
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!