电子说
fdesign
函数的输入参数主要包括如下四方面内容:
response
:期望的滤波器响应方法,比如低通、高通、带通滤波器等;spec
:滤波器规格参数,比如通带频率、阻带频率、通带波纹以及阻带衰减等;Fs
:采样频率;magunits
:滤波器幅值参数的单位。(1)响应方法response
除了第二部分的低通滤波器对象fdesign.lowpass
,fdesign
的response
还具有很多如下表所示的其他滤波器对象。每一个response
具有一个Sepcification
属性,通过它我们可以定义特定的滤波器对象。
fdesign响应方法 | 描述 |
---|---|
arbgrpdelay |
fdesign.arbgrpdelay 用于构造一个全通任意组延迟滤波器对象 |
arbmag |
fdesign.arbmag 用于构造一个具有任意幅值响应的IIR滤波器对象 |
arbmagnphase |
fdesign.arbmagnphase 用于构造一个具有任意幅值、相位脉冲响应的IIR滤波器对象 |
bandpass |
fdesign.bandpass 构造一个带通滤波器对象 |
bandstop |
fdesign.bandstop 构造一个带阻滤波器对象 |
ciccomp |
fdesign.ciccomp 构造一个补偿CIC抽样器或内插器响应曲线的滤波器对象 |
comb |
fdesign.comb 构造一个带有陷波或峰值梳妆滤波器对象 |
decimator |
fdesign.decimator 构造一个抽样滤波器对象 |
differentiator |
fdesign.differentiator 构造一个FIR差分滤波器对象 |
fracdelay |
fdesign.fracdelay 构造一个分数延迟滤波器对象 |
halfband |
fdesign.halfband 构造一个半滤波器对象 |
highpass |
fdesign.highpass 构造一个高通滤波器对象 |
hilbert |
fdesign.hilbert 构造一个FIR希尔伯特变换器对象 |
interpolator |
fdesign.interpolator 构造一个插值器对象 |
isinchp |
fdesign.isinchp 构造一个反向sinc 高通滤波器对象 |
isinclp |
fdesign.isinclp 构造一个反向sinc 低通滤波器对象 |
lowpass |
fdesign.lowpass 构造一个低通滤波器对象 |
notch |
fdesign.notch 构造一个陷波滤波器对象 |
nyquist |
fdesign.nyquist 构造一个Nyquist滤波器对象 |
peak |
fdesign.peak构造一个峰值滤波器对象 |
polysrc |
fdesign.polysrc 构造一个多项式采样率转换器滤波器对象 |
rsrc |
fdesign.rsrc构造一个有理因子采样率转换器对象 |
(2)滤波器设计规格spec
spec
是fdesign
的滤波器设计规格参数,它是一个字符串向量。以第二部分设计的低通滤波器fdesign.lowpass
为例,其规格表达式为'Fp, Fst, Ap, Ast'
,其具体含义如下所示:
Fp
:通带频率(passband frequency);Fst
:阻带频率(stopband frequency);Ap
:通带波纹(passband ripple);Ast
:阻带衰减(stopband attenuation)。如果不设置上面的四个参数,则使用默认的参数值。基于上面的滤波器规格参数spec
,可以使用design
函数设计滤波器,代码如下所示:
% 使用默认规格参数的滤波器规格对象d
d = fdesign.lowpass % 滤波器规格包括`Fp, Fst
, Ap, Ast`
% 使用design函数设计滤波器
FIReq = design(d, 'equiripple', 'SystemObject', true);
length(FIReq.Numerator)
滤波器规格对象d
的规格参数如下图所示:
(3)采样频率Fs
滤波器规格参数中的采样频率带通常为,需要注意的是采样率参数必须作为最后一个输入参数,并且如果指定了采样率,则左右的频率参数均以为单位。
(4)滤波器幅值参数的单位magunits
滤波器幅值参数的单位magunits
可用的单位包括如下三种:
dB
:分贝(decibels);linear
:线性单位;squared
:power单位。当没有设置magunits
参数时,fdesign
则假设所有幅度都以dB
为单位。
fdesign
返回一个滤波器设计规格对象designSpecs
,每一个滤波器设计规格对象都包含如下表所示的内容:
属性名 | 默认值 | 描述 |
---|---|---|
Response |
取决于选定的响应类型 | 定义了设计何种类型的滤波器,比如带通滤波器、插值器等,该属性为只读值 |
Specification |
取决于选定的规格类型 | 定义了用于所需滤波器性能的滤波器特性,比如截止频率Fc 或滤波器阶数N 等 |
Description |
取决于选定滤波器类型 | 包含用于定义对象的筛选器规范的描述,以及从对象创建筛选器时使用的筛选器规范,它是一个只读值。 |
NormalizedFrequency |
逻辑true |
确定滤波器计算使用的是从到的归一化频率,还是从到到的频带,即采样频率。其接受不带单引号的true 或false 。音频加权滤波器不支持标准化频率。 |
除了上面的属性之外,根据滤波器设计规范对象是单速率滤波器还是多速率滤波器,还包括如下额外属性:
多速率滤波器额外属性 | 描述 |
---|---|
DecimationFactor |
用于指定减少采样率的量(正整数) |
InterpolationFactor |
用于指定增加采样率的量(正整数) |
PolyphaseLength |
多相长度是组成抽取器或内插器或速率变化因子滤波器的每个多相子滤波器的长度。总过滤器长度是pl和速率变化因子的乘积。pl必须是偶数。 |
全部0条评论
快来发表一下你的评论吧 !