主要内容

MATLAB中的信号可视化与测量

这个例子展示了如何可视化和测量信号的时间和频率域在MATLAB®使用一个时间范围和频谱分析仪。

时域和频域信号可视化

创建一个正弦波,频率为100hz,采样频率为1000hz。用加法生成5秒的100赫兹正弦波美元$ N (0, - 0.0025)一秒间隔的白噪音。将信号发送到时间范围和频谱分析仪进行显示和测量。

SampPerFrame = 1000;Fs = 1000;SW = dsp。SineWave (“频率”, 100,...“SampleRate”Fs,...“SamplesPerFrame”, SampPerFrame);TS = timescope (“SampleRate”Fs,...“TimeSpanSource”“属性”...“时间间隔”, 0.1,...“YLimits”(2, 2),...“ShowGrid”,真正的);SA = dsp。简介(“SampleRate”Fs);抽搐;toc < 5 sigData = SW() + 0.05*randn(SampPerFrame,1);SA (sigData);TS (sigData);结束发布(TS)发布(SA)

时域测量

使用时间范围,你可以做一些信号测量。

以下测量是可用的:

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

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

  • 上下两层的测量-显示有关选定信号的过渡、畸变和周期的信息。

  • 峰仪-显示最大值和它们发生的时间。

控件可以启用和禁用这些度量测量选项卡。

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

x = 3.5 *心电图(2700)。';Y = repmat(sgolayfilt(x,0,21),[1 13]);sigData = y((1:30000) + round(2700*rand(1))); ';

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

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

峰值测量

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

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

$ $ \压裂{60 \ {\ rm秒/分钟}}{0.675 \ {\ rm秒/击败}}= & # xA; 88.89 \ {\ rm胜/分钟\,(bpm)} $ $

光标测量

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

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

你也可以选择信号的统计数据和不同的两层测量测量选项卡。信号统计可以用来确定信号的最小值和最大值,以及其他指标,如峰值、平均值、中值和均方根值。两电平测量可用于确定有关上升和下降跃迁、跃迁像差、过冲和欠冲信息、沉淀时间、脉宽和占空比的信息。要了解更多关于这些测量的信息,请参见配置时间范围MATLAB对象

频域测量

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

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

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

  • 峰仪-显示最大值和它们发生的频率。

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

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

  • CCDF测量-显示免费的累积分布函数测量值。

您可以从频谱分析仪工具栏或从测量工具>菜单。

变形测量

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

Fs = 48 e3;SW = dsp。SineWave (“频率”, 2500,...“SampleRate”Fs,...“SamplesPerFrame”, SampPerFrame);SA_Distortion = dsp。简介(“SampleRate”Fs,...“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,检查标签谐波复选框。在面板中,你可以看到接近2500赫兹和8次谐波的基频值以及它们的信噪比、SINAD、THD和SFDR值,这些值都是与基频输出功率相关的。

峰仪

您可以通过使用峰值查找器测量对话框跟踪时变的光谱成分。您可以显示和选择标签多达100个峰。控件中可以调用Peak Finder对话框工具>测量>峰值探测器菜单项,或单击工具栏中相应的图标。

说明…的用法峰仪,产生一个由频率分别为5、15和25 kHz、振幅分别为1、0.1和0.01的3个正弦波之和组成的信号。数据以100 kHz采样。添加$ N(0, 10 ^{8})美元将高斯白噪声与正弦波相加,在频谱分析仪中显示单侧功率谱。

Fs = 100年e3;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 = dsp。简介(“SampleRate”Fs,...“PlotAsTwoSidedSpectrum”、假);抽搐;toc < 5 sigData = SW1() + SW2() + SW3() + 1e-4*randn(SampPerFrame,1);SA_Peak (sigData);结束清晰的SA_Peak

启用峰仪标记三个正弦波的频率。dBm中的频率值和功率显示在峰仪面板。您可以增加或减少峰值的最大数目,指定最小峰值距离,并从设置“峰值查找器测量”面板中的窗格。

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