主要内容

fvtool

可视化DSP滤波器的频率响应

描述

fvtool (sysobj显示过滤器系统对象™的幅度响应。

例子

fvtool (sysobj选项显示选项指定的响应。

例如,为了可视化一个FIR滤波器系统对象的脉冲响应,设置选项“冲动”

Fs = 96e3;filtSpecs = fdesign.lowpass(20e3,22.05e3,1,80,Fs);firlp2 =设计(filtSpecs,“equiripple”“SystemObject”,真正的);fvtool (firlp2“冲动”);

fvtool (___,名称,值将每个指定属性设置为指定值,可视化筛选器的响应。

有关更多输入选项,请参见FVTool在信号处理工具箱™中。

例子

全部折叠

为44.1 kHz采样的数据创建两个低通半带抽取滤波器。第一个过滤器中的设计方法设置为“Equiripple”第二个过滤器设置为“皇帝”

输出数据速率是输入采样速率的1/2,即22.05 kHz。指定滤波器顺序为52,过渡宽度为4.1 kHz。

Fs = 44.1e3;filterspec =“滤镜顺序和过渡宽度”;订单= 52;TW = 4.1e3;firhalfbanddecimEqui = dsp。FIRHalfbandDecimator (...规范= filterspec,...FilterOrder =订单,...TransitionWidth = TW,...DesignMethod =“Equiripple”...SampleRate = Fs);firhalfbanddecimKaiser = dsp。FIRHalfbandDecimator (...规范= filterspec,...FilterOrder =订单,...TransitionWidth = TW,...DesignMethod =“皇帝”...SampleRate = Fs);

画出两个滤波器的脉冲响应。零阶系数延迟26个样本,等于滤波器的组延迟。这就产生了一个因果半带滤波器。

hfvt = fvtool(firhalfbanddecimEqui,firhalfbanddecimKaiser,...分析=“冲动”);传奇(hfvt, {“Equiripple”“皇帝”})

图脉冲响应包含一个轴对象。标题为Impulse Response的axis对象包含两个stem类型的对象。这些东西代表等价涟漪,凯泽。

画出幅值和相位响应。

如果滤波器的规格很紧,比如一个非常高的滤波器阶数与一个非常窄的过渡宽度,滤波器设计使用“皇帝”方法更有效地收敛。

hvftMag = fvtool(firhalfbanddecimEqui,firhalfbanddecimKaiser,...分析=“级”);传奇(hvftMag, {“Equiripple”“皇帝”})

图震级响应(dB)包含一个轴对象。标题为幅度响应(dB)的axis对象包含3个类型为line的对象。这些东西代表等价涟漪,凯泽。

hvftPhase = fvtool(firhalfbanddecimEqui,firhalfbanddecimKaiser,...分析=“阶段”);传奇(hvftPhase, {“Equiripple”“皇帝”})

图Phase Response包含一个axes对象。标题为Phase Response的axis对象包含两个类型为line的对象。这些东西代表等价涟漪,凯泽。

为44.1 kHz采样的数据创建一个最小阶FIR低通滤波器。指定通带频率为8 kHz,阻带频率为12 kHz,通带波纹为0.1 dB,阻带衰减为80 dB。

Fs = 44.1e3;filtertype =“杉”;Fpass = 8e3;Fstop = 12e3;Rp = 0.1;停止= 80;FIRLPF = dsp。LowpassFilter (“SampleRate”Fs,...“FilterType”filtertype,...“PassbandFrequency”成就,...“StopbandFrequency”Fstop,...“PassbandRipple”Rp,...“StopbandAttenuation”, Astop);

设计一个具有与FIR低通滤波器相同特性的最小阶IIR低通滤波器。改变FilterType属性的克隆筛选器信息检索

IIRLPF =克隆(FIRLPF);IIRLPF。FilterType =“信息检索”

绘制FIR低通滤波器的脉冲响应图。零阶系数被延迟19个样本,这等于滤波器的组延迟。FIR低通滤波器是因果FIR滤波器。

fvtool (FIRLPF“分析”“冲动”

图脉冲响应包含一个轴对象。标题为Impulse Response的axes对象包含一个类型为stem的对象。

绘制IIR低通滤波器的脉冲响应图。

fvtool (IIRLPF“分析”“冲动”

图脉冲响应包含一个轴对象。标题为Impulse Response的axes对象包含一个类型为stem的对象。

绘制FIR低通滤波器的幅值和相位响应。

fvtool (FIRLPF“分析”“频率”

图震级响应(dB)和相位响应包含一个轴对象。标题为幅度响应(dB)和相位响应的axis对象包含一个类型为line的对象。

绘制IIR低通滤波器的幅值和相位响应。

fvtool (IIRLPF“分析”“频率”

图震级响应(dB)和相位响应包含一个轴对象。标题为幅度响应(dB)和相位响应的axis对象包含一个类型为line的对象。

计算实现FIR低通滤波器的成本。

成本(FIRLPF)
ans =带有字段的结构:NumCoefficients: 39 NumStates: 38 MultiplicationsPerInputSample: 39 AdditionsPerInputSample: 38

计算实现IIR低通滤波器的成本。IIR滤波器比FIR滤波器更有效。

成本(IIRLPF)
ans =带有字段的结构:NumCoefficients: 18 NumStates: 14 MultiplicationsPerInputSample: 18 AdditionsPerInputSample: 14

计算FIR低通滤波器的群时延。

grpdelay (FIRLPF)

图Group delay包含一个axes对象。标题为Group delay的axes对象包含一个类型为line的对象。

计算IIR低通滤波器的组时延。FIR滤波器具有恒定的组延迟(线性相位),而其IIR对应则没有。

grpdelay (IIRLPF)

图Group delay包含一个axes对象。标题为Group delay的axes对象包含一个类型为line的对象。

输入参数

全部折叠

过滤器分析选项,指定为以下之一:

  • “级”——震级响应

  • “阶段”——相位响应

  • “频率”——频率响应

  • “grpdelay”——团队延迟

  • “phasedelay”——相位延迟

  • “冲动”——脉冲响应

  • “步骤”——阶跃响应

  • “polezero”——极点零点图

  • “系数”——系数向量

  • “信息”——过滤信息

  • “magestimate”——震级响应估计

  • “noisepower”——噪声功率谱舍入

例子:fvtool (firFilt“频率”)

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:firFilt = dsp。FIRFilter('Numerator', fir1(130, 2000/(8000/2))); fvtool(firFilt,'Arithmetic','single')

采样率,指定为标量。这个值决定了Nyquist间隔[-]Fs/ 2Fs/2],其中fvtool显示信道器中滤波器的频率响应。

数据类型:|

指定分析过程中使用的算法。当算法输入未指定且过滤器System对象未锁定时,分析工具假定使用双精度过滤器。的“算术”属性设置为“固定”只适用于过滤具有定点属性的系统对象。

“算术”属性设置为“固定”,该工具显示双精度参考滤波器和量化版本的滤波器。的CoefficientsDataTypeSystem对象用于为所有分析选项创建过滤器的量化版本,但以下两个选项除外:

  • “magestimate”——震级响应估计。

  • “noisepower”——噪声功率谱舍入

对于这两个分析选项,所有不动点设置都用于分析滤波器的量化版本。

版本历史

R2006a之前介绍过

另请参阅

工具