主要内容

dsp.dcblocker.

阻止输入信号的直流分量(偏移量)

描述

dsp.dcblocker.系统对象™去除输入信号的每个通道(列)的直流偏移。该操作会随着时间的推移运行,以持续估计和消除直流偏置。

要阻断输入信号的直流分量:

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

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

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

创建

描述

例子

dcblker= dsp。DCBlocker创建一个直流阻止系统对象,dcblker,以阻止直流分量从每个通道(列)的输入信号。

例子

dcblker= dsp。DCBlocker (名称,值创建一个直流阻止系统对象,dcblker,将每个指定的属性设置为指定的值。将每个属性名用单引号括起来。

例子:dcblker = dsp.DCBlocker(“算法”、“冷杉”)

特性

全部展开

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

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

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

估计DC偏移量的算法,指定为以下之一:

  • “信息检索”——该对象使用基于窄的低通椭圆滤波器的递归估计。的订单属性设置过滤器的顺序,以及标准化带宽属性设置其带宽。该算法通常使用比FIR算法更少的内存,更有效。

  • “杉”- 该对象使用基于有限数量的过去输入样本的非持久性移动平均估计。的长度属性设置样本的数量。FIR滤波器具有线性相位响应,不会对信号造成任何相位失真。IIR过滤器需要更少的内存,实现起来更有效率。

  • “中投”—对象使用CIC抽取器,抽取因子为1,其微分延迟使用NormalizedBandwidth属性计算。它使用两个部分,以确保第一副瓣衰减至少低于滤波器的主瓣25 dB。该算法需要定点输入,可用于HDL代码生成。

  • '减去意思'- 对象计算输入矩阵的列的方法,并从输入中减去均值。此方法不会在输入之间保持状态。

您可以通过使用FVTool.函数。

IIR或CIC滤波器的标准化带宽,指定为大于0或小于1.归一化带宽用于估计输入信号的DC分量。

依赖性

仅当您设置时,此属性仅适用算法财产“信息检索”或者“中投”

用于估计直流电平的低通IIR椭圆滤波器的阶数,指定为大于3的整数。

依赖性

仅当您设置时,此属性仅适用算法财产“信息检索”

FIR算法用于估计运行均值的过去输入样本的数量,指定为一个正整数。

依赖性

仅当您设置时,此属性仅适用算法财产“杉”

使用

描述

例子

dcblkerOut= dcblker(输入从输入的每个通道(列)中移除直流组件并返回输出。

输入参数

全部展开

数据输入到DC阻止器对象,指定为向量,矩阵或N- d数组。

例子:t =(0:0.001:100)”;X = sin(30* t) + 1;

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

输出参数

全部展开

用DC分量的信号移除,返回为载体,矩阵或N- d数组。的output dimensions match the input dimensions.

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

对象的功能

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

发行版(obj)

全部展开

FVTool. 显示DSP滤波器的频率响应
系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部折叠

请注意如果你正在使用R2016a或更早的版本,用等价的步骤语法替换每个对象调用。例如,obj(x)变成step(obj,x)。

使用IIR、FIR去除输入信号的直流分量,并减去均值估计算法。

创建由15 Hz音调,25Hz音调和DC偏移组成的信号。

t =(0:0.001:100)”;X = sin30 *t + 0.33*cos(50* t) + 1;

为三个估计算法创建三个直流阻止对象。

dc1 = dsp.dcblocker(“算法”“信息检索”'命令'6);dc2 = dsp。DCBlocker (“算法”“杉”'长度', 100);dc3 = dsp。DCBlocker (“算法”'减去意思');

对于每一秒的时间,将输入信号通过直流阻断器。通过实现1秒增量的直流阻断器,您可以观察到收敛时间的差异。

IDX = 1:100范围=(1:1000)+ 1000 *(IDX-1);Y1 = DC1(x(范围));%IIR估计Y2 = DC2(x(范围));%FIR估计Y3 = DC3(x(范围));%减去意思结束

绘制三个直流阻滞器在第一秒的输入和输出数据,并显示每个信号的平均值。三种算法类型的平均值表明冷杉减去的意思算法收敛得更快。

绘图(T(1:1000),x(1:1000),......T(1:1000),Y1,......T(1:1000),Y2,......t(1:1000)、y3);包含('时间(秒)')ylabel(“振幅”)传说(sprintf ('输入DC:%。3F',平均值(x)),......sprintf (“IIR DC: % .3f”意味着(y1)),......sprintf (“冷杉DC: % .3f”意味着(y2)),......sprintf ('减去均值DC:%。3F',意味着(y3)));

图中包含一个轴对象。轴对象包含4个类型为line的对象。这些对象代表输入DC:1.000, IIR DC:0.011, FIR DC:-0.000,减去平均值DC:-0.000。

请注意如果你正在使用R2016a或更早的版本,用等价的步骤语法替换每个对象调用。例如,obj(x)变成step(obj,x)。

将一个带有直流偏置的输入信号的频谱与应用直流阻断器后的相同信号的频谱进行比较。使直流阻断器使用冷杉估计算法。

创建由三个音调组成的输入信号,具有DC偏移1.将采样频率设置为1 kHz,并将信号持续时间设置为100秒。

FS = 1000;t =(0:1 / fs:100)';X = SIN(30 * PI * T)+ 0.67 * SIN(40 * PI * T)+ 0.33 * SIN(50 * PI * T)+ 1;

创建一个使用FIR算法估计直流偏移的DC阻塞对象。

dcblker = dsp。DCBlocker (“算法”“杉”'长度', 100);

创建功率单元设置为的频谱分析仪瓦分贝频率范围是30 [-30]显示输入信号的频率响应。使用克隆函数,创建第二个频谱分析仪以显示输出的响应。然后,使用标题频谱分析仪的属性来标记它们。

hsa = dsp。简介('采样率'fs,......“PowerUnits”'dbw'“FrequencySpan”'开始和停止频率'......“StartFrequency”,-30,'停止',30,“YLimits”20 [-200],......“标题”信号频谱的);hsb =克隆(hsa);hsb。Title ='DC阻滞剂后的信号频谱'

传递输入信号,x,通过直流阻断器产生输出信号,y

y = dcblker (x);

使用第一频谱分析仪显示输入信号的频率特性。在15,20和25Hz的音调和DC组分清晰可见。

hsa (x)

使用第二频谱分析仪显示输出信号的频率特性。已删除DC组件。

hsb (y)

算法

全部展开

直流阻断器从输入信号中减去直流分量。您可以通过使用IIR, FIR, CIC或减去平均值算法来估计直流分量。

参考文献

[1] Nezami,M。“直接转换战术软件定义接收器的基带算法的性能评估:I / Q不平衡校正,图像抑制,DC删除和信道。”Milcom,2002年。

扩展能力

在R2014A介绍