问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急!Matlab里面模拟滤波器函数怎么使用啊?谢谢!

发布网友 发布时间:2022-04-29 14:57

我来回答

5个回答

热心网友 时间:2023-10-13 08:28

你得到系数a,b后,你信号也知道吧,假设是x,然后你就用y=filter(b,a,x);
我当时学时也很困惑怎么用,后来我做的尝试,我给你一个例子看看吧,是我学习时自己写的
设计一个高通滤波器,并检验它的性能
采样率为10kHZ
阻带边缘为1.5Khz,衰减为40bB
通带边缘为2kHz,波纹为3Db
>>Fs=1e4;
>>fs=1.5e3;
>>fp=2e3;
>>As=40;
>>Rp=3;
>>wp=2*fp/Fs;
>>ws=2*fs/Fs;
>>[N,wn]=cheb2ord(wp,ws,Rp,As);
>>[b,a]=cheby2(N,As,wn,'high');
>>[db,mag,pha,grd,w]=freqz_m(b,a);
>> subplot(2,2,1);plot(w/pi,mag);
>> axis([0,1,0,1]);
>> setX([0 0.3 0.4 1]);
>>setY([0.01 0.7279 1])
>> title('Magnitude Response');
>> subplot(2,2,2);plot(w/pi,db);
>> axis([0 1 -70 0])
>> setX([0 0.3 0.4 1])
>> setY([-40 -2.7589])
>> title('Magnitude Response in dB');
然后给你一个信号x=cos(0.2*pi*n);
>>n=0:200;
>>x=cos(0.6*pi*n);
>>y=filter(b,a,x);
>>subplot(2,2,3);plot(n,x);
>>subplot(2,2,4);plot(n,y);
>>x1=fft(x,201);
>>x11=abs(x1);
>>subplot(2,2,1);stem(n,x11);
>>y1=fft(y,201);
>>y11=abs(y1);
>>subplot(2,2,2);stem(n,y11);
>>setX([0 60 140 201])
>>title('FFT of y');
>>subplot(2,2,1);stem(n,x11);
>>setX([0 60 140 201])
>>title('FFT of x');
>>g=x11-y11;
>>subplot(2,2,3);stem(n,g);
你运行一下,就可以看到结果,刚好把此信号滤掉
给你一个设计思路,你改变截止频率和阻带衰减就可以了
>> %假设截止频率为W,我随便定义一下
>> %比如wp=0.3*pi;ws=0.4*pi
>> wp=0.3*pi;ws=0.4*pi;
>> %阻带衰减为50分贝
>> %通带波纹为0.2分贝
>> As=50;Rp=0.2;
>> %那么可以用两个函数得到系数a,b
>> [N,wn]=buttord(wp/pi,ws/pi,Rp,As);
>> [b,a]=butter(N,wn);
>> %该滤波器就是从截止频率到无穷远都不响应
希采纳

热心网友 时间:2023-10-13 08:28

其实滤波本身很简单:
x=filter(b, a ,yy);
yy是你要滤的信号,注意它是个矢量,即数组。b和a是上面式子里的B,A。
滤波器的关键是在设计,即如何求B,A。你上面的那几句是远远不够的。详细的我一下说不清楚。建议你在网上找几个具体的例子体会一下就能掌握。
simulink里的滤波器是简单和直观,但是没有办法把它转换到脚本或函数里,而很多时候我们依然是要写程序的。

热心网友 时间:2023-10-13 08:29

虽然matlab提供了很多产生低通滤波器的函数,而且也提供了将低通转换为高通、带通等滤波器的方法函数,以及数字化的函数。但是为了简化设计及设计者方便考虑,matlab还提供了更为简便的产生各种滤波器的方法。
1 besself
功能:贝塞尔(Bessel)模拟滤波器设计。
格式:[b,a] = besself(n,Wn)
[b,a] = besself(n,Wn,'ftype')
[z,p,k] = besself(...)
[A,B,C,D] = besself(...)
说明:besself函数可以设计模拟低通、高通、带通和带阻贝塞尔(Bessel)滤波器。
[b,a] = besself(n,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶贝塞尔模拟
低通滤波器,b、a分别为滤波器传递函数的分子和分母系数向量(降幂排列)。
当Wn为二元向量,即Wn=[W1 W2] (W1<W2)时,[b,a] = besself(n,Wn)返
回一个2n阶模拟带通滤波器,其通带为W1<ω< W2。
[b,a] = besself(n,Wn,'ftype')用于设计高通和带阻滤波器,即
·ftype=high时,返回截止频率为Wn的高通滤波器;
·ftype=stop时,Wn=[W1 W2] (W1<W2),返回阻带为W1<ω< W2的模
拟带阻滤波器。
[z,p,k] = besself(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、
极点向量和增益系数。
[A,B,C,D] = besself(...)得到滤波器的状态空间模型。
2 butter
功能:巴特沃思(Butterworth)模拟/数字滤波器设计。
格式:[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(...)
说明:butter函数可以设计模拟或数字的低通、高通、带通和带阻Butterworth滤波
器。Butterworth滤波器可以使通带内的幅频响应最大程度地平坦,但这也使
得它的通带到阻带的过渡过程较慢。在这方面Chebyshev滤波器和椭圆滤波
器性能较好。
在设计数字滤波器时,butter函数中的参数Wn与besself函数有很大的区别,
它是一个相对量,其定义区间为Wn∈[0,1],其中1对应于0.5fs,fs为采样
频率(单位Hz);在设计模拟滤波器时,Wn采用真实频率,单位为Hz。
[b,a] = butter(n,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶Butterworth
数字低通滤波器,b、a分别为滤波器传递函数的分子和分母系数向量(降幂
排列)。
当Wn为二元向量,即Wn = [W1 W2] (W1<W2)时,[b,a] = butter(n,Wn)返
回一个2n阶数字带通滤波器,其通带为W1<ω< W2。
[b,a] = butter(n,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即
·ftype = high时,返回截止频率为Wn的数字高通滤波器;
·ftype =stop时, Wn = [W1 W2] (W1<W2),返回阻带为W1<ω< W2的
数字带阻滤波器
[b,a] = butter(n,Wn,'s')和[b,a] = butter(n,Wn,'ftype','s')中加入了选项‘s’,用于
设计各种模拟Butterworth滤波器。
[z,p,k] = butter(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、
极点向量和增益系数。
[A,B,C,D] = butter(...)得到滤波器的状态空间模型
3 cheby1
功能:切比雪夫(Chebyshev)I型模拟/数字滤波器设计。
格式:[b,a] = cheby1(n,Rp,Wn)
[b,a] = cheby1(n,Rp,Wn,'ftype')
[b,a] = cheby1(n,Rp,Wn,'s')
[b,a] = cheby1(n,Rp,Wn,'ftype','s')
[z,p,k] = cheby1(...)
[A,B,C,D] = cheby1(...)
说明:cheby1函数可以设计模拟或数字的低通、高通、带通和带阻ChebyshevI型滤
波器。ChebyshevI型滤波器通带内为等波纹,阻带内单调,通带到阻带的过
渡过程较快,代价是通带内波纹较大。
在设计数字滤波器时,cheby1函数中的参数Wn是一个相对量,其定义区间
为Wn∈[0,1],其中1对应于0.5fs,fs为采样频率(单位Hz);在设计模拟
滤波器时,Wn采用真实频率,单位为Hz。
[b,a] = cheby1(n,Rp,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶
ChebyshevI型数字低通滤波器,通带内波纹为Rp。b、a分别为滤波器传递函
数的分子和分母系数向量(降幂排列)。当Wn为二元向量,即Wn=[W1 W2]
(W1<W2)时,[b,a] = cheby1(n,Rp,Wn)返回一个2n阶数字带通滤波器,其通
带为W1<ω< W2。
[b,a] = cheby1(n,Rp,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即
·ftype = high时,返回截止频率为Wn的数字高通滤波器;
·ftype = stop时, Wn = [W1 W2] (W1<W2),返回阻带为W1<ω< W2的
数字带阻滤波器
[b,a] = cheby1(n,Rp,Wn,'s')和[b,a] = cheby1(n,Rp,Wn,'ftype','s')中加入了选项
‘s’,用于设计各种模拟ChebyshevI型滤波器。
[z,p,k] = cheby1(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、
极点向量和增益系数。
[A,B,C,D] = cheby1(...)得到滤波器的状态空间模型。
4 cheby2
功能:切比雪夫(Chebyshev)II型模拟/数字滤波器设计。
格式:[b,a] = cheby2(n,Rs,Wn)
[b,a] = cheby2(n,Rs,Wn,'ftype')
[b,a] = cheby2(n,Rs,Wn,'s')
[b,a] = cheby2(n,Rs,Wn,'ftype','s')
[z,p,k] = cheby2(...)
[A,B,C,D] = cheby2(...)
说明:cheby2函数可以设计模拟或数字的低通、高通、带通和带阻ChebyshevII型
滤波器。与ChebyshevI型滤波器不同,ChebyshevII型滤波器通带内为单调,
阻带内等波纹。它的通带到阻带的过渡过程比较快,代价是通带内波纹较大。
在设计数字滤波器时,cheby2函数中的参数Wn是一个相对量,其定义区间为
Wn∈[0,1],其中1对应于0.5fs,fs为采样频率(单位Hz);在设计模拟滤波器
时,Wn采用真实频率,单位为Hz。
[b,a] = cheby2(n,Rs,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶
ChebyshevII型数字低通滤波器,阻带内波纹为Rs。b、a分别为滤波器传递
函数的分子和分母系数向量(降幂排列)。当Wn为二元向量,即Wn=[W1 W2]
(W1<W2)时,[b,a] = cheby2(n,Rs,Wn)返回一个2n阶数字带通滤波器,其通带
为W1<ω< W2。
[b,a] = cheby2(n,Rs,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即
·ftype = high时,返回截止频率为Wn的数字高通滤波器;
·ftype = stop时, Wn = [W1 W2] (W1<W2),返回阻带为W1<ω< W2的
数字带阻滤波器。
[b,a] = cheby2(n,Rs,Wn,'s')和[b,a] = cheby2(n,Rs,Wn,'ftype','s')中加入选项‘s’,
用于设计各种模拟ChebyshevII型滤波器。
[z,p,k] = cheby2(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、
极点向量和增益系数。
[A,B,C,D] = cheby2(...)得到滤波器的状态空间模型。
5 ellip
功能:椭圆模拟/数字滤波器设计。
格式:[b,a] = ellip(n,Rp,Rs,Wn)
[b,a] = ellip(n,Rp,Rs,Wn,'ftype')
[b,a] = ellip(n,Rp,Rs,Wn,'s')
[b,a] = ellip(n,Rp,Rs,Wn,'ftype','s')
[z,p,k] = ellip(...)
[A,B,C,D] = ellip(...)
说明:ellip函数可以设计模拟或数字的低通、高通、带通和带阻椭圆滤波器。椭圆
滤波器的通带和阻带内均为等波纹,通带到阻带的过渡过程很快。在给定的
性能指标下,椭圆滤波器能以最低的阶实现。
在设计数字滤波器时,ellip函数中的参数Wn是一个相对量,其定义区间为
Wn∈[0,1],其中1对应于0.5fs,fs为采样频率(单位Hz);在设计模拟滤波
器时,Wn采用真实频率,单位为Hz。
[b,a] = ellip(n,Rp,Rs,Wn)返回截止频率为Wn的n阶椭圆数字低通滤波器,Rp、
Rs分别为通带和阻带内的波纹,b、a分别为滤波器传递函数的分子和分母系
数向量(降幂排列)。当Wn为二元向量,即Wn = [W1 W2] (W1<W2)时,
[b,a] = ellip(n,Rp,Rs,Wn)返回一个2n阶数字带通滤波器,其通带为W1<ω<
W2。
[b,a] = ellip(n,Rp,Rs,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即
·ftype = high时,返回截止频率为Wn的数字高通滤波器;
·ftype = stop时, , Wn = [W1 W2] (W1<W2),返回阻带为W1<ω< W2的
数字带阻滤波器。
[b,a] = ellip(n,Rp,Rs,Wn,'s')和[b,a] = butter(n,Rp,Rs,Wn,'ftype','s')中加入了选项
‘s’,用于设计各种模拟椭圆滤波器。
[z,p,k] = ellip(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、
极点向量和增益系数。
[A,B,C,D] = ellip(...)得到滤波器的状态空间模型。
6 yulewalk
功能:递归数字滤波器设计。
格式:[b,a] = yulewalk(n,f,m)
说明:yulewalk函数采用对指定的频率响应进行最小二乘拟合的方法设计递归的IIR
数字滤波器。
[b,a] = yulewalk(n,f,m)返回n阶IIR滤波器的传递函数,b、a分别为分子和分
母多项式系数向量,按降幂排列。
向量f、m指定了所希望的幅频响应形状。其中,f为频率点向量,采用相对
频率,即f∈[0,1],f = 1时对应0.5fs,fs为采样频率。m为对应的幅频响应
值向量,f、m的长度必须相同。用plot(f,m)可以画出滤波器的幅频响应曲线。
在指定幅频响应特性时,在通带和阻带之间要存在一定的过渡过程。

热心网友 时间:2023-10-13 08:29

在主界面敲入fdatool,在出来的界面上输入你的设置值,这样做比编程方便.

热心网友 时间:2023-10-13 08:30

你得到系数a,b后,你信号也知道吧,假设是x,然后你就用y=filter(b,a,x);
我当时学时也很困惑怎么用,后来我做的尝试,我给你一个例子看看吧,是我学习时自己写的

设计一个高通滤波器,并检验它的性能
采样率为10kHZ
阻带边缘为1.5Khz,衰减为40bB
通带边缘为2kHz,波纹为3Db

>>Fs=1e4;
>>fs=1.5e3;
>>fp=2e3;
>>As=40;
>>Rp=3;
>>wp=2*fp/Fs;
>>ws=2*fs/Fs;
>>[N,wn]=cheb2ord(wp,ws,Rp,As);
>>[b,a]=cheby2(N,As,wn,'high');
>>[db,mag,pha,grd,w]=freqz_m(b,a);
>> subplot(2,2,1);plot(w/pi,mag);
>> axis([0,1,0,1]);
>> setX([0 0.3 0.4 1]);
>>setY([0.01 0.7279 1])
>> title('Magnitude Response');
>> subplot(2,2,2);plot(w/pi,db);
>> axis([0 1 -70 0])
>> setX([0 0.3 0.4 1])
>> setY([-40 -2.7589])
>> title('Magnitude Response in dB');
然后给你一个信号x=cos(0.2*pi*n);
>>n=0:200;
>>x=cos(0.6*pi*n);
>>y=filter(b,a,x);
>>subplot(2,2,3);plot(n,x);
>>subplot(2,2,4);plot(n,y);
>>x1=fft(x,201);
>>x11=abs(x1);
>>subplot(2,2,1);stem(n,x11);
>>y1=fft(y,201);
>>y11=abs(y1);
>>subplot(2,2,2);stem(n,y11);
>>setX([0 60 140 201])
>>title('FFT of y');
>>subplot(2,2,1);stem(n,x11);
>>setX([0 60 140 201])
>>title('FFT of x');
>>g=x11-y11;
>>subplot(2,2,3);stem(n,g);
你运行一下,就可以看到结果,刚好把此信号滤掉

给你一个设计思路,你改变截止频率和阻带衰减就可以了

>> %假设截止频率为W,我随便定义一下
>> %比如wp=0.3*pi;ws=0.4*pi
>> wp=0.3*pi;ws=0.4*pi;
>> %阻带衰减为50分贝
>> %通带波纹为0.2分贝
>> As=50;Rp=0.2;
>> %那么可以用两个函数得到系数a,b
>> [N,wn]=buttord(wp/pi,ws/pi,Rp,As);
>> [b,a]=butter(N,wn);
>> %该滤波器就是从截止频率到无穷远都不响应
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孔子周游列国坐的什么车? 高内聚 ,低耦合 到底是什么意思? 高内聚低耦合的设计原则 清爽百合虾仁 高内聚低耦合原则 4题求详细解答,高中数学题 ...JAVA项目中各自功能与优点,他们之间的联系是什么? ...是pl/sql写好了,但是不是我们写哦,我想问各位java程序猿们,你们写吗... 核桃分心木泡几次水合适 核桃分心木泡多少次水合适 灯为什么不是短路 linkwitz-riley butterworth bessel 贝塞尔低通滤波器怎么计算参数,求详细解答 bessel在音频处理器上是什么意思 巴特沃斯,切比雪夫,贝塞尔滤波器有什么区别 贝塞尔滤波器的介绍 网上买卧铺票怎样选择上下铺, 巴特沃斯、切比雪夫、贝塞尔滤波器的区别? 何谓贝塞尔滤波器? 卧铺怎么选择上下铺 十米鱼竿钓草洞是选28调好还是19调好? Excel中矩阵如何转置 求助,10米鱼竿问题 10米长节竿怎么选? 当私募基金产品净值已经大于1,后面认购的资金的净值和回撤怎样计算? 基金的净值大是不是涨的意思? 买基金定投是买净值少于1的好还是多于1的好? 为什么有点基金刚上市净值一定是1有点基金刚上市净值是1以上? 螃蟹不知道怎么吃?看了这个视频,你就是吃蟹大佬 螃蟹怎么吃图解要看图片 趣步是一个什么类型的APP? 无限增益滤波器和巴特沃斯滤波器哪种滤波效果好? 什么时候做什么事是什么意思?? 一天之中什么时间段适合做什么事情?如什么时间运动 、什么时间学习 labview中的滤波器怎样选择 什么时候做什么事是什么意思? 求一阶有源低通滤波电路图(30kHZ,贝塞尔滤波器),那位大神指点一下 家长该如何培养孩子的时间观念,让孩子明白什么时候应该做什么事情? 请画出一个低通滤波器,并解释其工作原理 “什么时间该做什么事”用什么词形容? 贝塞尔传递公式各自代表什么意思,用到中心的距离和截止频率应该如何表 ... 什么时间该做什么事 描写什么时候该做什么事的名言是名言哦 养成好习惯,获得健康的身体,在什么时间做什么事情有利于健康? 形容什么时候该做什么事情的古语有哪些? 无线路由器设置40MHz一定比20MHz好吗 什么时间干什么事,亘古不变的道理 怎样合理的安排时间,计划自己要做的事? 每个时间段最适合做的事 想送给老婆一个礼物,送新款的艾灸仪怎么样? vivo游戏魔盒变声器怎么开