主要内容

dsp.lowpassfilter

FIR或IIR低通滤波器

描述

dsp.lowpassfilter对象使用给定的设计规范独立地滤除输入的每个通道。你可以设置filtertype.财产dsp.lowpassfilter'冷杉'要么'IIR'将对象作为FIR或IIR低通滤波器实现。

要过滤输入的每个通道:

  1. 创造dsp.lowpassfilter对象并设置其属性。

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

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

创建

描述

LPF.= dsp.lowpassfilter.返回最小订单FIR低通滤波器,LPF.,默认过滤器设置。使用默认属性设置调用对象通过通带频率过滤输入数据8.kHz,一个停车频率12.khz,一个通带涟漪0.1DB,以及停滞衰减80D b。

例子

LPF.= dsp.lowpassfilter(名称,价值返回低通滤波器,具有一个或多个指定的附加属性名称,价值对论点。名称属性名称和价值是相应的价值。名称必须出现在单引号内('')。您可以以任何顺序指定多个名称值对参数name1,value1,...,namen,valuen

特性

展开全部

除非另有说明,否则属性是不可努力,这意味着在调用对象后无法更改其值。当您调用它们时,对象锁定发布功能解锁它们。

如果属性是调节,您可以随时更改其值。

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

Hz的输入采样率,指定为逗号分隔对'采样率'和一个真正的正标量。

数据类型:单身的|双倍的

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

  • '冷杉'- 对象设计冷杉低通滤波器。

  • 'IIR'- 对象设计IIR低通(BIQUAD)过滤器。

最小订单过滤器设计,指定为逗号分隔对组成'designforminimunder'和逻辑价值。如果这个属性是真的, 然后dsp.lowpassfilter设计具有满足通带频率,停机频率,通带纹波和阻带衰减规范的最小顺序的过滤器。使用相应的属性设置这些规范。如果这个属性是错误的,然后对象设计过滤器与您指定的顺序FilterOrder.财产。使用相应的属性,此滤波器设计符合通带频率,通带脉动和停止衰减规范。

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

依赖性

指定过滤器顺序仅在值时有效'designforminimunder'错误的

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

过滤器通带边沿频率在Hz中,指定为逗号分隔的对'Passband职业'和一个真正的正标量。Hz中的通带边沿频率的值必须小于一半采样率

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

Hz中的过滤器停止边缘频率,指定为逗号分隔对'stopband职业'和一个真正的正标量。Hz中的阻带边缘频率的值必须小于一半采样率

依赖性

只有在何时指定Stopband边沿频率'designforminimunder'真的

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

在DB中的通带中的滤波器响应的最大纹波响应指定为包括的逗号分隔对'passbandropple'和一个真正的正标量。滤波器响应的最大纹波默认为0.1D b。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

DB中的阻带中的最小衰减,指定为逗号分隔对组成'stopbandattenuation'和一个真正的正标量。Stopband默认值中的最小衰减80D b。

数据类型:单身的|双倍的|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 Object™指定为第一个输入参数。例如,要发布命名的系统对象的系统资源obj.,使用此语法:

释放(obj)

展开全部

弗里克 离散时间过滤器的频率响应系统对象
FVTool. 可视化DSP滤波器的频率响应
轰炸 离散时间过滤器的脉冲响应系统对象
信息 有关过滤器的信息系统对象
COEFFS. 返回过滤器系统对象结构中的系数
成本 实现过滤器的估算成本系统对象
grpdelay 离散时间过滤器的组延迟响应系统对象
generatehdl. 为量化DSP滤波器生成HDL代码(需要过滤器设计HDL编码器
措施 测量滤波器的频率响应特性系统对象
跑步系统对象算法
发布 释放资源并允许更改系统对象属性值和输入特性
重置 重置内部状态系统对象

例子

全部收缩

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

fs = 44.1e3;filtertype ='冷杉';fpass = 8e3;fstop = 12e3;rp = 0.1;astop = 80;firlpf = dsp.lowpassfilter('采样率',fs,......'filtertype',filtertype,......'Passband职业',馈送,......'stopband职业',fstop,......'passbandropple',RP,......'stopbandattenuation',astop);

设计一个具有与FIR低通滤波器相同的属性的最小订单IIR低通滤波器。改变filtertype.克隆过滤器的属性IIR.

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

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

fvtool(Firlpf,'分析''冲动'

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

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

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

fvtool(Firlpf,'分析''弗里克'

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

FVTool(IIRLPF,'分析''弗里克'

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

成本(FiRLPF)
ans =.结构与字段:NumCofficents:39 NumStates:38多重PULTINPUTSAMPLE:39 AdderdsPutInputSample:38

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

成本(IIRLPF)
ans =.结构与字段:NumCofiCents:18 NumStates:14乘法PerInputSample:18 AdderdsPerInputSample:14

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

grpdelay(firlpf)

计算IIR低通滤波器的组延迟。FIR滤波器具有常数组延迟(线性阶段),而其IIR对应物则不会。

Grpdelay(IIRLPF)

使用默认属性创建低通滤波器。

lpf = dsp.lowpassfilter;

创建频谱分析仪对象。

hsa = dsp.spectrumanalyzer('采样率',44.1e3,......'plotastwosidedspectrum',错误的,'陈旧',真的,'ylimits'......[-150 30],......'标题'......'低通滤波器的输入信号和输出信号');hsa.channelnames = {'输入''输出'};

实施LPF.过滤白色高斯噪声输入信号。使用Spectrum Analyzer查看输入和输出信号。

为了k = 1:100输入= RANDN(1024,1);输出=步骤(LPF,输入);步骤(HSA,[输入,输出]);结尾

笔记:此示例仅在R2016B或更高版本中运行。如果您使用的是早期版本,请将每个调用替换为等同的函数句法。例如,MyObject(x)变为步骤(myObject,x)。

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

fs = 44.1e3;filtertype ='IIR';fpass = 8e3;fstop = 12e3;rp = 0.1;astop = 80;lpf = dsp.lowpassfilter('采样率',fs,......'filtertype',filtertype,......'Passband职业',馈送,......'stopband职业',fstop,......'passbandropple',RP,......'stopbandattenuation',astop);

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

FVTool(LPF)

创建频谱分析仪对象。

hsa = dsp.spectrumanalyzer('采样率',44.1e3,......'plotastwosidedspectrum',错误的,'陈旧',真的,'ylimits'......[-150 30],......'标题'......'IIR低通滤波器的输入信号和输出信号');hsa.channelnames = {'输入''输出'};

过滤白色高斯噪声输入信号。使用Spectrum Analyzer查看输入和输出信号。

为了k = 1:100输入= 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

算法

展开全部

参考

[1] Shpak,D.J.和A. Antoniou。“冷杉数字过滤器设计的广义Remez方法。”IEEE.®电路和系统的事务。卷。37,2000年2月2日,第161-174页。

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

扩展能力

定点转换
使用固定点设计器™设计和模拟定点系统。

在R2015A介绍