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

我的毕业设计需要用matlab设计一个能实现低通,带通,带阻的FIR数字滤波器,但我没学过matlab啊,那程序我不知道怎么编写,希望知道的师兄师姐帮帮我啊,急啊

第1个回答  推荐于2017-09-15
%设计低通滤波器:
[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('Time waveform');
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('butter bandpass filter');
grid; %绘制带网格的图像
sf=filter(a,b,s); %叠加函数S经过带通滤波器以后的新函数
subplot(222);
plot(t,sf); %绘制叠加函数S经过带通滤波器以后的时域图形
xlabel('Time(seconds)');
ylabel('Time waveform');
SF=fft(); %对叠加函数S经过带通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w=( %新信号角频率
subplot(223);
plot(')); %绘制叠加函数S经过带通滤波器以后的频谱图
title('带通滤波后的频谱图');本回答被提问者采纳

基于MATLAB的数字滤波器设计【FIR和IIR】
FIR滤波器设计 FIR滤波器的实现关键在于数据存储和滑动处理。在MATLAB中,设计滤波器参数时,例如阶数N=15,截止频率Wn=0.1,通过函数fir1生成滤波系数。通过运行代码,如`b=fir1(N,Wn)`,我们可以得到滤波器的系数数组。滤波效果通过`freqz`函数可视化,可以看到滤波器的幅频和相频特性。通过检验方波...

如何用matlab实现fir低通滤波器
3. 使用IIR设计方法创建数字滤波器,并计算其对心电图信号x的采样序列的响应y1。4. 采用FIR设计方法创建数字滤波器,并计算其对心电图信号x的采样序列的响应y2。5. 比较y1和y2的结果,以观察和理解不同滤波器设计方法对心电图信号处理的影响。

如何用matlab实现fir低通滤波器
1、首先打开FilterDesign & Analysis Tool单击MATLAB主窗口下方的“Start”按钮。2、输入心电图信号x=[4 -2 0 -4 -6 -4 -2 -4 -6 -6 -4 -4 -6 -6 -2 6 12 8 0 -16 -38 -60 -84 -90 -66 -32 -4 -2 -4 8 12 12 10 6 6 6 4 0 0 0 0 0 -2 -4 0 0 0 -...

用MATLAB设计低通,带通,高通和带阻FIR数字滤波器 急!!!
在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。4.IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用...

用matlab设计滤波器
这个信号的频率分量分别为30、150和600Hz,因此可分别设计一个低通、带通和高通的滤波器来提取。以FIR滤波器为例,程序如下:clear;fs=2000;t=(1:1000)\/fs;x=10*cos(2*pi*30*t)+cos(2*pi*150*t)+5*cos(2*pi*600*t);L=length(x);N=2^(nextpow2(L));Hw=fft(x,N);figure(1)...

基于matlab数字滤波器的设计
本次数字滤波器设计方法是基于MATLAB的数字滤波器的设计。此次设计的主要内容为:IIR数字滤波器和FIR数字滤波器的设计 关键词:IIR、FIR、低通、高通、带阻、带通 Abstract "Digital Signal Processing" is a theoretical and practical nature are strong, and it has advanced algebra and numerical analy...

基于MATLAB的工具箱fdatool的FIR滤波器系数的设计
1. 启动MATLAB,通过命令行输入“fdatool”打开滤波器设计工具箱。2. 以设计等波纹法低通FIR滤波器为例,设置滤波器阶数为15,采样频率50MHz,通带频率2MHz,截止频率3MHz。点击“Design Filter”。3. 展示设计的滤波器后,导出文件。选择定点数(FPGA处理浮点数复杂,宜用定点数),设置位数为16,综合...

MATLAB中FIR滤波器如何设计
这样的话,设计一个FIR滤波器,主要是由阻带最小衰减来确定窗形状,再根据过渡带宽的要求来确定窗宽N。有一个窗函数基本参数表,可以对照着选。然后用MATLAB中fir1函数来设计,其语法格式为:b=fir1(N,wn,'ftype',window)。需简单计算N,wn 例题:设计一个低通数字滤波器,给定抽样频率为fs=5000Hz...

基于matlab 的fir滤波器程序
经计算得相应数字滤波器的指标:通带截止频率:fp=0.6*fs\/2 通带波纹:rp=0.01(假设的,单位db,下同);阻带截止频率:fs=0.7*fs\/2 阻带衰减:rs=0.1(假设的,同上)程序如下,给出了幅频特性曲线。clear;fs=80;fp=0.6*fs\/2;rp=0.01;fs=0.7*fs\/2;rs=0.1;f= [fp fs];a...

给定系统函数怎么在MATLAB中在fitter design中设计滤波器
Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(椭圆...

相似回答