MATLAB函数

您所在的位置:网站首页 figure在matlab中的用法例子 MATLAB函数

MATLAB函数

2023-10-10 06:26| 来源: 网络整理| 查看: 265

文章目录 语法说明示例FIR 带通滤波器FIR 高通滤波器多频带 FIR 滤波器 输入参数`n` - 滤波器阶数`Wn` - 频率约束`ftype` - 滤波器类型`window` - 窗`scaleopt` - 归一化选项 输出参数`b` - 滤波器系数 算法参考扩展功能C/C++ 代码生成 另请参阅

fir1:基于窗函数法的 FIR 滤波器设计

语法

b = fir1(n,Wn) b = fir1(n,Wn,ftype)

b = fir1(___,window) b = fir1(___,scaleopt)

说明

b = fir1(n,Wn) 使用 Hamming 窗设计具有线性相位的 n 阶低通,带通或多频带 FIR 滤波器。滤波器的类型取决于 Wn 的元素数。举例

b = fir1(n,Wn,ftype) 根据 ftype 的值和 Wn 的元素数,设计一个低通,高通,带通,带阻或多频带滤波器。举例

b = fir1(___,window) 使用 window 中指定的向量和上述语法中的任何参数来设计滤波器。举例

b = fir1(___,scaleopt) 额外指定滤波器的幅度响应是否已归一化。

注意: 使用 fir2 设计具有任意频率响应的加窗滤波器。

示例 FIR 带通滤波器

设计一个通带为 0.35 π ⩽ ω ⩽ \pi\leqslant \omega \leqslant π⩽ω⩽ 0.65 π \pi π rad / sample 的 48 阶 FIR 带通滤波器。将其幅度和相位响应可视化。

b = fir1(48,[0.35 0.65]); freqz(b,1,512)

在这里插入图片描述

FIR 高通滤波器

加载 chirp.mat。 该文件包含一个信号 y,其大部分功率都高于 Fs/4 或奈奎斯特频率的一半。 采样率为 8192 Hz。

设计一个 34 阶 FIR 高通滤波器,以衰减低于 Fs/4 的信号分量。使用 0.48 的截止频率和 30 dB 纹波的切比雪夫窗。

load chirp t = (0:length(y)-1)/Fs; bhi = fir1(34,0.48,'high',chebwin(35,30)); freqz(bhi,1)

FIR 高通滤波器 对信号进行滤波。显示原始和高通滤波后的信号。两图都使用相同的 y 轴比例。

outhi = filter(bhi,1,y); subplot(2,1,1) plot(t,y) title('Original Signal') ys = ylim; subplot(2,1,2) plot(t,outhi) title('Highpass Filtered Signal') xlabel('Time (s)') ylim(ys)

高通滤波信号对比 设计具有相同规格的低通滤波器。对信号进行滤波,并将结果与原始信号进行比较。两图都使用相同的 y 轴比例。

blo = fir1(34,0.48,chebwin(35,30)); outlo = filter(blo,1,y); subplot(2,1,1) plot(t,y) title('Original Signal') ys = ylim; subplot(2,1,2) plot(t,outlo) title('Lowpass Filtered Signal') xlabel('Time (s)') ylim(ys)

低通滤波结果

多频带 FIR 滤波器

设计一个46阶FIR滤波器,该滤波器可以衰减低于 0.4 π \pi π rad / sample 和介于 0.6 π \pi π 和 0.9 π \pi πrad / sample之间的归一化频率。将滤波器称为 bM。

ord = 46; low = 0.4; bnd = [0.6 0.9]; bM = fir1(ord,[low bnd]);

重新设计 bM,交换其通带和阻带。将新的滤波器称为 bW。 使用 fvtool 显示滤波器的频率响应。

bW = fir1(ord,[low bnd],'DC-1'); hfvt = fvtool(bM,1,bW,1); legend(hfvt,'bM','bW')

多频带 FIR 滤波器 使用 Hann 窗重新设计 bM。 (DC-0 是可选的。)比较 Hamming 窗和 Hann 窗设计的幅度响应。

hM = fir1(ord,[low bnd],'DC-0',hann(ord+1)); hfvt = fvtool(bM,1,hM,1); legend(hfvt,'Hamming','Hann')

汉明窗和汉宁窗设计的幅度响应 使用 Tukey 窗重新设计 bw。 比较 Hamming 窗和 Tukey 窗设计的幅度响应。

tW = fir1(ord,[low bnd],'DC-1',tukeywin(ord+1)); hfvt = fvtool(bW,1,tW,1); legend(hfvt,'Hamming','Tukey')

Hamming 窗和 Tukey 窗设计的幅度响应

输入参数 n - 滤波器阶数

滤波器阶数,指定为整数标量。

对于高通和带阻滤波器,fir1 始终使用偶数阶滤波器。此时阶数必须是偶数,因为奇数阶对称 FIR 滤波器在奈奎斯特频率下必须具有零增益。如果为高通或带阻滤波器指定奇数 n,则 fir1 将 n 增加 1。

数据类型:double

Wn - 频率约束

频率约束,指定为标量,二元向量或多元向量。

Wn 的所有元素必须严格大于 0 且严格小于 1,其中 1 对应于奈奎斯特频率:0 < Wn



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3