时域信号的功率谱(PS)是基于有限数据集的信号中包含的功率在频率上的分布。信号的频域表示通常比时域表示更容易分析。许多信号处理应用,如噪声消除和系统识别,都是基于信号的特定频率修改。功率谱估计的目的是从一个序列的时间样本中估计信号的功率谱。根据对信号的了解,估计技术可以包括参数或非参数方法,并可以基于时域或频域分析。例如,一种常见的参数技术包括将观测值拟合到自回归模型中。一种常见的非参数技术是周期图。采用傅立叶变换方法进行功率谱估计,如韦尔奇法和滤波器组法。对于长度相对较小的信号,滤波器组方法产生的频谱估计具有更高的分辨率,更准确的噪声底噪声,峰值比Welch方法更精确,且频谱泄漏低或没有。这些优势是以增加的计算量和较慢的跟踪速度为代价的。 For more details on these methods, see光谱分析.您还可以使用其他技术,如最大熵方法。
在Si金宝appmulink.®,您可以使用该动态信号进行实时频谱分析频谱分析仪块。您可以在Spectrum Analyzer中查看光谱数据。要获取进一步处理的最后一个光谱数据,请创建一个SpectrumanalyZerconFiguration
对象并运行getspectrumdata.
函数。或者,你可以用谱估计块的dspspect3
库来计算功率谱,以及数组图块来查看光谱。
您可以使用该信号查看信号的功率谱(PS)频谱分析仪块。PS是实时计算的,并随输入信号的变化和器件特性的变化而变化频谱分析仪块。你可以改变输入信号的动态,并实时观察这些变化对信号频谱的影响。
该模型ex_psd_sa.
向该时馈送嘈杂的正弦波信号频谱分析仪块。正弦波信号是两个正弦波的和:一个频率为5000赫兹,另一个频率为10000赫兹。输入处的噪声为高斯分布,均值为零,标准差为0.01。
打开并检查模型
要打开模型,输入ex_psd_sa.
在MATLAB®命令提示符。
下面是模型中块的设置。
块 | 参数更改 | 块的目的 |
---|---|---|
正弦波1. |
|
频率为5000hz的正弦信号 |
正弦波2. |
|
频率为10000hz的正弦信号 |
随机源 |
|
随机源块生成具有通过块对话框指定属性的随机噪声信号 |
添加 | 标志名单到+++ . |
添加块给输入信号增加随机噪声 |
频谱分析仪 | 单击光谱设置图标.右边出现一个窗格。
单击配置属性图标和集合y-limits(最低)作为 |
频谱分析仪块显示信号的功率谱密度 |
播放模式。打开频谱分析仪块来查看正弦波信号的功率谱。有两个频率为5000赫兹和10000赫兹的音调,它们对应于输入端的两个频率。
RBW时,分辨率带宽是频谱分析仪能分辨的最小频率带宽。默认情况下,RBW(赫兹)被设置为汽车
.在里面汽车
RBW是频率跨度与1024的比值。在双边谱中,这个值是F年代/ 1024但从单方面的角度来看,事实的确如此(F年代/ 2)/ 1024.频谱分析仪ex_psd_sa.
配置为显示单侧频谱。因此,RBW是(44100/2)/1024或21.53 Hz。
使用该值的RBW,用于计算一个光谱更新的输入样本的数量由N样品= FS / RBW,即44100/21.53或2048。
在此模式下计算的RBW具有良好的频率分辨率。
为了区分显示器中的两个频率,两个频率之间的距离必须至少是RBW。在该示例中,两个峰之间的距离为5000Hz,其大于RBW。因此,您可以清楚地看到峰值。将第二正弦波从10000 Hz变为5015Hz的频率。两个频率之间的差异小于RBW.
放大后,你可以看到峰值是无法区分的。
要提高频率分辨率,就要降低频率RBW为1hz,并运行模拟。
在放大时,两个相隔15赫兹的峰值现在可以区分了
当您增加频率分辨率时,时间分辨率会减小。为了在频率分辨率和时间分辨率之间保持良好的平衡,更改RBW(赫兹)到汽车
.
改变输入信号
当在仿真过程中改变输入信号的动态时,信号的功率谱也会实时发生变化。在模拟运行时,更改频率的正弦波1.块8000
并点击应用.光谱分析仪中的第二个音调输出转移到8000 Hz,您可以实时查看变化。
更改Spectrum Analyzer设置
中更改设置时频谱分析仪块,可以实时看到对光谱数据的影响。
模型运行时,在痕迹选项窗格的频谱分析仪块,改变规模到日志
.PS现在以对数规模显示。
有关如何频谱分析仪设置会影响功率谱数据,请参阅“算法”部分频谱分析仪块参考页面。
Spectrum Analyzer提供三个单位以指定功率谱密度:瓦特/赫兹
,dBm /赫兹
, 和dbw / hz.
.相应的权力单位是瓦特
,dBm
, 和瓦分贝
.对于电气工程应用,您也可以查看信号的RMS在VRMS.
或者伏特分贝
.缺省情况下,spectrum类型为权力在dBm
.
电力瓦分贝
是由:
电力dBm
是由:
对于振幅为1v的正弦波信号,其单侧频谱的功率为瓦特
是由:
在这个例子中,这个功率等于0.5 W。对应的dBm功率为:
在这里,功率等于26.9897 dBm。要使用Peak Finder确认此值,请单击工具>测量>峰探测器.
对于白噪声信号,所有频率的频谱都是平坦的。本例中的频谱分析仪在[0 Fs/2]范围内显示单侧频谱。对于方差为1e-4的白噪声信号,单位带宽功率(PUnitaBandWidth.)是1的军医。白噪声的总功率美国瓦茨在整个频率范围内为:
频率箱的数量是总带宽与RBW的比率。对于单面频谱,总带宽是采样率的一半。这个例子中的RBW是21.53 Hz。通过这些值,白噪声的总功率美国瓦茨在DBM中是0.1024 W.可以使用白色噪声的功率计算10 * log10(0.1024 / 10 ^ -3),这等于20.103 dBm。
如果将光谱单位设置为DBFS.
并设置满量程(FullScaleSource
) 到汽车
,权力DBFS.
计算为:
地点:
P美国瓦茨
是瓦特的力量
对于双和浮动信号,full_scale.是输入信号的最大值。
对于定点或整数信号,full_scale.是可表示的最大值。
如果指定手动满量程(设置FullScaleSource
到财产
),在DBFS.
是由:
在哪里FS
表格中是否规定了全部比例系数全档
财产。
对于振幅为1v的正弦波信号,其单侧频谱的功率为瓦特
是由:
在这个例子中,这个功率等于0.5 W,正弦波的最大输入信号是1v。dBFS中相应的幂为:
这里,功率等于-3.0103。要在Spectrum Analyzer中确认此值,请运行以下命令:
Fs = 1000;%采样频率sinef = dsp.SineWave('SampleRate',Fs,'SamplesPerFrame',100);范围= dsp.SpectrumAnalyzer(“SampleRate”,Fs,…'SpectrumUnits','dBFS','PlotAsTwoSidedSpectrum',false) %% for ii = 1:10万xsin = sinef();范围(xsine)结束
电力dBm
是由:
RMS中的电压由:
从前面的例子,PdBm= 26.9897 dBm。Vrms.计算为
等于0.7071。
确认此值:
改变类型到rms.
.
点击打开峰值查找器工具>测量>峰探测器.
或者,您可以使用谱估计块的dspspect3
图书馆。您可以获得频谱估计器的输出,并存储数据以作进一步处理。
取代频谱分析仪块ex_psd_sa.
与之谱估计块后跟一个数组图块。要查看模型,输入ex_psd_estimatorblock.
在MATLAB命令提示符中。此外,要在MATLAB中访问谱估计数据,需要连接到工作区(金宝app模型)块的输出谱估计块。以下是对设置设置的更改谱估计块和数组图块。
块 | 参数更改 | 块的目的 |
---|---|---|
谱估计 |
|
用滤波器组方法计算输入信号的功率谱。 |
数组图 | 点击视图和
|
显示功率谱数据。 |
频谱显示在数组图块类似于所看到的频谱频谱分析仪块ex_psd_sa.
.
滤波器组方法产生的峰值具有非常小的频谱泄漏。
转变x
- 表示频率
默认情况下,数组图阻止相对于每帧的样本数绘制PS数据。X轴上的点数等于输入帧的长度。频谱分析器相对于频率绘制PS数据。对于单侧频谱,频率在范围内变化[0 fs / 2]。对于双面频谱,频率在范围内变化[-fs / 2 fs / 2]。转换x
-AxIS从基于示例到频率的阵列图,执行以下操作:
点击配置属性图标.在主要的选项卡,设置样本增量到Fs / FrameLength
.
对于单面频谱,设置x到0
.
对于双边光谱,集合x到- f / 2
.
在这个例子中,频谱是片面的,因此样本增量和x将44100/1024
和0
,分别。指定输入的频率千赫
,设置样本增量到44.1 / 1024.
.
实时处理
输出谱估计块包含光谱数据,可用于进一步处理。可以实时处理数据,或者它可以使用它存储在工作区中到工作区块。此示例将频谱数据写入Workspace变量估计
.