主要内容

遗传性出血性毛细血管扩张症

简要地变换

描述

例子

海关=遗传性出血性毛细血管扩张症(国际货币基金组织返回希尔伯特谱海关由本征模态函数指定的信号国际货币基金组织海关用于分析由频谱含量随时间变化的信号组成的混合信号。使用遗传性出血性毛细血管扩张症对信号进行希尔伯特谱分析,以识别局部特征。

例子

海关=遗传性出血性毛细血管扩张症(国际货币基金组织fs返回希尔伯特谱海关以一定速率采样的信号fs

例子

海关ft= hht(___返回频率矢量f和时间向量t除了海关.这些输出参数可以与前面的任何一种输入语法一起使用。

例子

海关ftimfinsfimfinse= hht(___还返回瞬时频率imfinsf瞬时能量imfinse信号诊断的本征模态函数。

例子

___= hht(___名称=值用一个或多个名称-值参数指定的附加选项估计希尔伯特谱参数。

例子

遗传性出血性毛细血管扩张症(___在没有输出参数的情况下,在当前图形窗口中绘制希尔伯特频谱。您可以将此语法与以前语法中的任何输入参数一起使用。

遗传性出血性毛细血管扩张症(___freqlocation用可选参数绘制希尔伯特谱freqlocation参数指定频率轴的位置。频率表示在y-axis。

例子

全部折叠

生成一个高斯调制二次啁啾。指定采样率为2 kHz,信号持续时间为2秒。

Fs = 2000;T = 0:1/fs:2-1/fs;Q = chirp(t-2,4,1/2,6,“二次”, 100,“凸”)。* exp (4 * (t - 1) ^ 2);情节(t, q)

图中包含一个轴对象。axis对象包含一个line类型的对象。

使用emd来可视化本征模态函数(IMFs)和残差。

emd (q)

图中包含5个轴对象。Axes对象1包含一个line类型的对象。该对象表示数据。坐标轴对象2包含一个line类型的对象。该对象表示数据。Axes对象3包含一个line类型的对象。该对象表示数据。Axes对象4包含一个line类型的对象。该对象表示数据。Axes对象5包含一个line类型的对象。 This object represents data.

计算信号的IMFs。使用“显示”名称-值对输出一个表,显示每个IMF的筛选迭代次数、相对公差和筛选停止条件。

Imf = emd(q,“显示”1);
Current IMF | #Sift Iter | RelativeTol | Stop Criterion Hit 1 | 2 | 0.0063952 | SiftMaxRelativeTolerance 2 | 2 | 0.1007 | SiftMaxRelativeTolerance 3 | 2 | 0.01189 | SiftMaxRelativeTolerance 4 | 2 | 0.0075124 | SiftMaxRelativeTolerance分解停止,因为剩余信号中的极值数小于'MaxNumExtrema'值。

利用计算得到的电磁场来绘制二次啁啾的希尔伯特谱。频率范围限制在0hz ~ 20hz。

遗传性出血性毛细血管扩张症(imf, fs,“FrequencyLimits”20 [0])

图中包含一个轴对象。标题为Hilbert Spectrum的axes对象包含4个patch类型的对象。

加载并可视化一个由频率变化明显的正弦波组成的非平稳连续信号。手提钻的振动和烟花的声音是非平稳连续信号的例子。信号以一定的速率采样fs

负载(“sinusoidalSignalExampleData.mat”“X”“fs”) t =(0:长度(X)-1)/fs;情节(t, X)包含(“时间(s)”

图中包含一个轴对象。axis对象包含一个line类型的对象。

混合信号包含不同振幅和频率值的正弦波。

要创建希尔伯特频谱图,需要信号的本征模态函数(IMFs)。进行经验模态分解,计算信号的IMFs和残差。由于信号不平滑,请指定'pchip'作为插值方法。

[imf,residual,info] = emd(X,“插值”“pchip”);

命令窗口中生成的表格显示了每个生成的IMF的筛分迭代次数、相对公差和筛分停止准则。此信息也包含在信息.控件可以隐藏表“显示”,0名称值对。

方法创建希尔伯特谱图国际货币基金组织用经验模态分解得到的分量。

遗传性出血性毛细血管扩张症(imf, fs)

图中包含一个轴对象。标题为Hilbert Spectrum的axes对象包含9个patch类型的对象。

频率与时间图是一个稀疏图,带有一个垂直色条,表示IMF中每个点的瞬时能量。该图表示从原始混合信号分解出的各分量的瞬时频谱。图中出现了3个在1秒内频率变化明显的imf。

加载一个包含太平洋蓝鲸音频数据的文件,以4千赫采样。该文件来自康奈尔大学生物声学研究项目维护的动物发声库。数据中的时间尺度被压缩了10倍,以提高音调,使呼叫更清晰。将信号转换为MATLAB®时间表并绘制它。信号中有四个特征从噪声中脱颖而出。第一种被称为a颤音,其他三个被称为呻吟

[w,fs] = audioread(“bluewhale.wav”);鲸鱼=时间表(w,“SampleRate”fs);stackedplot(鲸鱼);

图中包含一个类型为stackedplot的对象。

使用emd来可视化前三个本征模态函数(IMFs)和残差。

emd(鲸鱼,“MaxNumIMF”3)

图中包含5个轴对象。Axes对象1包含一个line类型的对象。该对象表示数据。坐标轴对象2包含一个line类型的对象。该对象表示数据。Axes对象3包含一个line类型的对象。该对象表示数据。Axes对象4包含一个line类型的对象。该对象表示数据。Axes对象5包含一个line类型的对象。 This object represents data.

计算信号的前三个imf。使用“显示”名称-值对输出一个表,显示每个IMF的筛选迭代次数、相对公差和筛选停止条件。

Imf = emd;“MaxNumIMF”3,“显示”1);
Current IMF | #Sift Iter |相对Tol | Stop Criterion Hit 1 | 1 | 0.13523 | SiftMaxRelativeTolerance 2 | 2 | 0.030198 | SiftMaxRelativeTolerance 3 | 2 | 0.01908 | SiftMaxRelativeTolerance分解停止,因为提取了最大数量的本构模函数。

使用计算得到的imf来绘制信号的希尔伯特谱。频率范围限制在0hz ~ 1400hz。

遗传性出血性毛细血管扩张症(国际货币基金组织(imf),“FrequencyLimits”, 1400年[0])

图中包含一个轴对象。标题为Hilbert Spectrum的axes对象包含3个patch类型的对象。

计算相同频率范围的希尔伯特谱。将颤音和呻吟声的希尔伯特谱可视化为网格图。

[hs,f,t] = hht(基金,“FrequencyLimits”1400年[0]);网格(秒(t), f,海关,“EdgeColor”“没有”“FaceColor”的插值函数)包含(“时间(s)”) ylabel (的频率(赫兹)) zlabel (“瞬时能量”

图中包含一个轴对象。axis对象包含一个surface类型的对象。

加载并可视化一个由频率变化明显的正弦波组成的非平稳连续信号。手提钻的振动和烟花的声音是非平稳连续信号的例子。信号以一定的速率采样fs

负载(“sinusoidalSignalExampleData.mat”“X”“fs”) t =(0:长度(X)-1)/fs;情节(t, X)包含(“时间(s)”

图中包含一个轴对象。axis对象包含一个line类型的对象。

混合信号包含不同振幅和频率值的正弦波。

为了计算希尔伯特谱参数,你需要信号的IMFs。进行经验模态分解,计算信号的本征模态函数和残差。由于信号不平滑,请指定“pchip”作为插值方法。

[imf,residual,info] = emd(X,“插值”“pchip”);

命令窗口中生成的表格显示了每个生成的IMF的筛分迭代次数、相对公差和筛分停止准则。此信息也包含在信息.可以通过指定隐藏表“显示”作为0

计算希尔伯特谱参数:希尔伯特谱海关,频率矢量f,时间向量t,瞬时频率imfinsf、瞬时能量imfinse

[hs,f,t,imfinsf,imfinse] = hht(imf,fs);

利用计算得到的希尔伯特谱参数进行时频分析和信号诊断。

生成由频率为2hz, 10hz和30hz的三个正弦波组成的多分量信号。正弦信号在1千赫采样2秒。将信号嵌入方差为0.01²的高斯白噪声中。

Fs = 1e3;T = 1:1/fs:2-1/fs;x = cos(2 *π* 2 * t) + 2 * cos(2 *π* 10 * t) + 4 * cos(2 *π* 30 * t) + 0.01 * randn(1、长度(t));

计算噪声信号的IMFs,并在三维图中可视化它们。

Imf = vmd(x);[p,q] = ndgrid(t,1:size(imf,2));plot3 (p, q,国际货币基金组织(imf)网格包含(的时间值) ylabel (“模式数字”) zlabel (“模式振幅”

图中包含一个轴对象。axis对象包含5个line类型的对象。

利用计算得到的IMFs绘制多分量信号的希尔伯特谱。限制频率范围为[0,40]Hz。

遗传性出血性毛细血管扩张症(imf, fs,“FrequencyLimits”, [0, 40])

图中包含一个轴对象。标题为Hilbert Spectrum的axes对象包含5个patch类型的对象。

模拟损坏轴承发出的振动信号。计算这个信号的希尔伯特频谱并寻找缺陷。

节径为12厘米的轴承有8个滚动元件。每个滚动元件直径为2厘米。外部赛车保持静止,内部赛车以每秒25圈的速度行驶。加速度计对10千赫的轴承振动进行采样。

Fs = 10000;F0 = 25;N = 8;D = 0.02;P = 0.12;

来自健康轴承的振动信号包括几个阶的驱动频率。

T = 0:1/fs:10-1/fs;yHealthy = [1 0.5 0.2 0.1 0.05] * sin(2 *π* f0 *(1 2 3 4 5]。* t) / 5;

在测量过程的中途,在轴承振动中激发共振。

yHealthy = (1 + 1. / (1 + linspace(-10、10、长度(yHealthy)) ^ 4)) * yHealthy;

共振在轴承的外圈引入缺陷,导致渐进磨损。该缺陷引起一系列冲击,这些冲击在轴承的球通过频率外圈(BPFO)处重复出现:

B P F O 1 2 n f 0 1 - d p 因为 θ

在哪里 f 0 是驾驶速度, n 是滚动元件的个数, d 为滚动元件的直径, p 是轴承的节径,和 θ 为轴承接触角。假设接触角为15°,计算BPFO。

Ca = 15;Bpfo = n*f0/2*(1-d/p*cosd(ca));

使用pulstran函数将冲击建模为5毫秒正弦周期序列。每个3千赫正弦波由一个平顶窗口打开。使用幂律在轴承振动信号中引入渐进磨损。

fImpact = 3000;tImpact = 0:1/fs:5e-3-1/fs;wImpact = flattopwin(length(tImpact))'/10;xImpact = sin(2*pi*fImpact*tImpact).*wImpact;Tx = 0:1/bpfo:t(end);Tx = [Tx;1.3。^ tx-2];nWear = 49000;nSamples = 100000;yImpact = pulstran(t,tx',xImpact,fs)/5; yImpact = [zeros(1,nWear) yImpact(1,(nWear+1):nSamples)];

通过将冲击添加到健康轴承信号中,生成BPFO振动信号。绘制信号并选择从5.0秒开始的0.3秒间隔。

yBPFO = yImpact + yHealthy;xLimLeft = 5.0;xLimRight = 5.3;yMin = -0.6;yMax = 0.6;yBPFO情节(t)[limLeft,limRight] = meshgrid([xLimLeft xLimRight],[yMin yMax]);情节(limLeft limRight,“——”)举行

图中包含一个轴对象。axis对象包含3个line类型的对象。

放大所选间隔,以可视化冲击的效果。

xlim ([xLimLeft xLimRight])

图中包含一个轴对象。axis对象包含3个line类型的对象。

在信号中加入高斯白噪声。指定的噪声方差 1 / 1 5 0 2

Rn = 150;yGood = yHealthy + randn(size(yHealthy))/rn;yBad = yBPFO + randn(size(yHealthy))/rn;plot(t,yGood,t,yBad) xlim([xLimLeft xLimRight])“健康”“受损”

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象代表健康、受损。

使用emd对健康轴承信号进行经验模态分解。计算前五个本征模态函数(IMFs)。使用“显示”参数name-value输出一个表,显示每个IMF的筛选迭代次数、相对公差和筛选停止条件。

imfGood = emd(yGood,MaxNumIMF=5,Display=1);
Current IMF | #Sift Iter |相对Tol | Stop Criterion Hit 1 | 3 | 0.017132 | SiftMaxRelativeTolerance 2 | 3 | 0.12694 | SiftMaxRelativeTolerance 3 | 6 | 0.14582 | SiftMaxRelativeTolerance 4 | 1 | 0.011082 | SiftMaxRelativeTolerance 5 | 2 | 0.03463 | SiftMaxRelativeTolerance分解停止,因为提取了最大数量的本构模函数。

使用emd没有输出参数来可视化前三个imf和残差。

emd (yGood MaxNumIMF = 5)

图中包含5个轴对象。Axes对象1包含一个line类型的对象。该对象表示数据。坐标轴对象2包含一个line类型的对象。该对象表示数据。Axes对象3包含一个line类型的对象。该对象表示数据。Axes对象4包含一个line类型的对象。该对象表示数据。Axes对象5包含一个line类型的对象。 This object represents data.

计算和可视化的缺陷轴承信号的IMFs。第一种经验模式揭示了高频冲击。这种高频模式的能量随着磨损的进行而增加。

imfBad = emd(yBad,MaxNumIMF=5,Display=1);
Current IMF | #Sift Iter |相对Tol | Stop Criterion Hit 1 | 2 | 0.041274 | SiftMaxRelativeTolerance 2 | 3 | 0.16695 | SiftMaxRelativeTolerance 3 | 3 | 0.18428 | SiftMaxRelativeTolerance 4 | 1 | 0.037177 | SiftMaxRelativeTolerance 5 | 2 | 0.095861 | SiftMaxRelativeTolerance分解停止,因为提取了最大数量的本构模函数。
emd (yBad MaxNumIMF = 5)

图中包含5个轴对象。Axes对象1包含一个line类型的对象。该对象表示数据。坐标轴对象2包含一个line类型的对象。该对象表示数据。Axes对象3包含一个line类型的对象。该对象表示数据。Axes对象4包含一个line类型的对象。该对象表示数据。Axes对象5包含一个line类型的对象。 This object represents data.

绘制缺陷轴承信号第一经验模态的希尔伯特谱。第一种模式捕捉了高频撞击的影响。冲击的能量随着轴承磨损的进行而增加。

图遗传性出血性毛细血管扩张症(imfBad (: 1), fs)

图中包含一个轴对象。标题为Hilbert Spectrum的axes对象包含一个patch类型的对象。

第三模态的希尔伯特谱显示了振动信号中的共振。频率范围限制在0hz ~ 100hz。

遗传性出血性毛细血管扩张症(imfBad (:, 3), fs, FrequencyLimits = 100年[0])

图中包含一个轴对象。标题为Hilbert Spectrum的axes对象包含一个patch类型的对象。

为了进行比较,绘制健康轴承信号的第一和第三模式的希尔伯特光谱。

subplot(2,1,1) hht(imfGood(:,1),fs) subplot(2,1,2) hht(imfGood(:,3),fs,FrequencyLimits=[0 100])

图中包含2个轴对象。标题为Hilbert Spectrum的Axes对象1包含一个patch类型的对象。标题为Hilbert Spectrum的Axes对象2包含一个patch类型的对象。

输入参数

全部折叠

本征模态函数,用矩阵或时间表表示。国际货币基金组织是任何包络线相对于零对称且极值和零交叉数最多相差1的信号。emd用于将复杂信号分解简化为希尔伯特谱分析所需的有限个本征模态函数。

遗传性出血性毛细血管扩张症中的每一列国际货币基金组织作为一个本征模态函数。有关计算的更多信息国际货币基金组织,请参阅emd

抽样率,指定为正标量。如果fs的归一化频率用于计算希尔伯特谱。如果国际货币基金组织指定为时间表,则从中推断出抽样率。

频率轴在图上的位置,指定为“桠溪”“xaxis”.上显示频率数据y设在或x-轴的绘图,指定freqlocation作为“桠溪”“xaxis”分别。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“FrequencyResolution”,1

计算希尔伯特频谱的频率限制,指定为1 × 2整数值向量。FrequencyLimits单位为Hz。

频率分辨率离散频率限制,指定为正标量。FrequencyResolution单位为Hz。如果FrequencyResolution未指定时,值为f-f) / 100是从FrequencyLimits.在这里,f的上限是FrequencyLimits而且f是下限。

希尔伯特谱的最小阈值,指定为标量。MinThreshold的元素海关到0时对应的元素 10 日志 10 h 年代 小于MinThreshold

输出参数

全部折叠

希尔伯特谱的信号,返回为稀疏矩阵。使用海关用于时频分析和识别信号中的局部特征。

信号的频率值,以矢量形式返回。遗传性出血性毛细血管扩张症使用频率矢量f还有时间向量t来绘制希尔伯特谱图。

数学上,f表示为:fffresf,在那里fres是频率分辨率。

信号的时间值,返回为矢量或持续时间数组中。遗传性出血性毛细血管扩张症使用时间向量t频率矢量f来绘制希尔伯特谱图。

t返回为:

  • 一个数组,如果国际货币基金组织指定为数组。

  • 一个持续时间数组,如果国际货币基金组织指定为统一采样的时间表。

每个IMF的瞬时频率,作为向量、矩阵或时间表返回。

imfinsf列数和国际货币基金组织并返回为:

  • 一个向量,如果国际货币基金组织指定为向量。

  • 一个矩阵,如果国际货币基金组织指定为矩阵。

  • 时间表,如果国际货币基金组织指定为统一采样的时间表。

每个IMF的瞬时能量,以矢量、矩阵或时间表的形式返回。

imfinse列数和国际货币基金组织并返回为:

  • 一个向量,如果国际货币基金组织指定为向量。

  • 一个矩阵,如果国际货币基金组织指定为矩阵。

  • 时间表,如果国际货币基金组织指定为统一采样的时间表。

算法

希尔伯特-黄变换对于非平稳和非线性数据的时频分析是有用的。希尔伯特-黄氏手术包括以下步骤:

  1. emdvmd分解数据集x变成有限个本征模态函数。

  2. 对于每个本征模态函数,x,函数遗传性出血性毛细血管扩张症

    1. 使用希尔伯特为了计算解析信号, z t x t + j H x t ,在那里Hx的希尔伯特变换是多少x

    2. 表达z作为 z t 一个 t e j θ t ,在那里一个t瞬时振幅和 θ t 是瞬时相位。

    3. 计算瞬时能量, | 一个 t | 2 ,瞬时频率, ω t d θ t / d t .如果给定一个抽样率,遗传性出血性毛细血管扩张症转换 ω t 到以赫兹为单位的频率。

    4. 输出瞬时能量imfinse瞬时频率imfinsf

  3. 当不带输出参数调用时,遗传性出血性毛细血管扩张症绘制信号能量作为时间和频率的函数,颜色与振幅成比例。

参考文献

[1]黄,Norden E, Samuel S P Shen。Hilbert-Huang变换及其应用.第二版,第16卷。跨学科数学科学。世界科学,2014。https://doi.org/10.1142/8804。

[2]黄,Norden E.,吴兆华,Steven R. Long, Kenneth C. Arnold,陈先耀,Karin Blank。"在瞬时频率上。"自适应数据分析研究进展01,不。02(2009年4月):177-229。https://doi.org/10.1142/S1793536909000096。

扩展功能

版本历史

在R2018a中引入