主要内容

dsp。LowpassFilter

FIR或IIR低通滤波器

描述

dsp。LowpassFilter对象在一段时间内使用给定的设计规范独立地过滤输入的每个通道。您可以设置FilterType的属性dsp。LowpassFilter“杉”或者'IIR'将对象实现为FIR或IIR低通滤波器。

过滤你输入的每个通道:

  1. 创建dsp。LowpassFilter对象并设置其属性。

  2. 使用参数调用对象,就像它是一个函数。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

通滤波器= dsp.lowpassfilter.返回最小阶FIR低通滤波器,通滤波器,默认过滤器设置。使用默认属性设置调用对象通过通带频率过滤输入数据8kHz,一个停车频率12.khz,一个通带涟漪0.1dB,阻带衰减为80dB。

例子

通滤波器= dsp.lowpassfilter(名称,值返回低通过滤器,带有一个或多个指定的附加属性名称,值对参数。的名字属性名和价值是相应的价值。的名字必须出现在单引号内('')。您可以以任何顺序指定多个名称值对参数Name1, Value1,…,的家

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的详细信息,请参阅在MATLAB中使用系统对象进行系统设计

输入采样率(Hz),指定为逗号分隔对“SampleRate”一个实正标量。

数据类型:单身的|

过滤器类型,指定为下列选项之一:

  • “杉”-设计FIR低通滤波器。

  • 'IIR'-设计IIR低通(biquad)滤波器。

最小阶滤波器设计,由指定的逗号分隔对组成“DesignForMinimumOrder”和逻辑价值。如果这个属性是真的,然后dsp。LowpassFilter设计符合通带频率、阻带频率、通带纹波和阻带衰减规格的最小阶滤波器。使用相应的属性设置这些规范。如果这个属性是,然后该对象按照您在FilterOrder财产。此滤波器设计满足使用各自属性设置的通频带频率、通频带纹波和阻频带衰减规格。

FIR或IIR过滤器的顺序,指定为逗号分隔对组成'筛选道'和一个正整数标量。

依赖关系

指定过滤器顺序仅在值时有效“DesignForMinimumOrder”

数据类型:单身的||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

过滤器通带边沿频率在Hz中,指定为逗号分隔的对'Passband职业'一个实正标量。通带边缘频率的值(Hz)必须小于该值的一半SampleRate

数据类型:单身的||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

Hz中的过滤器停止边缘频率,指定为逗号分隔对“StopbandFrequency”一个实正标量。停止带边缘频率(Hz)的值必须小于该值的一半SampleRate

依赖关系

只有在下列情况下才能指定阻带边缘频率“DesignForMinimumOrder”真的

数据类型:单身的||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

滤波器响应在通带内的最大纹波,以dB为单位,指定为逗号分隔对“PassbandRipple”一个实正标量。滤波器响应的最大纹波默认为0.1dB。

数据类型:单身的||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

以dB为单位的阻带最小衰减,指定为逗号分隔对'stopbandattenuation'一个实正标量。阻带的最小衰减默认为80dB。

数据类型:单身的||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

定点属性

输出定点运算的舍入方法,指定为字符向量。有关舍入模式的更多信息,请参见精度和范围

系数的字和分数长度,指定为anumerictype对象。默认的,Numerictype(1,16)对应于具有16位系数的签名的数字类型对象和基于系数值确定的分数长度,以提供最佳精度。

此属性是不可调优的。

输出的字长与输入的字长相同。计算输出的分数长度,使输出的整个动态范围可以表示而不溢出。有关输出的分数长度如何计算的详细信息,请参见FIR滤波器中避免溢出的定点精度规则

用法

描述

例子

y= LPF (x低通滤波输入信号,xy是低通滤波的版本x

输入参数

全部展开

嘈杂数据输入,指定为向量或矩阵。如果输入信号是一个矩阵,则矩阵的每一列都被视为一个独立的信道。输入信号中的行数表示信道长度。该对象接受可变大小的输入。锁定对象后,可以更改每个输入通道的大小,但不能更改通道的数量。

数据类型:单身的||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64|fi
复数的支持:金宝app是的

输出参数

全部展开

过滤后的输出,作为向量或矩阵返回。输出具有与输入相同的大小、数据类型和复杂性特征。

数据类型:单身的||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64|fi
复数的支持:金宝app是的

对象的功能

要使用对象函数,请指定System对象™作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

freqz 离散时间滤波器的频率响应系统对象
fvtool 可视化DSP滤波器的频率响应
轰炸 离散时间滤波器的脉冲响应系统对象
信息 信息过滤系统对象
多项式系数 返回过滤器系统对象结构系数
成本 估计实现过滤器的成本系统对象
grpdelay 离散时间滤波器的组延迟响应系统对象
generatehdl. 为量化DSP滤波器生成HDL代码(需要滤波器设计HDL编码器
测量 测量滤波器的频响特性系统对象
一步 系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部折叠

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

fs = 44.1e3;filtertype =“杉”;成就= 8 e3;Fstop = 12 e3;Rp = 0.1;Astop = 80;FIRLPF = dsp。LowpassFilter (“SampleRate”Fs,......“FilterType”filtertype,......'Passband职业',馈送,......“StopbandFrequency”,fstop,......“PassbandRipple”,RP,......'stopbandattenuation',astop);

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

IIRLPF =克隆(FIRLPF);iirlpf.filtertype ='IIR'

绘制冷杉低通滤波器的脉冲响应。Zeroth阶系数被19个样本延迟,其等于过滤器的组延迟。FIR低通滤波器是一个因果灭源滤波器。

fvtool (FIRLPF'分析'“冲动”

图形过滤器可视化工具-脉冲响应包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为脉冲响应的轴对象包含一个类型为stem的对象。

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

FVTool(IIRLPF,'分析'“冲动”

图形过滤器可视化工具-脉冲响应包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为脉冲响应的轴对象包含一个类型为stem的对象。

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

fvtool (FIRLPF'分析'“频率”

图过滤器可视化工具-幅度响应(dB)和相位响应包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“幅度响应(dB)”和“相位响应”的轴对象包含一个类型线对象。

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

FVTool(IIRLPF,'分析'“频率”

图过滤器可视化工具-幅度响应(dB)和相位响应包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“幅度响应(dB)”和“相位响应”的轴对象包含一个类型线对象。

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

成本(FIRLPF)
ans =结构体字段:NumCofficents:39 NumStates:38多重PULTINPUTSAMPLE:39 AdderdsPutInputSample:38

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

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

计算FIR低通滤波器的组延迟。

grpdelay (FIRLPF)

图形过滤可视化工具-组延迟包含一个轴对象和其他类型的uitoolbar, uimenu对象。具有标题组延迟的axis对象包含一个类型为line的对象。

计算IIR低通滤波器的组延迟。FIR滤波器具有恒定的组延迟(线性相位),而IIR滤波器则不是。

grpdelay (IIRLPF)

图形过滤可视化工具-组延迟包含一个轴对象和其他类型的uitoolbar, uimenu对象。具有标题组延迟的axis对象包含一个类型为line的对象。

创建一个具有默认属性的低通过滤器。

LPF = dsp.LowpassFilter;

创建一个频谱分析器对象。

hSA = dsp。简介(“SampleRate”, 44.1 e3,......“PlotAsTwoSidedSpectrum”,错误的,“ShowLegend”,真的,“YLimits”......30 [-150],......“标题”......低通滤波器的输入信号和输出信号);hsa.channelnames = {“输入”'输出'};

实现一步通滤波器对输入的高斯噪声信号进行滤波。使用频谱分析仪查看输入和输出信号。

Input = randn(1024,1);步=输出(滤波器、输入);(输入、输出)步骤(hSA);结束

请注意:此示例仅在R2016b或更高版本中运行。如果您正在使用较早的版本,请将对该函数的每个调用替换为等价的一步句法。例如,MyObject(x)变为步骤(myObject,x)。

设置IIR低通滤波器。白色高斯噪声的采样率为44,100 Hz。过滤器的通带频率为8 kHz,停止频率为12 kHz,通带纹波是0.1 dB,并且停止衰减为80 dB。

fs = 44.1e3;filtertype ='IIR';成就= 8 e3;Fstop = 12 e3;Rp = 0.1;Astop = 80;LPF = dsp。LowpassFilter (“SampleRate”Fs,......“FilterType”filtertype,......'Passband职业',馈送,......“StopbandFrequency”,fstop,......“PassbandRipple”,RP,......'stopbandattenuation',astop);

查看低通滤波器的幅度响应。

fvtool (LPF)

创建一个频谱分析器对象。

hSA = dsp。简介(“SampleRate”, 44.1 e3,......“PlotAsTwoSidedSpectrum”,错误的,“ShowLegend”,真的,“YLimits”......30 [-150],......“标题”......'IIR低通滤波器的输入信号和输出信号');hsa.channelnames = {“输入”'输出'};

滤波输入的高斯噪声信号。使用频谱分析仪查看输入和输出信号。

Input = randn(1024,1);输出= LPF(输入);hSA((输入、输出));结束

测量低通滤波器的频率响应特性。创建一个dsp。LowpassFilter具有默认属性的系统对象。测量滤波器的频率响应特性。

LPF = dsp。LowpassFilter
LPF = DSP.LowPassFilter具有属性:FilterType:'FIR'DesignFormiminder:True PassBandFrequency:8000 StopbandFrequency:12000 PassbandRipple:0.1000 STOPBANDANTENUATUS:80 SAPPLEDE:44100显示所有属性
LPFMEAS =测量(LPF)
LPFMEAS =采样率:44.1 kHz通带边缘:8 kHz 3-dB点:9.1311 kHz 6-dB点:9.5723 kHz停滞边缘:12 kHz通带纹波:0.08289 DB停滞带。:81.6141 DB过渡宽度:4 kHz

算法

全部展开

参考文献

Shpak, d.j.和A. Antoniou。“FIR数字滤波器设计的广义雷米兹方法”。IEEE®电路和系统的事务.第37卷第2期,1990年2月,161-174页。

[2] Selesnick,I.W.和C. S. Burrus。“补充Parks-McClellan算法的交换算法,用于线性相位FIR滤波器设计。”《IEEE电路与系统汇刊》.第44卷第2期1997年2月137-143页

扩展功能

定点转换
使用fixed-point Designer™设计和模拟定点系统。

在R2015A介绍