主要内容

MATLAB中的信号可视化与测量

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

时域和频域信号可视化

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

SampPerFrame = 1000;Fs = 1000;SW = dsp。SineWave (“频率”, 100,...“SampleRate”Fs,“样品性能框架”, SampPerFrame);TS = timescope (“SampleRate”Fs,“时间跨度源”“属性”...“时间间隔”, 0.1,“YLimits”, [-2, 2],“ShowGrid”,对);SA=dsp.SpectrumAnalyzer(“SampleRate”,Fs);抽搐;虽然toc < 5 sigData = SW() + 0.05*randn(SampPerFrame,1);SA (sigData);TS (sigData);结束释放(TS)释放(SA)

时域测量

使用时间范围,您可以进行许多信号测量。

可进行以下测量:

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

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

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

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

您可以从中启用和禁用这些测量测量标签。

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

x=3.5*ecg(2700)。”;y=repmat(sgolayfilt(x,0,21),[113]);sigData=y((1:30000)+圆形(2700*rand(1));

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

TS_ECG = timescope (“SampleRate”, 4000,...“时间跨度源”“汽车”“ShowGrid”,对);心电图(sigData);t_ECG.YLimits=[-4,4];

峰值测量

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

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

$$\frac{60\,{\rm sec/min}{0.675\,{\rm sec/beat}}=
;88.89\,{\rm beats/min\,(bpm)}$$

光标测量

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

信号统计上下两层的测量

您还可以选择信号统计以及从测量tab.信号统计可用于确定信号的最小值和最大值以及其他指标,如峰间值、平均值、中值和RMS值。双层测量可用于确定有关上升和下降跃迁、跃迁像差、超调和欠调信息、稳定时间、脉冲宽度的信息h、 和占空比。要了解有关这些测量的更多信息,请参阅配置时间范围MATLAB对象

频域测量

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

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

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

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

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

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

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

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

畸变测量

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

Fs = 48 e3;SW = dsp。SineWave (“频率”, 2500,...“SampleRate”Fs,“样品性能框架”, SampPerFrame);SA_Distortion = dsp。简介(“SampleRate”Fs,...“绘制双侧面光谱”,假);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

通过单击工具栏中的相应图标或单击工具>测量>失真测量菜单项。在失真测量中,更改的值谐波数到9,检查标签谐波复选框。在面板中,您可以看到接近2500 Hz的基波值和8次谐波,以及它们的SNR、SINAD、THD和SFDR值,这些值与基波输出功率有关。

峰值查找器

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

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

Fs = 100年e3;SW1 = dsp。SineWave (1e0, 5e3, 0,“SampleRate”Fs,“样品性能框架”, SampPerFrame);SW2 = dsp。SineWave (1e-1, 15e3, 0,“SampleRate”Fs,“样品性能框架”, SampPerFrame);SW3 = dsp。SineWave (1e-2, 25e3, 0,“SampleRate”Fs,“样品性能框架”,采样框);SA_Peak=dsp.SpectrumAnalyzer(“SampleRate”Fs,“绘制双侧面光谱”,假);tic;虽然toc<5 sigData=SW1()+SW2()+SW3()+1e-4*randn(采样帧,1);萨乌峰(sigData);结束清楚的SA_Peak

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

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