主要内容

dsp.Differentiator

直接形成冷杉fullband微分器过滤器

描述

dsp.Differentiator系统对象™应用fullband微分滤波器的输入信号来区分所有的频率成分。这个对象使用一个冷杉equiripple滤波器设计设计微分器过滤器。理想的频率响应的差异 D ( ω ) = j ω π ω π 。你可以设计订单指定的过滤器与最低订购量。这个对象支持定点操作。万博1manbetx

过滤输入的每个通道:

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

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

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

DF= dsp.Differentiator返回一个区别,DF独立,随着时间的推移过滤器输入的每个通道使用给定的设计规范。

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

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

选择设计一个最小订单过滤器,指定为一个逻辑标量。过滤器有2个自由度。当你设定这个属性

  • 真正的——对象设计滤波器满足的最低订购量PassbandRipple价值。

  • - - - - - -对象设计订单中指定的过滤器FilterOrder财产。

这个属性不是可调。

的过滤器,指定为一个奇怪的正整数。

这个属性不是可调。

依赖关系

您可以指定过滤器订单只有当“DesignForMinimumOrder”被设置为

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

最大的通带波纹在dB,指定为一个积极的真正的标量。

这个属性不是可调。

依赖关系

您可以指定通带波纹只有当“DesignForMinimumOrder”被设置为真正的

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

选择滤波器系数,指定为一个逻辑标量。当你设定这个属性真正的保护对象尺度滤波器系数,输入动态范围。

这个属性不是可调。

定点属性

词和部分长度系数,指定为一个符号(或无符号numerictype对象。默认的,numerictype (16),对应于一个签署了16位系数数值类型对象。给最好的精度,计算分数的长度根据系数值。

这个属性不是可调。

输出的字长是一样的单词长度的输入。对象计算输出的部分的长度,这样整个动态范围的输出可以表示没有溢出。的细节对象计算输出的部分长度,明白了在FIR滤波器定点精确规则避免溢出

舍入方法输出定点操作,指定为一个特征向量。舍入模式的更多信息,请参阅精度和范围

这个属性不是可调。

使用

语法

描述

例子

y= DF (x)fullband区分过滤器适用于输入信号,xy是一个差异化的版本x

输入参数

全部展开

数据输入,指定为一个向量或矩阵。如果输入信号是一个矩阵,矩阵的每一列都被视为一个独立的通道。在输入信号的行数表示通道长度。数据类型特征(双、单或定点)和综合特征(真实的或复杂的价值)必须相同的输入数据和输出数据。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi
复数的支持:万博1manbetx是的

输出参数

全部展开

分化信号,作为一个向量或矩阵返回相同的大小,数据类型,和复杂性作为输入信号,x

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi
复数的支持:万博1manbetx是的

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

getFilter 获得潜在的冷杉过滤器
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

请注意:本例中只运行在R2016b或更高版本。如果您使用的是较早的版本,用等效替换每个调用函数一步语法。例如,myObject (x)变成了一步(myObject x)。

线性相位滤波器的群时延估计使用dsp.TransferFunctionEstimator紧随其后的是对象dsp.PhaseExtractordsp.Differentiator对象。线性相位滤波器的群时延是由GD = -美元(d \θ(\ω)/ d \ω)= - \压裂{N} {2} $,在那里\θ(\ω)美元滤波器的相位信息,ω\美元是频率向量,然后呢N过滤器的顺序。

设置对象

创建一个线性相位FIR低通滤波器。设置为200,通带频率255赫兹,0.1 dB的通带波纹,阻带衰减80分贝。指定一个采样率为512 Hz。

Fs = 512;LPF = dsp.LowpassFilter (“SampleRate”Fs,“PassbandFrequency”,255,“DesignForMinimumOrder”假的,“FilterOrder”,200);

低通滤波器的传递函数估计,创建一个传递函数估计量。指定的窗口损害。设定FFT长度为1024年和200年平均谱的数量。

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

提取打开阶段从滤波器的频率响应,提取器创建一个阶段。

PE = dsp.PhaseExtractor;

区分阶段\θ美元,创建一个微分滤波器。此值用于计算群延迟。

DF = dsp.Differentiator;

抚平输入,创建一个可变带宽滤波器。

Gain1 = 512 /π;Gain2 = 1;VBFilter = dsp.VariableBandwidthFIRFilter (“CutoffFrequency”10“SampleRate”Fs);

查看滤波器的群时延,创建一个数组对象。

美联社= dsp.ArrayPlot (“PlotType”,“行”,“YLimits”(-500 400),“YLabel”,“振幅”,“包含”,样品的数量);

运行算法

循环流循环估计滤波器的群时延。循环,算法对输入信号进行过滤,估计滤波器的传递函数,区别滤波器的相位计算群延迟。

硝石= 1000;%的迭代次数k = 1:硝石x = randn (512 1);% =高斯白噪声输入信号y = LPF (x);%与低通滤波器过滤噪音H = TFE (x, y);%计算传递函数估计阶段= PE (H);%提取打开阶段phaseaftergain1 = Gain1 *阶段;DiffOut = DF (phaseaftergain1);%分化阶段phaseaftergain2 = Gain2 * DiffOut;VBFOut = VBFilter (phaseaftergain2);%的群延迟美联社(VBFOut);%显示群延迟结束

正如您可以看到的,低通滤波器的群时延是100。

创建一个调频波在100 Hz载波信号取样1.5 kHz。

Fc = 1 e2;%载体Fs = 1.5 e3;%采样率sinewave = dsp.SineWave (“频率”10“SamplesPerFrame”1 e3,“SampleRate”Fs);

调频信号转换成一个信号。

ts = timescope (“TimeSpanSource”,“属性”,“时间间隔”,0.3,“BufferLength”10 * Fs,“SampleRate”Fs,“ShowGrid”,真的,“YLimits”(-1.5 - 1.5),“LayoutDimensions”1 [2]);df = dsp.Differentiator;抽搐toc < 2.2 x =步骤(sinewave);fm_y =调节(x, Fc, Fs,“调频”);fm_y am_y =步骤(df);步骤(ts、fm_y am_y);结束释放(df);释放(ts);

算法

全部展开

引用

[1]Orfanidis,索福克勒斯J。介绍了信号处理。上台北:普伦蒂斯·霍尔出版社,1996年。

扩展功能

版本历史

介绍了R2016a