求 MATLAB 巴特沃思 低通滤波器程序。

求 MATLAB 巴特沃思 低通滤波器程序。,第1张

冲击响应不变法函数

[bz,az]=impinvar(b,a,Fs)

[bz,az]=impinvar(b,a)

例如:取采样频率f=1KHz,用双线性变换法设计五阶Butterworth低通数字滤波器,绘出模拟滤波器与数字滤波器的幅频与相频特性,MATLAB程序如下:

[z,p,k]=buttap(5) % 设计五阶Butterworth低通模拟滤波器原型

[zd,pd,kd]=bilinear(z,p,k,1000)%双线性变换得到低通数字滤波器

[b,a]=zp2tf(zd,pd,kd)%滤波器类型转换

w=128

freqs(b,a,w)

figure

freqz(b,a,w)

实例:1、设带通滤波镇拆器的滤波器中心频率为W0=2KHz,带宽为BW=100Hz, 取采样频率f=10kHZ,用脉冲相应不变法设计,设计五阶带通Butterworth数字滤波器,绘出数字滤波器的频谱特性

[z,p,k]=buttap(5)

[b,a]=zp2tf(z,p,k)

w=128

w0=2000

[bt,at]=lp2bp(b,a,w0,10000)

[bz,az]=impinvar(b,a,w)

freqz(bt,at,w)

2、直接设计五阶butterworth带通滤波器,绘出频谱图。(高端与低端截止频率分别为0.2和0.9)

figure

w=[0.2,0.9]

[b,a]=butter(5,w)

freqz(b,a)

3、设高通截止频率为w0=10000Hz, 取采样频率f=20000,用指正双线性变换法设计六阶高通Butterworth数字滤波器,绘出数字滤波器的频谱特性

[z,p,k]=besselap(6)

[b,a]=zp2tf(z,p,k)

w=128

w0=10000

[bt,at]=lp2hp(b,a,w0)

[bz,az]=bilinear(bt,at,20000)

freqz(bz,az,w)

4、取采样频率f=100Hz,用双线性变换法设计五阶Butterworth低通数字滤波器,绘出模拟滤波器与数字滤波器的幅频与相频特性

 御逗枣 [z,p,k]=buttap(5)

[zd,pd,kd]=bilinear(z,p,k,100)

[b,a]=zp2tf(zd,pd,kd)

w=128

freqs(b,a,w)

figure

freqz(b,a,w)

具体的得根据情况自己确定

matlab安装教程如下:

*** 作设备:戴尔笔记本电脑

*** 作系统:win10

*** 作程序:matlab安装包2.0

1、双击【setup】

打伏型尺开matlab安装包,双击【setup】。

2、使用文件密钥安装

选择【使用文件密钥安装】,点击【下一缺高步】。

3、接受许可协议条款

选择【是】,点击【下一步】。

4、填写安装密钥

选择【我已有租派我的许可证的文件安装密钥】,填写自己的安装密钥。

5、选择安装位置

点击【浏览】。

6、完成

等待安装完成即可。

1 x'-- x的转置矩阵

x*x'的结果是矩阵或数值,由x的维数(x若为向量,维数就是其长度)决定

2 inv 求逆矩阵。

miu=1/(ad'*inv(R)*ad)

既然程序没有报错,那么(ad'*inv(R)*ad)就是一个数值,而

w = miu*inv(R)*ad = 1/(ad'*inv(R)*ad) * inv(R)*ad 是矩阵运算,

不能按照代数四则运算进行简单的“约分”败饥。

3 y(1,v)=w.'*a

v=v+1 这是为了记录向量y,v表液枯耐示当前值在向量中的位置。算完这一个后,位置向后移动,从v到(v+1),继续循环,算出的y值闹春就记录在(v+1)位置处


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12417032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存