简述滤波器设计规格对象函数fdesign的使用方法 2
2023-02-10 18:12:09 来源:Linux嵌入式技术开发
                  
                三、fdesign函数的输入与输出参数
3.1 fdesign函数的输入
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函数设计滤波器,代码如下所示:
% 使用默认规格参数的滤波器规格对象dd = 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为单位。
3.2 fdesign函数的输出
fdesign返回一个滤波器设计规格对象designSpecs,每一个滤波器设计规格对象都包含如下表所示的内容:
| 属性名 | 默认值 | 描述 | 
|---|---|---|
Response | 取决于选定的响应类型 | 定义了设计何种类型的滤波器,比如带通滤波器、插值器等,该属性为只读值 | 
Specification | 取决于选定的规格类型 | 定义了用于所需滤波器性能的滤波器特性,比如截止频率Fc或滤波器阶数N等 | 
Description | 取决于选定滤波器类型 | 包含用于定义对象的筛选器规范的描述,以及从对象创建筛选器时使用的筛选器规范,它是一个只读值。 | 
NormalizedFrequency | 逻辑true | 确定滤波器计算使用的是从到的归一化频率,还是从到到的频带,即采样频率。其接受不带单引号的true或false。音频加权滤波器不支持标准化频率。 | 
除了上面的属性之外,根据滤波器设计规范对象是单速率滤波器还是多速率滤波器,还包括如下额外属性:
| 多速率滤波器额外属性 | 描述 | 
|---|---|
DecimationFactor | 用于指定减少采样率的量(正整数) | 
InterpolationFactor | 用于指定增加采样率的量(正整数) | 
PolyphaseLength | 多相长度是组成抽取器或内插器或速率变化因子滤波器的每个多相子滤波器的长度。总过滤器长度是pl和速率变化因子的乘积。pl必须是偶数。 | 
互联网
                  
                      本文展示了如何使用Matlab中滤波器设计规格对象函数`fdesign`的使用方法。根据`fdesign`创建的滤波器规格对象,可以使用`design`函数直接设计滤波器。                    
                    2023-02-10 18:12:09
                  
                  电压放大器在非共线混频方法检测混凝土中的应用
                      实验名称:电压放大器在非共线混频方法检测混凝土中的应用研究方向:无损检测测试目的:无损检测是在不损伤或不干扰待测物体的结构材料的情况                    
                    2023-02-10 17:55:50
                  
                  全球视点!全红婵跳水世界杯首秀
                      全红婵跳水世界杯首秀今天被大家的关注度非常高,为了方便大家了解相关知识,百科参考网为大家准备了完整关于该事情的所有相关内容,大家可以                    
                    2023-02-10 17:40:26