如何在matlab用带通滤波器进行滤波?

本站介绍的matlab带通滤波器和如何在matlab用带通滤波器进行滤波?,接下来是我给大家带来的。

以带通滤波器——巴特沃斯滤波器为例

matlab给出的代码如下:[n,Wn] = buttord(Wp,Ws,Rp,Rs)

是不是显得很不人性化,即便是看了help中的英文解释,仍旧是对输入输出参数一知半解~那么我就用简单的语言来描述一下~

首先要先理解一个带通滤波器的幅频特性图中,分为通带、阻带、过渡带三大部分。

通带截止频率和阻带截止频率对这三部分进行划分,二者之间的部分即为过渡带。

一.如何设计带通滤波器?

1.Wp,Ws分别是通带频率和阻带截止频率

这两个频率是指同一侧的通带和阻带频率,比如设计一个40Hz~100Hz的带通滤波器

Wp1=40Hz,Wp2=100Hz,代表Wp1~Wp2之间是通带

Ws1=20Hz,Ws2=120Hz,代表0~20Hz和120Hz~正无穷为阻带

过渡带宽度=阻带边缘频率-通带边缘频率(高频的一侧)=Ws2-Wp2=20Hz

2.Rp,Rs是描述通带、阻带幅值的两个重要参量

Rp是描述通带波纹(起伏程度)的一个参量,通带纹波是指在滤波器的频响中通带的最大幅值和最小幅值之间的差值,正常的纹波一般小于1db。

通带波纹当然越小越好,这样通带内频率的幅度都基本稳定在单倍幅度上,因此Rp是允许的通带波纹的最大值。

Rs是描述阻带衰减的一个参量

阻带衰减越大越好,衰减越大代表对不想要的信号频率成分的滤除效果越好,因此Rs是允许的需要达到的阻带衰减的最小值。

3.n,Wn是设计得到滤波器的阶数和截止频率

通道滤波器的设计代码例程如下:

Wp = [40 100]/500; Ws = [20 120]/500; Rp = 3; Rs = 40; [n,Wn] = buttord(Wp,Ws,Rp,Rs)

上述在Wp,Ws的赋值过程中进行了归一化,因此run之后得到的Wn的值也是归一化过的

n = 12 Wn = 0.0799 0.2002

二.如何绘制带通滤波器的幅频响应?

可以先调用butter()函数返回巴特沃斯滤波器传递函数的零极点系数和增益。

[z,p,k] = butter(n,Wn); sos = zp2sos(z,p,k); freqz(sos,512,1000) title(sprintf('n = %d Butterworth Lowpass Filter',n))

三.如何使用带通滤波器对一组数据进行滤波

y = filter(b,a,x)

利用分子和分母系数 b 和 a 定义的有理传递函数对输入数据 x 进行滤波。

设计一个matlab带通滤波器代码_百度知道zhidao.baidu.com

四.如何合理确定滤波器的参数?

我们已知所需要的通带截止频率,阻带截止频率,可以通过一个便捷的方式由matlab直接确定滤波器的参数。输入fdatool命令,具体方法可参见以下博客。

Matlab fir滤波(conv)blog.csdn.netmatlab中fdatool使用说明 - 图文 - 百度文库wenku.baidu.com
  • 滤波的阶数

滤波器的阶数,就是滤波几次的意思,一阶,就是对谐波过滤一次,滤波器的阶数越高,滤波效果越好,但是,成本也会成倍的增加,因此,选择合适的阶数是非常重要的。

(如果对你帮助就点个赞呀,关注我会有更多干货分享哦~)

如何在matlab用带通滤波器进行滤波?的相关问答如下:

提问:设计一个matlab带通滤波器代码

回答:% 用切比雪夫最佳一致逼近设计线性相位FIR带通滤波器;%信号为0.5hz, 0.9hz, 1.1hz和1.5hz的正统信号叠加组成%通带为[0.9,1.1]%频谱分辨率与信号实际长度N成正比 ...

提问:matlab 数字带通滤波器

回答:以前我做的一个完整的信号滤波前后的程序,可能数据有些不一样,但用MATLAB做滤波器的大体思路都差不多,希望对你有用.(完全自创,要给分哦) f=8*10^3; %信...

提问:matlab数字带通滤波器

回答:是可以用butter函数直接设计带通的,[b,a]=BUTTER(N,wn)只是此时的wn=[w1,w2]; 对N和wn可用[N,wn]=buttord(wp,ws,Rp,As)此时的wp=[wp1 wp2] 和ws=[ws1 ws2]

提问:用MATLAB怎么设计带通滤波器?那个firls函数好像没有约束采样频率,还有别的方法吗?万分谢谢啦!

回答:低通采样定理实验 1.1 实验目的 1.了解数字信号处理系统的一般构成; 2.掌握奈奎斯... 低通、带通和带阻FIR滤波器. 一、firl函数的使用 在MATLAB下设计标准响应FIR滤...

提问:求设计一个带通滤波器到matlab程序

回答:程序: wlp = 03*pi; whp = 04*pi; wc = [wlp/pi,whp/pi];n = 33; n=0:n-1; hn=fir1(n-1,wc, hanning (n)); %基于窗函数的 fir 滤波器[h2,w]=freqz(hn,1,512); %freqz是用离散傅里叶变换的标准公示计算的 fft使用快速傅里叶变换的公式计算的,求设计一个hamming窗设计的带通滤波器的matlab程序.

提问:matlab考试 实现带通滤波器和带阻滤波器的函数!

回答:你可以用函数lp2bp

如何在matlab用带通滤波器进行滤波?的相关热门搜索词:

matlab带通滤波器函数,matlab带通滤波器代码,matlab带通滤波器参数设置,matlab带通滤波器设计,matlab带通滤波器程序,matlab带通滤波器fir,matlab带通滤波器代码数字图像处理,matlab带通滤波器生成信源,matlab带通滤波器设计程序,matlab带通滤波器参数如何确定,

TAG标签: 通滤波器

文章标题:如何在matlab用带通滤波器进行滤波?

转载注明出处:http://www.puyangxw.cn/zonhezixunn/493043.html

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

随机标签推荐

土木工程王祖贤征兵卖空顿悟女主持搞活动谢依霖奸细反贪瓦西里魔佛波旬加拉传统节日解药柱身安置工商注册养颜爽脆千库网正在等待统计表染色剂四大名绝育分区表调度sumo习用 濮阳新闻