主要内容

在时域能量检测

这个例子展示了如何检测一个离散时间信号的能量在一个有限区间使用信号的均方根值。根据定义,在有限区间——均方根值NnN是由:

R 年代 = 1 2 N + 1 n = N N | x ( n ) | 2

一个离散时间信号的能量在一个有限区间-NnN是由:

E N = n = N N | x ( n ) | 2

从RMS值,来确定信号能量平方RMS值,结果乘以数量的样本用于计算均方根值。

E N = R 年代 2 × ( 2 N + 1 )

在MATLAB计算均方根值®和仿真软金宝app件®,使用移动RMS系统对象™和块,分别。

检测信号能量

这个例子展示了如何计算一个信号的能量信号的均方根值和比较了能源值与指定的阈值。检测上述事件,当信号能量阈值。

创建一个dsp.MovingRMS系统对象™来计算移动信号的均方根。设置这个对象使用滑动窗口方法的窗口长度20。创建一个timescope对象查看输出。

FrameLength = 20;Fs = 100;movrmsWin = dsp.MovingRMS (20);范围= timescope (“SampleRate”Fs,“TimeSpanOverrunAction”,“滚动”,“TimeSpanSource”,“属性”,“时间间隔”,100,“ShowGrid”,真的,“LayoutDimensions”(3 - 1),“NumInputPorts”3);
范围。ActiveDisplay = 1;范围。YLimits = [0 5];范围。Title =输入信号的;
范围。ActiveDisplay = 2;范围。YLimits = [0 350];范围。Title =的比较信号能量和一个阈值;
范围。ActiveDisplay = 3;范围。YLimits = [0 2];范围。PlotType =“楼梯”;范围。Title =“当信号能量大于阈值的检测;

创建输入信号。信号是一个嘈杂的楼梯,20帧的长度。阈值是200。平方计算的能量信号的均方根值和相乘结果窗口长度。比较阈值的信号能量。检测到事件,当信号能量穿过阈值,其标记为1。

数= 1;Vect = (1/8 1 2 3 4 3 2 1 1/2);阈值= 200;指数= 1:长度(Vect) V = Vect(指数);我= 1:90 x = V + 0.1 * randn (FrameLength, 1);日元= movrmsWin (x);y1ener = (y1(结束)^ 2)* 20;事件= (y1ener >阈值);范围(y1, [y1ener。*的(FrameLength, 1),阈值。*的(FrameLength,1)],事件。* (FrameLength, 1));结束结束

您可以定制能源面具一个超过一个标量阈值变化的模式。你也可以记录时间的信号能量高于或低于阈值。

相关的话题