信号分析:MATLAB中的幅度估计

时间:2012-02-12 23:25:27

标签: matlab signal-processing

我试图在MATLAB中估计信号的幅度:

signal

可以看出,我不能简单地使用max()和min()来获得振幅。信号不断徘徊,无论如何不是恒定的。然而,我正在寻找的只是一个平均值 - 一个单个数字来估计上图中主要分量的平均幅度(重复八次)。从视觉上看,我正在努力寻找的是相当明显的。但是以编程方式......

我听说'希尔伯特变换' - 希尔伯特()和'快速傅里叶变换' - fft() - 但对信号分析知之甚少 - 并且想知道是否有人能够引导我进入右边方向,或解释如何利用这些功能之一。我的数据只是一个以1000Hz存储在一维数组中的浮点数。

感激不尽的任何帮助!

2 个答案:

答案 0 :(得分:2)

您有几种选择,最简单的选择是:

  1. 使用峰值检测器查找局部极值。您可以在MathWorks文件交换中找到几个。
  2. 应用高通滤波器以消除基线漂移,然后找到绝对最小值和最大值

答案 1 :(得分:1)

为了提取峰峰值幅度,您可以先将detrend应用于数据集。