文件

dsp.differentiator system对象

直接形成FIR全带差异化器过滤器

描述

dsp。D.ifferentiator在输入信号上应用全带鉴别器过滤器以区分其所有频率分量。此对象使用FIR Equiripple滤波器设计来设计差异化器过滤器。差异化器的理想频率响应是 D. ω 的) = j ω 为了 - π ≤. ω ≤. π .您可以使用具有指定顺序的最小顺序设计过滤器。此对象支持固定点操作。万博1manbetx

要过滤输入的每个通道:

  1. 定义和设置你的微分器。看建造

  2. 称呼一步根据属性过滤输入信号的每个通道dsp。D.ifferentiator.输入信号可以是实值或复值列向量或矩阵。如果输入信号是一个矩阵,矩阵的每一列都被视为一个独立的通道。输入信号中的行数表示通道长度。输入的数据类型可以是双精度、单精度或定点数据类型。的调用之间不能更改通道数一步方法。输入数据和输出数据的数据类型特征(双精度、单精度或定点)和实-复特征(实值或复值)必须相同。

笔记

从R2016B开始,而不是使用一步方法来执行System对象™定义的操作,您可以调用带有参数的对象,就像它是一个函数一样。例如,y =步骤(obj,x)y = obj(x)执行相同操作。

建造

DF = dsp。D.ifferentiator返回差异化器,DF.,使用默认设置。调用一步使用默认属性设置将输入数据过滤,具有具有0.1 dB的通带纹波的最小订单过滤器。

DF.= dsp。D.ifferentiator(名称,值的)将每个属性名称设置为指定值。未指定的属性具有默认值。

特性

全部展开

用于设计作为逻辑标量指定的最小订单筛选器的选项。滤波器有2个自由度。当您将此属性设置为

  • 真正的- 该对象使用最小顺序设计过滤器通带叉价值。

  • 对象按照您在FilterOrder财产。

此属性不可调谐。

过滤器的顺序,指定为奇数正整数。只能在何时指定过滤器订单'DesignFormInimimiminder'被设置为

此属性不可调谐。

DB中的最大通带纹波,指定为正实标量。只有在何处'DesignFormInimimiminder'被设置为真正的

此属性不可调谐。

选项缩放过滤器系数,指定为逻辑标量。当您将此属性设置为真正的,对象缩放滤波系数以保持输入的动态范围。

此属性不可调谐。

定点属性

系数的单词和分数长度,指定为签名或无符号numerictype目的。默认值,Numerictype(1,16),对应具有16位系数的带符号数值类型对象。为了得到最好的精度,分数长度是根据系数值计算的。

此属性不可调谐。

输出的单词长度与输入的单词长度相同。该对象计算输出的分数长度,以表示输出的整个动态范围而不会溢出。有关对象如何计算输出的分数长度的详细信息,请参见FIR滤波器中防止溢出的定点精度规则

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

此属性不可调谐。

例子

全部展开

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

估计线性相位FIR滤波器的群时延dsp。TransferFunctionEstimator紧随其后的是对象dsp。PhaseExtractordsp。D.ifferentiator对象。给出了线性相位FIR滤波器的群时延,在那里是过滤器的相位信息,是频率矢量,和N.是过滤器的阶数。

设置对象

创建一个线性相位FIR低通滤波器。设置阶数为200,通带频率为255hz,通带纹波为0.1 dB,阻带衰减为80db。指定采样频率为512hz。

Fs = 512;LPF = dsp。LowpassFilter ('采样率'Fs,“PassbandFrequency”,255,......'DesignFormInimimiminder'假的,'filterorder',200);

为了估计低通滤波器的传递函数,创建一个传递函数估计器。指定要创建的窗口.设置FFT长度为1024,平均频谱数为200。

tfe = dsp.transferfuncetientimator(“FrequencyRange”双侧的......“SpectralAverages”,200,“FFTLengthSource”“属性”......“FFTLength”, 1024);

要从滤波器的频率响应中提取未包装的阶段,请创建相位提取器。

PE = dsp.PhaseExtractor;

来区分相位,创建一个微分器过滤器。该值用于计算组延迟。

df = dsp.differentiator;

为了平滑输入,创建一个可变带宽FIR滤波器。

gain1 = 512 / pi;gain2 = -1;vbfilter = dsp.variaseBablWidthFirfilter('cutffrequency',10,......'采样率'Fs);

要查看筛选器的组延迟,请创建一个数组绘图对象。

美联社= dsp。ArrayPlot (“PlotType”'线'“YLimits”(-500 400),......“YLabel”“振幅”“包含”'样本数量');

运行算法

为了-Loop是估计过滤器的组延迟的流循环。在循环中,算法滤除输入信号,估计过滤器的传递函数,并将滤波器的相位区分开来计算组延迟。

硝石= 1000;%迭代次数为了k = 1:Niter x = randn(512,1);输入信号=高斯白噪声y = lpf(x);使用低通FIR滤波器滤除噪声H = TFE (x, y);计算传递函数估计阶段= PE(h);%提取未包装的阶段phaseaftergain1 = Gain1 *阶段;DiffOut = DF (phaseaftergain1);%区分阶段phaseaftergain2 = Gain2 * DiffOut;VBFOut = VBFilter (phaseaftergain2);%平滑组延迟AP(VBFOUT);%显示组延迟时间结束

如你所见,低通滤波器的组延迟是100。

方法

getFilter 获取底层冷杉过滤器
重置 复位微分器的内部状态
一步 用时间微分输入信号

有关其他方法,请参见过滤系统对象分析方法

有关支持的完整分析方法列表万博1manbetxdsp。D.ifferentiator对象,输入dsp.differentiator.helpfilteranalysis.在MATLAB®命令提示符。

所有系统对象通用
释放

允许系统对象属性值改变

算法

全部展开

参考文献

[1] Orfanidis,Sophocles J.信号处理简介。上鞍河,新泽西:普伦特 - 大厅,1996年。

扩展能力

在R2016A介绍

这个话题有用吗?