根据数字或模拟指标要求设计滤波器,画出幅频响应,其部分相关Matlab函数功能解析

本文详细介绍了使用MATLAB进行数字与模拟滤波器设计的方法,包括buttord、butter、zp2sos和freqz等函数的用法。通过具体实例,展示了如何确定滤波器的阶次、转折频率、系统频率系数和二阶部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、buttord函数

作用解释:
在这里插入图片描述
例图:
在这里插入图片描述
函数样式:

%% 数字滤波器设计
% fs:采样频率
% fd=fs/2 :根据采样频率计算出的奈奎斯特频率
[n,Wn] = buttord(Wp/fd,Ws/fd,Rp,Rs)%(归一化处理Wp、Ws)

%% 模拟滤波器设计
% 加了‘s’后便无需归一化处理
% Wn、Wp、Ws便不必须在0~1了,但比例关系不变
[n,Wn] = buttord(Wp,Ws,Rp,Rs,'s')
字符解释:

Rp:通带允许的最大衰减(往往为3dB)
Ws:该最大衰减对应的频率,如图
Rs:阻带应达到的最小衰减
Ws:该最小衰减对应的频率,如图
[n,Wn]:[计算出该滤波器最小阶次,该滤波器的转折频率]

带通举例解释Wp、Ws、Rp、Rs:
Wp = [100 200]/500;
Ws = [50 250]/500;
Rp = 3;	            %通带-->过渡  指标要求:3dB
Rs = 40;            %通带-->阻带  指标要求:40dB
[n,Wn] = buttord(Wp,Ws,Rp,Rs)

在这里插入图片描述

二、butter函数

根据阶次n、截止频率Wn等(ftype:填写high、low等高通、低通带通、带阻等信息)
1:获取系统频率系数[b,a]
(b,a:即为分子分母多项式系数,常见名称也有num,den)
2: 另外介绍一下step函数:
y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长地产生出来。
回值y为系统在仿真时刻各个输出所组成的矩阵[y,x,t]=step(num,den)
3:或者零极点[z,p,k]信息

[b,a] = butter(n,Wn)
[b,a] = butter(n,Wn,ftype)
[z,p,k] = butter(___)
[A,B,C,D] = butter(___)
[___] = butter(___,'s')

此函数根据输出个数决定输出内容

三、zpsos函数

函数功能:求二阶部分
sos:二阶级联形式的矩阵
可以参考下网址中问题介绍了解sos矩阵:
https://www.ilovematlab.cn/thread-212392-1-1.html

[sos,g] = zp2sos(z,p,k)
[sos,g] = zp2sos(z,p,k,'order')
[sos,g] = zp2sos(z,p,k,'order','scale')
[sos,g] = zp2sos(z,p,k,'order','scale',zeroflag)
sos = zp2sos(...)

z、p、k含义如下:
在这里插入图片描述
sos、g含义如下:
在这里插入图片描述
在这里插入图片描述

四:freqz函数与freqs函数

可直接查看help文档了解

1:freqs

h = freqs(b,a,w)
[h,w] = freqs(b,a,n)
freqs

在这里插入图片描述
2:freqz函数

[h,w] = freqz(b,a,n)
[h,w] = freqz(sos,n)
[h,w] = freqz(d,n)
[h,w] = freqz(___,n,'whole')
[h,f] = freqz(___,n,fs)
[h,f] = freqz(___,n,'whole',fs)
h = freqz(___,w)
h = freqz(___,f,fs)
freqz(___)

在这里插入图片描述

在这里插入图片描述
转化为sos模式画图:
在这里插入图片描述

四、问题举例解决:

在这里插入图片描述
matlab代码及结果:

Wp=0.500;
Ws=0.300;
Rp=3;
Rs=30;
[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s');
[z,p,k] = butter(N,Wn,'high');
sos = zp2sos(z,p,k);
freqz(sos)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值