主要内容

MATLAB信号可视化与测量

在MATLAB®中使用时间范围和频谱分析仪在时间和频率域中可视化和测量信号。

时域和频域信号可视化

创建一个频率为100hz的正弦波,采样频率为1000hz。产生五秒的100赫兹正弦波加添加剂 N 0 0 0 0 2 5 一秒间隔的白噪音。将信号发送到时间示波器和频谱分析仪进行显示和测量。

SampPerFrame = 1000;Fs = 1000;SW = dsp。SineWave (“频率”, 100,...“SampleRate”Fs,...“SamplesPerFrame”, SampPerFrame);时间计(“SampleRate”Fs,...“TimeSpanSource”“属性”...“时间间隔”, 0.1,...“YLimits”(2, 2),...“ShowGrid”,真正的);光谱分析仪(“SampleRate”Fs,...“方法”“韦尔奇”“AveragingMethod”“指数”);抽搐;toc < 10 sigData = SW() + 0.05*randn(SampPerFrame,1);SA (sigData);TS (sigData);结束发行版(TS)

发行版(SA)

时域测量

使用时间范围,您可以进行大量的时域信号测量。

以下是可用的测量方法:

  • 光标测量-在所有范围上显示屏幕游标。

  • 信号的统计数据-显示所选信号的最大值、最小值、峰峰差值、平均值、中值、均方根值,以及最大值和最小值发生的时间。

  • 上下两层的测量-显示选定信号的跃迁、像差和周期信息。

  • 峰仪-显示最大值及其发生的时间。

属性中启用和禁用这些度量测量选项卡。

TS_measurementbuttons.png

为了说明测量在时间范围内的使用,模拟一个心电信号。使用心电图函数生成信号的2700个样本。使用Savitzky-Golay滤波器平滑信号,并周期性地扩展数据,以获得大约11个周期。

X = 3.5*ecg(2700).';Y = repmat(sgolayfilt(x,0,21),[1 13]);sigData = y((1:3万)+ round(2700*rand(1))).';

在时间范围内显示信号,并使用峰值查找器和数据游标测量。假设采样率为4千赫。

TS_ECG = timescope(“SampleRate”, 4000,...“TimeSpanSource”“汽车”...“ShowGrid”,真正的);TS_ECG (sigData);TS_ECG。YLimits = [- 4,4];

峰值测量

启用峰值测量测量选项卡,单击相应的工具条按钮。“峰值”窗格将出现在时间范围窗口的底部。为Num山峰属性,输入8,按“Enter”。在Peaks窗格中,时间范围显示了一个包含8个峰值振幅值的列表以及它们出现的时间。

TS_PeakFinder.png

每次心跳之间的时间差为0.675秒。因此,心电信号的心率由下式给出:

6 0 年代 e c / n 0 6 7 5 年代 e c / b e 一个 t 8 8 8 9 b e 一个 t 年代 / n b p

光标测量

启用光标测量测量选项卡,单击相应的工具条按钮。游标出现在时间范围上,其中一个框显示两个游标之间的时间和值的变化。您可以拖动游标并使用它们来测量波形中事件之间的时间。拖动游标时,游标上的值出现的时间。该图显示了如何使用游标来测量ECG波形中峰值之间的时间间隔。的 Δ T 光标框中的测量结果显示,两个峰值之间的时间间隔为0.675秒,对应心率为1.482 Hz或88.9次/分钟。

TS_Cursors.png

信号的统计数据而且上下两层的测量

您也可以选择信号的统计数据以及各种双层测量测量选项卡。信号统计可用于确定信号的最小值和最大值,以及其他指标,如峰到峰、平均值、中值和均方根值。双层测量可用于确定有关上升和下降跃迁、跃迁像差、超调和欠调信息、沉降时间、脉冲宽度和占空比的信息。要阅读有关这些测量的更多信息,请参见配置时间范围MATLAB对象

频域测量

本节介绍如何使用频谱分析仪进行频域测量。

频谱分析仪提供以下测量值:

  • 光标测量-在频谱显示上放置游标。

  • 峰仪-显示最大值及其出现的频率。

  • 信道测量-显示占用带宽和ACPR通道测量值。

  • 变形测量-显示谐波和互调失真测量。

您可以从频谱分析仪工具条启用和禁用这些测量。

SA_Measurements.png

SA_ChannelMeasurements.png

变形测量

为了说明使用频谱分析仪测量,创建一个2.5 kHz正弦波采样在48 kHz加性高斯白噪声。在每个信号值处评估一个高阶多项式(9次)来模拟非线性失真。在频谱分析仪中显示信号。

Fs = 48e3;SW = dsp。SineWave (“频率”, 2500,...“SampleRate”Fs,...“SamplesPerFrame”, SampPerFrame);SA_Distortion =频谱分析仪(“SampleRate”Fs,...“方法”“韦尔奇”...“AveragingMethod”“指数”...“PlotAsTwoSidedSpectrum”、假);Y = [1e-6 1e-9 1e-5 1e-9 1e-6 5e-8 0.5e-3 1e-6 1 3e-3];抽搐;toc < 5 x = SW() + 1e-8*randn(SampPerFrame,1);sigData = polyval(y, x);SA_Distortion (sigData);结束释放(SA_Distortion);

启用谐波失真测量,请选择失真按钮。测量频谱分析仪工具条的选项卡。在失真部分,将值更改为Num谐波到9,检查标签谐波复选框。在频谱分析仪窗口底部的谐波失真面板中,您可以看到接近2500hz和8次谐波的基波值,以及它们的SNR、SINAD、THD和SFDR值,这些值是根据基波输出功率参考的。

SA_DistortionMeas.png

峰仪

您可以通过使用峰值查找器测量来跟踪时变光谱成分。您可以显示和选择标签多达100个峰。要调用峰值查找器,请选择峰仪按钮。测量频谱分析仪工具条的选项卡。

来说明的用法峰仪,创建一个由三个正弦波组成的信号,频率分别为5、15和25 kHz,振幅分别为1、0.1和0.01。数据以100千赫采样。添加 N 0 1 0 - 8 将高斯白噪声转换为正弦波的和,并在频谱分析仪中显示单侧功率谱。

Fs = 100e3;SW1 = dsp。SineWave (1e0,5e3,0,...“SampleRate”Fs,...“SamplesPerFrame”, SampPerFrame);SW2 = dsp。SineWave (1e-1,15e3,0,...“SampleRate”Fs,...“SamplesPerFrame”, SampPerFrame);SW3 = dsp。SineWave (1e-2,25e3,0,...“SampleRate”Fs,...“SamplesPerFrame”, SampPerFrame);SA_Peak =光谱分析仪(“SampleRate”Fs,...“方法”“韦尔奇”...“AveragingMethod”“指数”...“PlotAsTwoSidedSpectrum”、假);抽搐;toc < 10 sigData = SW1() + SW2() + SW3() + 1e-4*randn(SampPerFrame,1);SA_Peak (sigData);结束释放(SA_Peak);

启用峰仪标记三种正弦波频率。频率值和功率以dBm为单位显示在图的下方。中可以增加或减少峰值的最大数量、指定最小峰值距离以及更改其他设置山峰部份测量选项卡。

SA_PeakFind.png

要了解有关使用频谱分析仪测量的更多信息,请参阅频谱分析仪测量的例子。

Baidu
map