求用matlab实现fir滤波器(低通、高通,带通) 10

要求输入信号带有噪声,无论用那种设计方法实现,只要滤波效果好就行了。急急急... 要求输入信号带有噪声,无论用那种设计方法实现,只要滤波效果好就行了。急急急 展开
 我来答
日向淳正
推荐于2017-05-16 · TA获得超过2811个赞
知道大有可为答主
回答量:2770
采纳率:0%
帮助的人:1405万
展开全部
窗函数设计低通滤波器:
fp=1000;
fc=1200;
as=100;
ap=1;
fs=22000;
wp=2*fp/fs;
wc=2*fc/fs;
N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1;
beta=0.1102*(as-8.7);
window=Kaiser(N+1,beta);
b=fir1(N,wc,window);
freqz(b,1,512,fs);

高通滤波器:
fs=22000;
Wp=2*5000/fs;
Ws=2*4800/fs;
Ap=1;
As=100;
N=ceil(8*pi/(Wp-Ws))+1;
N=N+mod(N+1,2)+1;
Wc=(Wp+Ws)/2/pi;
h=fir1(N,Wc,'high');
omega=linspace(0,pi,512);
freqz(h,1,omega);

带通滤波器:
fs=22000;
Wp1=2*1200/fs;
Wp2=2*3000/fs;
Wc1=2*1000/fs;
Wc2=2*3200/fs;
Ap=1;
As=100;
W1=(Wp1+Wc1)/2;
W2=(Wp2+Wc2)/2;
wdth=min((Wp1-Wc1),(Wc2-Wp2));
N=ceil(11*pi/wdth)+1;
b = fir1(N,[W1 W2]);
freqz(b,1,512,fs)

双线性法设计低通滤波器:
fp=1000;
fc=1200;
as=100;
ap=1;
fs=22000;
wp=2*fp/fs;
wc=2*fc/fs; %归一化截止频率
[n,wn]=ellipord(wp,wc,ap,as);%求数字滤波器的最小阶数和归一化截止频率
[b,a]=ellip(n,ap,as,wn);%求传递函数的分子分母系数
freqz(b,a,512,fs);
hangyijun
2009-04-05
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
这个你可以通过matlab的help 功能找到相应的函数输入相应的滤波参数就可以得到滤波函数的相应参数。
比如:Syntax[b,a] = butter(n,Wn)
[b,a] = butter(n,Wn,'ftype')
[b,a] = butter(n,Wn,'s')
[b,a] = butter(n,Wn,'ftype','s')
[z,p,k] = butter(...)
[A,B,C,D] = butter(...)
Descriptionbutter designs lowpass, bandpass, highpass, and bandstop digital and analog Butterworth filters. Butterworth filters are characterized by a magnitude response that is maximally flat in the passband and monotonic overall. Butterworth filters sacrifice rolloff steepness for monotonicity in the pass- and stopbands. Unless the smoothness of the Butterworth filter is needed, an elliptic or Chebyshev filter can generally provide steeper rolloff characteristics with a lower filter order.
你还可以使用matlab toolboxes中的filter design 工具设计各种滤波器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoutao1201987
2009-03-24 · 超过12用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:27.4万
展开全部
simulink-DSP Blockset-flitering-Analog fliter design

模拟信号的滤波器
可以设计为band pass 或者 low pass什么的

有些时候要考虑它产生饿相移问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赫博牵恬欣
2019-07-13 · TA获得超过1120个赞
知道小有建树答主
回答量:1806
采纳率:100%
帮助的人:9.2万
展开全部
%设计低通滤波器:
[n,wc]=buttord()
%估算得到butterworth低通滤波器的最小阶数n和3db截止频率wc
[a,b]=butter(n,wc);%设计butterworth低通滤波器
[h,f]=freqz();%求数字低通滤波器的频率响应
figure(2);%打开窗口2
subplot(221);%图形显示分割窗口
plot(f,abs(h));%绘制butterworth低通滤波器的幅频响应图
title(巴氏低通滤波器'');
grid;%绘制带网格的图像
sf=filter(a,b,s);%叠加函数s经过低通滤波器以后的新函数
subplot(222);
plot(t,sf);%绘制叠加函数s经过低通滤波器以后的时域图形
xlabel('时间(seconds)');
ylabel('时间按幅度');
sf=fft(sf,256);%对叠加函数s经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w=%新信号角频率
subplot(223);
plot());%绘制叠加函数s经过低通滤波器以后的频谱图
title('低通滤波后的频谱图');
%设计高通滤波器
[n,wc]=buttord()
%估算得到butterworth高通滤波器的最小阶数n和3db截止频率wc
[a,b]=butter(n,wc,'high');%设计butterworth高通滤波器
[h,f]=freqz();%求数字高通滤波器的频率响应
figure(3);
subplot(221);
plot(f,abs(h));%绘制butterworth高通滤波器的幅频响应图
title('巴氏高通滤波器');
grid;%绘制带网格的图像
sf=filter();%叠加函数s经过高通滤波器以后的新函数
subplot(222);
plot(t,sf);;%绘制叠加函数s经过高通滤波器以后的时域图形
xlabel('time(seconds)');
ylabel('timewaveform');
w;%新信号角频率
subplot(223);
plot());%绘制叠加函数s经过高通滤波器以后的频谱图
title('高通滤波后的频谱图');
%设计带通滤波器
[n,wc]=buttord([)
%估算得到butterworth带通滤波器的最小阶数n和3db截止频率wc
[a,b]=butter(n,wc);%设计butterworth带通滤波器
[h,f]=freqz();%求数字带通滤波器的频率响应
figure(4);
subplot(221);
plot(f,abs(h));%绘制butterworth带通滤波器的幅频响应图
title('butterbandpassfilter');
grid;%绘制带网格的图像
sf=filter(a,b,s);%叠加函数s经过带通滤波器以后的新函数
subplot(222);
plot(t,sf);%绘制叠加函数s经过带通滤波器以后的时域图形
xlabel('time(seconds)');
ylabel('timewaveform');
sf=fft();%对叠加函数s经过带通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w=(%新信号角频率
subplot(223);
plot('));%绘制叠加函数s经过带通滤波器以后的频谱图
title('带通滤波后的频谱图');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式