fvtool
(将删除)可视化 DSP 滤波器的频率响应
fvtool 函数发出警告。请改用 filterAnalyzer。有关详细信息,请参阅fvtool 发出警告。
说明
fvtool( 显示滤波器 System object™ 的幅值响应。sysobj)
fvtool(____, 在每个指定属性设置为指定值的情况下可视化滤波器的响应。Name=Value)
有关更多输入选项,请参阅 Signal Processing Toolbox™ 中的 FVTool。
示例
创建两个低通半带抽取滤波器。第一个滤波器中的设计方法设置为 "Equiripple",第二个滤波器中的设计方法设置为 "Kaiser"。
将滤波器阶数指定为 52。以归一化频率单位指定过渡带宽度。
filterspec = "Filter order and transition width"; Order = 52; TW = 0.1859; firhalfbanddecimEqui = dsp.FIRHalfbandDecimator(... NormalizedFrequency=true,... Specification=filterspec,... FilterOrder=Order,... TransitionWidth=TW,... DesignMethod="Equiripple"); firhalfbanddecimKaiser = dsp.FIRHalfbandDecimator(... NormalizedFrequency=true,...... Specification=filterspec,... FilterOrder=Order,... TransitionWidth=TW,... DesignMethod="Kaiser");
绘制幅值响应。如果滤波器设定很严格,例如非常高的滤波器阶数和非常窄的过渡带宽度,则使用 "Kaiser" 方法设计的滤波器收敛更高效。
hfvtMag = fvtool(firhalfbanddecimEqui,firhalfbanddecimKaiser); legend(hfvtMag,["Equiripple","Kaiser"])
输入参数
输入滤波器,指定为以下滤波器 System object 之一:
dsp.DCBlocker(自 R2024b 起)
示例: firFilt = dsp.FIRFilter(Numerator=designLowpassFIR(FilterOrder=130, CutoffFrequency=2000/(8000/2))); fvtool(firFilt)
滤波器分析选项,指定为以下项之一:
'magnitude'- 幅值响应'phase'- 相位响应'freq'- 频率响应'grpdelay'- 群延迟'phasedelay'- 相位延迟'impulse'- 冲激响应'step'- 阶跃响应'polezero'- 零极点图'coefficients'- 系数向量'info'- 滤波器信息'magestimate'- 幅值响应估计'noisepower'- 舍入噪声功率谱
示例: fvtool(firFilt,'freq')
名称-值参数
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: firFilt = dsp.FIRFilter(Numerator=designLowpassFIR(FilterOrder=130, CutoffFrequency=2000/(8000/2))); fvtool(firFilt,Arithmetic="single")
采样率,指定为标量。此值确定奈奎斯特区间 [-Fs/2 Fs/2],fvtool 在此区间内显示通道化器中滤波器的频率响应。
数据类型: single | double
指定分析期间使用的算术。当未指定算术输入且滤波器 System object 未锁定时,分析工具假定为双精度滤波器。'Arithmetic' 属性设置为 'Fixed' 仅适用于具有定点属性的滤波器 System object。
当 'Arithmetic' 属性设置为 'Fixed' 时,工具显示双精度参考滤波器和滤波器的量化版本。除了以下两个分析选项外,对于所有其他分析选项,对应滤波器 System object 中的 CoefficientsDataType 属性都用于创建滤波器的量化版本:
'magestimate'- 幅值响应估计。'noisepower'- 舍入噪声功率谱
对于这两个分析选项,所有定点设置都用于分析滤波器的量化版本。
版本历史记录
在 R2006a 之前推出fvtool 函数发出警告。请改用 filterAnalyzer。fvtool 和 filterAnalyzer 函数的执行方式不同,使用 filterAnalyzer 需要更新您的代码。
假设有一个椭圆滤波器和一个 FIR 滤波器。
[b,a] = ellip(5,5,60,[0.2 0.45]); dFd = dsp.FIRFilter;
下表说明 fvtool 函数的典型用法,并说明如何使用 filterAnalyzer 函数更新该代码。
| 不推荐使用 | 推荐的替代项 |
|---|---|
fvtool(b,a,dFd) | filterAnalyzer(b,a,dFd) |
fvtool(b,a,dFd,Analysis="freq") | filterAnalyzer(b,a,dFd,... Analysis="magnitude",Overlay="phase") |
fvtool(b,a,Fs=1000) | filterAnalyzer(b,a,SampleRates=1000) |
fvtool(b,a,dFd,NumberofPoints=512, ...
FrequencyRange="[0, 2pi)",FrequencyScale="Log") | filterAnalyzer(b,a,dFd,NFFT=512, ...
FrequencyRange="twosided",FrequencyScale="log") |
hfvt = fvtool(dFd); addfilter(hfvt,dfilt.df1(b,a)) | fa = filterAnalyzer(dFd); addFilters(fa,b,a) |
hfvt = fvtool(dFd); setfilter(hfvt,dfilt.df1(b,a)) | fa = filterAnalyzer(dFd,FilterNames="df"); replaceFilters(fa,b,a,FilterNames="df") |
hfvt = fvtool(b,a,dFd); deletefilter(hfvt,2) | fa = filterAnalyzer(b,a,dFd,FilterNames=["ba" "dFd"]); deleteFilters(fa,FilterNames="dFd") |
hfvt = fvtool(b,a,dFd); legend(hfvt,"ba","dFd") | filterAnalyzer(b,a,dFd,FilterNames=["ba" "dFd"]) |
hfvt = fvtool(b,a,dFd); zoom(hfvt,[0.4 0.7 -30 0]) | fa = filterAnalyzer(b,a,dFd); zoom(fa,"xy",[0.4 0.7 -30 0]) |
fvtool(b,a,dFd,Analysis="noisepower") | filterAnalyzer(b,a,dFd,Analysis="noisepsd") |
滤波器分析器不支持二阶节 (SOS) 格式。请改用 CTF 格式。如果您将滤波器指定为 SOS 矩阵,则必须更新代码。下表说明对于指定为 SOS 矩阵的滤波器,fvtool 函数的典型用法,并说明如何使用 filterAnalyzer 函数更新该代码。
| 不推荐使用 | 推荐的替代项 |
|---|---|
fvtool(sos) | filterAnalyzer(sos(:,1:3),sos(:,4:6)) 或 [ctfNum,ctfDen] = sos2ctf(sos); filterAnalyzer(ctfNum,ctfDen) |
hfvt = fvtool(sos); set(hfvt.SOSViewSettings,View="cumulative") | [ctfNum,ctfDen] = sos2ctf(sos); fa = filterAnalyzer(ctfNum,ctfDen,CTFAnalysisMode="cumulative"); |
hfvt = fvtool(sos);
set(hfvt.SOSViewSettings,View="userdefined",UserDefined={3,1})
| [ctfNum,ctfDen] = sos2ctf(sos);
fa = filterAnalyzer(ctfNum,ctfDen, ...
CTFAnalysisMode="specify",CTFAnalysisSections={3,1}); |
fvtool 函数将在以后的版本中删除。请改用 filterAnalyzer。fvtool 和 filterAnalyzer 函数的执行方式不同,使用 filterAnalyzer 需要更新您的代码。
dsp.BiquadFilter 对象在使用时会发出警告,并将在以后的版本中删除。请改用 dsp.SOSFilter 对象。有关如何替换现有代码的信息,请参阅 dsp.BiquadFilter 参考页中的兼容性注意事项部分。
从 R2024b 开始,此函数支持 dsp.DCBlocker 对象。
从 R2023b 开始,fvtool 分析函数支持 dsp.ParallelFilter 和 dsp.Delay 对象。
dsp.BiquadFilter 对象将在以后的版本中删除。请改用 dsp.SOSFilter 对象。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)