基于MATLAB的信号可视化与测量

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

信号时域和频域可视化

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

采样帧=1000;Fs=1000;SW=dsp.sineewave('频率',100,...'取样器',飞秒,'示例性能框架',SampPerFrame);TS=dsp.TimeScope('取样器',飞秒,'时间跨度',0.1分,...“叶利米特斯”,[-2,2],'显示网格',true);SA=dsp.SpectrumAnalyzer('取样器',Fs);tic;虽然toc<5 sigData=SW()+0.05*randn(SampPerFrame,1);TS(sigData);SA(sigData);结束

时域测量

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

以下测量值可用:

  • 光标测量-在所有作用域显示上放置屏幕光标。

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

  • 双层测量-显示有关选定信号的转换、过冲或过冲以及周期的信息。

  • 寻峰器-显示最大值及其出现的时间。

您可以从时间范围工具栏或工具>测量菜单。

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

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

显示时间范围内的信号,并使用峰值探测器、光标和信号统计测量。假设采样率为4khz。

心电图=dsp.TimeScope('取样器',4000,...'时间跨度源','自动','显示网格',正确);TS_ECG(sigData);TS_ECG.YLimits=[-4,4];

峰值测量

启用峰值测量单击相应的工具栏图标或单击工具>测量>峰值探测器菜单项。点击设置在Peak Finder面板中展开设置窗格。进入10个对于最大峰值数然后按回车键。时间范围在“峰值”窗格中显示一个包含10个峰值振幅值及其出现时间的列表。

每一次心跳之间有0.675秒的恒定时间差。因此,ECG信号的心率由以下方程式给出:

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

光标测量

启用光标测量单击相应的工具栏图标或单击工具>测量>光标测量菜单项。将打开“光标测量”面板,并在时间范围内显示两个光标。您可以拖动光标并使用它们来测量波形中事件之间的时间。在下图中,光标用于测量心电图波形中峰值之间的时间间隔。这个$\T增量$光标测量面板中的测量显示,两个峰值之间的时间间隔为0.675秒,对应于1.482赫兹或88.9次/分钟的心率。

信号统计双层测量

您也可以选择信号统计双层测量工具>测量菜单。信号统计可用于确定信号的最小值和最大值以及其他指标,如峰间值、平均值、中值和均方根值。双层测量可用于确定有关上升和下降跃迁、跃迁像差、过冲和过冲信息、脉冲宽度和占空比的信息。要了解有关这些测量的更多信息,请参见时间范围测量教程示例。

频域测量

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

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

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

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

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

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

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

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

畸变测量

为了说明如何使用频谱分析仪进行测量,请创建一个在48 kHz下采样的2.5 kHz正弦波,并添加高斯白噪声。在每个信号值处计算一个高阶多项式(9次),以建立非线性失真模型。在频谱分析仪中显示信号。

Fs=48e3;SW=dsp.正弦波('频率',2500,...'取样器',飞秒,'示例性能框架',SampPerFrame);SA_失真=dsp.SpectrumAnalyzer('取样器',飞秒,...'绘图仪wosidedspectrum',错误);y=[1e-6 1e-9 1e-5 1e-9 1e-6 5e-8 0.5e-3 1e-6 1 3e-3];tic;虽然toc<5x=SW()+1e-8*randn(SampPerFrame,1);sigData=polyval(y,x);SA_失真(sigData);结束清楚的Sau失真;

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

寻峰器

可以使用“峰值查找器测量”对话框跟踪时变光谱组件。您可以显示和选择标记多达100个峰值。您可以从工具>测量>峰值探测器菜单项,或单击工具栏中相应的图标。

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

Fs=100e3;SW1=dsp.正弦波(1e0,5e3,0,'取样器',飞秒,'示例性能框架',SampPerFrame);SW2=dsp.正弦波(1e-1,15e3,0,'取样器',飞秒,'示例性能框架',SampPerFrame);SW3=dsp.正弦波(1e-2,25e3,0,'取样器',飞秒,'示例性能框架',SampPerFrame);SA_Peak=dsp.SpectrumAnalyzer('取样器',飞秒,'绘图仪wosidedspectrum',错误);抽搐;虽然toc<5 sigData=SW1()+SW2()+SW3()+1e-4*randn(SampPerFrame,1);SA_峰值(sigData);结束清楚的沙乌峰;

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

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