Kirthi Devleker, MathWorks
通过测量峰值之间的距离来确定信号的周期,并使用信号处理工具箱查找噪声信号中的峰值™.
信号的峰值是最明显和最有用的特征。因此,峰值分析是信号处理的一个重要领域。你可能想知道信号中有多少个峰,它们之间的距离有多远,或者它们是否遵循某种模式。在本视频中,我将向您展示如何使用查找峰值函数检测、定位和显示信号的峰值。我将集中讨论两个典型的任务——通过测量信号峰值和在噪声信号中寻找峰值之间的距离来确定信号的周期。
让我们把一些数据加载到MATLAB中®.这张图显示了过去300年来观测到的太阳黑子的数量。太阳黑子是出现在太阳表面的黑子或斑块。
已知它们的数量会定期变化。信号显然包含许多峰值。让我们使用find peaks函数查看它们的位置。函数在没有输出参数的情况下调用时会阻塞信号并显示所有峰值。
您可以使用“结束峰值”选项限制显示的峰值数。在这里,我选择显示前15个峰值。您可能还希望过滤掉与其他峰值非常接近的峰值,这些峰值不会提供新信息。使用“最小峰值距离”选项可以忽略那些密集分布的峰值。有关可用属性的列表,请参阅find peaks的文档。
我们现在可以计算最大值之间的距离,以了解太阳黑子活动达到峰值的频率。寻找峰值揭示了峰值的振幅和它们的位置。将这个函数应用到信号上,就会返回一些太阳黑子在高峰年和高峰年本身。
我将“最小峰值距离”参数设置为6,以忽略密集的峰值。我们看到第一个高峰出现在1705年,第二个高峰出现在1717年,等等。第一次和第二次高峰之间间隔12年,第二次和第三次高峰之间间隔10年,依此类推。我们可以在高峰年使用差分函数,并找到平均间隔。这个数字是10.96年,大约等于太阳黑子11年的实际周期。
接下来,我们将了解如何检测噪声信号中的峰值。让我们在MATLAB中加载一段ECG信号。尽管有所有的噪音,我们在ECG信号中看到了重复的结构。
最明显的上下模式称为QRS波群。心脏病学家利用QRS波群的特性来诊断异常的心脏行为。向上的波峰称为R波。要检测它们,请将最小峰值高度选项设置为0.5毫伏。由于噪声,非R波的某些峰值可能高于0.5阈值。为了滤除误报,我们可以通过将最小峰距设置为200来施加最小峰间间隔。
R波之后的下降峰值是S波。为了找到它们,我们可以在颠倒信号后完全像以前一样继续。R波之前的倾斜称为Q波。它们很难被发现,因为它们体积小得多,而且常常隐藏在噪音中。一种解决方案是使用平滑滤波器消除一些噪声。Savitzky-Golay滤波器是清除信号的常用工具。
如果我们把原始的和平滑的数据绘制出来,我们可以看到滤波使Q波更加明显。我们现在可以探测、定位和显示Q峰,就像我们对R波和S波所做的一样。一旦我们发现并描述了这三组峰,我们就可以详细研究心电信号了。有关更详细的信息,请参阅信号处理工具箱文档中的峰值分析示例。
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。