EngeeDSP.spectrumAnalyzer
创建频谱分析仪对象。
库::`工程师`
资料描述
一个对象 ` EngeeDSP.spectrumAnalyzer ` 显示时域信号的频谱。 频谱分析仪以频谱或频谱图的形式表示频谱。 对象执行使用滤波器组方法和经平均修改的韦尔奇周期图的方法的频谱计算。 有关详细信息,请参阅算法。 频谱分析仪可以W、dBm和dBW三个单位显示信号功率谱。 有关这三个单元之间的功率转换的详细信息,请参阅将功率从一个测量单位转移到另一个测量单位。
要创建频谱分析仪对象,请执行以下步骤:
-
创建对象 EngeeDSP.spectrumAnalyzer 并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 Engee系统对象.
语法
特征
# Size — 图表尺寸
Details
图形大小设置为整数元组,例如, (800, 600).
#
FFTLength —
FFT长度
Int64 integer
Details
# YLimits — 轴限值
Details
轴限值 它们被设置为实数元组。 默认值 (-80, 20).
#
CenterFrequency —
用于计算频谱的中心频率
Real number
Details
依赖关系
若要使用此属性,请指定 FrequencySpan="span-and-center-frequency".
#
FrequencySpan —
频率范围模式
String
Details
频率范围模式。 可能的值:
-
"满"-频谱在整个奈奎斯特范围内绘制,有关更多信息,请参阅[奈奎斯特频率间隔]; -
"启动和停止频率"-频率值在属性中设置[属性:StartFrequency]和[属性:停止频率].
#
FrequencyScale —
频率显示的比例
String
Details
缩放以显示频率。 可能的值:
-
"线性"(默认值)-使用线性刻度显示沿轴的频率 ; -
"日志"—使用对数刻度显示沿轴的频率 .
不能为此属性赋值。 "日志" 如果值为 [属性:PlotAsTwoSidedSpectrum]=true.
#
FrequencyResolutionMethod —
频谱分析仪频率分辨率的方法
String
Details
频谱分析仪的频率分辨率的方法。 可能的值:
-
"rbw"(默认情况下)-属性[属性:RBWSource]和[属性:RBW]分析仪的频率分辨率(以Hz为单位)进行控制; -
"num-频段"-物业[属性:FFTLengthSource]和[属性:FFTLength]它们控制频率分辨率。 此值只能在以下情况下设置Method="filter-bank"; -
"窗口长度"-财产[属性:WindowLength]控制频率分辨率。 此值只能在以下情况下设置[属性:方法]="韦尔奇".
#
LineWidth —
线宽
Real number
Details
图形上线条的宽度,设置为正标量。 默认值为 1.5.
#
ViewType —
查看显示
String
Details
要显示的视图。 可能的值:
-
"频谱"(默认)-显示信号的频谱; -
"频谱图"-显示信号频谱图。 频谱图显示了信号的频率组成随时间的变化。 频谱图的每一行代表一个周期图。; -
"频谱图"-同时显示频谱和频谱图。
#
PlotAsTwoSidedSpectrum —
建立双向频谱
Logical
Details
构建双向频谱。 可能的值:
-
真的(默认情况下)-计算并绘制双向频谱。 如果输入信号是复杂的,则必须将此属性设置为真的; -
错误-计算并构建单侧光谱。 如果这项财产很重要错误,输入信号必须具有真实值。
如果这项财产很重要 错误,频谱分析仪使用光谱的重叠。 轴上的值 这是如果这个属性很重要的话振幅的两倍。 真的,除了 0 和奈奎斯特频率。 单向频谱功率密度(SPM)包含从DC到奈奎斯特频率一半的频率范围内的全部信号功率。
#
TimeSpan —
时间间隔
Real number
Details
以秒为单位显示频谱图的时间间隔,设置为正标量。 有必要设置一个时间间隔至少是更新光谱所需的样本数量的持续时间的两倍。
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱图" 或 ViewType="spectrum-and-spectrogram" 和 <<属性:TimeSpanSource>="属性".
#
YLabel —
轴签名
String
Details
轴签名 .
#
RBW —
分辨率波段
Real number
Details
分辨率带宽(RBW)以Hz为单位,设置为正标量。 指定一个值,以确保在指定的频率范围内至少有两个RBW间隔。 总范围与RBW之比满足该条件:
该值必须小于参数指定的频率范围的一半 [财产:FrequencySpan].
RBW控制显示信号的频谱分辨率。 RBW值定义了可以区分的频率之间的间隔。 较低的值可提供较高的频谱分辨率并降低噪声水平。 也就是说,频谱分析仪可以区分位于彼此更靠近的频率。 然而,这导致扫描时间的增加。
有关详细信息,请参阅分辨率波段(RBW)。
依赖关系
若要使用此属性,请指定 <<属性:RBWSource>="属性".
#
VBWSource —
视频波段的来源
String
Details
视频频带(video bandwidth,VBW)的来源。 可能的值:
-
"汽车"-频谱分析仪调整VBW,使等效遗忘系数为0.9; -
"财产"-频谱分析仪使用属性中指定的值校正VBW[属性:VBW].
依赖关系
若要使用此属性,请指定 [属性:AveragingMethod]="vbw".
#
FFTLengthSource —
FFT长度的来源
String
Details
FFT长度的来源。 可能的值:
-
"汽车"(默认情况下)-值[属性:FFTLength]=1024; -
"财产"-FFT点数等于属性中指定的值[属性:FFTLength].
#
ShowGrid —
在图形上显示网格
Logical
Details
可能的值:
-
真的(默认)-显示网格。 -
错误-不显示网格。
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱" 或 ViewType="spectrum-and-spectrogram".
#
Colormap —
图形的调色板
String
Details
可能的值:
-
"喷气式飞机"(默认情况下); -
"骨头"; -
"酷"; -
"铜"; -
"灰色"; -
"热"; -
"帕鲁拉".
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱图" 或 ViewType="spectrum-and-spectrogram".
#
ForgettingFactor —
遗忘率
Real number
Details
#
FrequencyOffset —
轴偏移量
Real number
Details
应用于频率轴(轴)的偏移量 ),被设置为以Hz为单位的标量。
总范围应在 奈奎斯特频率范围。 您可以通过设置属性以各种方式管理总范围 [财产:FrequencySpan].
#
RBWSource —
按分辨率划分的频带源
String
Details
频带的源按分辨率(resolution bandwidth,RBW)。 可能的值:
-
"汽车"-频谱分析仪设置RBW值,以提供等效的RBW值1024频率间隔; -
"财产"-直接使用RBW属性指定分辨率带。
依赖关系
若要使用此属性,请指定 FrequencyResolutionMethod="rbw".
#
AveragingMethod —
频谱平均法
String
Details
谱平均的方法。 可能的值:
-
"vbw"-视频带方法。 对象使用低通滤波器来平滑曲线并降低噪声。 使用属性[属性:VBWSource]和[属性:VBW]来指定视频带的值。 -
"指数"-计数的加权平均值。 对象根据由指数递减的遗忘系数加权的样本计算平均值。 使用物业[属性:ForgettingFactor]来指定加权遗忘率。
有关平均方法的详细信息,请参阅 平均方法.
# ColorLimits — 频谱图的颜色边界
Details
频谱图的颜色边界,定义为实数元组。 默认值 (-80, 20).
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱图" 或 ViewType="spectrum-and-spectrogram".
#
SpectrogramChannel —
正在构建频谱图的通道
Int64 integer
Details
正在构造频谱图的信道被指定为范围内的正整数 [1,N],在哪里 N -输入通道的数量。
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱图" 或 ViewType="spectrum-and-spectrogram".
#
FullScaleSource —
dBFS比例因子的来源
String
Details
DBFS比例因子的来源。 可能的值:
-
"汽车"-频谱分析仪依赖于输入数据的最大值; -
"财产"-物业正在使用[属性:全尺度].
依赖关系
若要使用此属性,请指定 [属性:SpectrumUnits]="dBFS" 或 SpectrumUnits="dBFS/Hz".
#
StopFrequency —
计算频谱的最终频率
Real number
Details
频谱分析仪计算和绘制频谱的频率范围内的最终频率以Hz为单位给出。 此属性和属性定义的总范围 [属性:StartFrequency],必须在 奈奎斯特频率范围。
依赖关系
若要使用此属性,请指定 FrequencySpan="开始和停止频率".
#
Title —
图表签名
String
Details
图的签名。
#
SampleRate —
输入信号的采样率
Real number
Details
以Hz为单位的输入信号的采样频率,设置为正标量。
#
Span —
计算频谱的频率范围
Real number
Details
依赖关系
若要使用此属性,请指定 FrequencySpan="span-and-center-frequency".
#
TimeResolutionSource —
频谱图各行的时间分辨源
String
Details
频谱图各行的时间分辨源。 可能的值:
-
"汽车"(默认情况下); -
"财产".
如果为参数 [属性:RBWSource] 和 [属性:TimeResolutionSource] 值设置 "汽车" 然后 RBW 它的设置方式是,一个频率范围包含 1024 间隔时间 RBW. 时间分辨率设置为 1/RBW.
如果 [属性:RBWSource] 值设置 "汽车",并为 [属性:TimeResolutionSource] -价值 "财产",则时间分辨率成为主控元素,RBW设为 1/时间进化 赫兹。
如果 [属性:RBWSource] 值设置 "财产",并为 [属性:TimeResolutionSource] -价值 "汽车",则主控元件变为 RBW,并且时间分辨率设置为 1/RBW 和。
如果 [属性:RBWSource] 和 [属性:TimeResolutionSource] 值设置 "财产",那么指定的时间分辨率值必须等于或超过最小可达到的时间分辨率,由比率确定 1/RBW. 几个频谱计算被组合成单个频谱图线以获得必要的时间分辨率。
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱图" 或 ViewType="spectrum-and-spectrogram".
#
ReferenceLoad —
用于计算功率电平的参考负载
Real number
Details
频谱分析仪用作计算功率电平参考的负载以欧姆为单位表示为正标量。
依赖关系
若要使用此属性,请指定 [属性:SpectrumUnits]="dBFS" 或 SpectrumUnits="dBFS/Hz".
#
Method —
频谱计算方法
String
Details
谱的计算方法。 可能的值:
-
"过滤器组"(默认)-使用滤波器组计算功率谱。 与Welch方法相比,该方法具有更低的噪声水平,更好的频率分辨率,更少的频谱扩展,并且需要更少的样本来更新。 有关详细信息,请参阅 频谱计算-滤波器组. -
"韦尔奇"—采用平均修正韦尔奇周期图的方法。 有关详细信息,请参阅 频谱计算-韦尔奇方法.
更改此属性时,值 [属性:频率解析] 更改 "rbw".
#
ShowLegend —
在图表上显示或隐藏图例
Logical
Details
图表上的图例:
-
错误(默认情况下)-不显示图例。 -
真的-显示传说。
#
LineStyle —
线路类型
String
Details
可能的值:
-
"-"-实线; -
"--"-虚线; -
"-."-虚线; -
"-.."-带两个点的虚线; -
":"-虚线;
#
WindowLength —
窗口长度
Int64 integer
Details
对象用于计算光谱的样本中的窗口长度,设置为大于 2. 此属性控制频率分辨率。
依赖关系
若要使用此属性,请指定 [属性:方法]="韦尔奇" 和 FrequencyResolutionMethod="窗口长度".
#
VBW —
视频带的值
Real number
Details
#
TimeResolution —
频谱图各行的时间分辨率
Real number
Details
秒为单位的频谱图各行的时间分辨率,设为正标量。
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱图" 或 ViewType="spectrum-and-spectrogram" 和 [属性:TimeResolutionSource]="属性".
#
StartFrequency —
用于计算频谱的初始频率
Real number
Details
频谱分析仪计算和绘制频谱的频率范围中的初始频率被设置为以Hz为单位的真实标量。 此属性和StopFrequency定义的总范围必须在 奈奎斯特频率范围。
依赖关系
若要使用此属性,请指定 FrequencySpan="开始和停止频率".
#
SidelobeAttenuation —
旁瓣的衰减
Real number
Details
#
FullScale —
完整的dBFS规模
Real number
Details
#
SpectrumUnits —
频谱的测量单位
String
Details
谱的测量单位。
可能的值:
-
"dBm"(默认情况下)-对于[属性:光谱类型]="功率"; -
"dBW"-为[属性:光谱类型]="功率"; -
"dBFS"-为[属性:光谱类型]="功率"; -
"瓦茨"-为[属性:光谱类型]="功率"; -
"dBm/Hz"-为[属性:光谱类型]="功率密度"; -
"dBW/Hz"-为[属性:光谱类型]="功率密度"; -
"dBFS/Hz"-为[属性:光谱类型]="功率密度"; -
"瓦特/赫兹"-为[属性:光谱类型]="功率密度"; -
"dBuV"-为[属性:光谱类型]="rms"; -
"dBV"-为[属性:光谱类型]="rms"; -
"Vrms"-为[属性:光谱类型]="rms".
#
ShowColorbar —
显示或隐藏彩色条纹
Logical
Details
图表上的颜色条:
-
错误(默认)-不显示颜色栏。; -
真的-显示彩色条纹。
依赖关系
若要使用此属性,请指定 [属性:ViewType]="频谱图" 或 ViewType="spectrum-and-spectrogram".
例子:
一种单面功率谱的频谱分析仪
Details
创建对象 EngeeDSP.spectrumAnalyzer 并设置其属性。
import EngeeDSP:spectrumAnalyzer
Fs = 100e6
scope = spectrumAnalyzer(SampleRate=Fs,AveragingMethod="exponential",PlotAsTwoSidedSpectrum=false,RBWSource="auto",SpectrumUnits="dBW")
spectrumAnalyzer(
SpectrumType = "power"
ViewType = "spectrum"
Method = "filter-bank"
SpectrumUnits = "dBW"
ReferenceLoad = 1
FullScaleSource = "auto"
FullScale = 1
OverlapPercent = 0
FrequencyResolutionMethod = "rbw"
WindowLength = 1024
RBWSource = "auto"
RBW = 9.76
FFTLengthSource = "auto"
FFTLength = 1024
SampleRate = 1.0e8
Window = "Hann"
SidelobeAttenuation = 60
FrequencyOffset = 0
FrequencySpan = "full"
Span = 10000.0
CenterFrequency = 0
StartFrequency = -5000.0
StopFrequency = 5000.0
PlotAsTwoSidedSpectrum = false
AveragingMethod = "exponential"
ForgettingFactor = 0.9
VBWSource = "auto"
VBW = 10
SpectrogramChannel = 1
TimeResolutionSource = "auto"
TimeResolution = 0.001
TimeSpanSource = "auto"
TimeSpan = 0.1
Size = (800, 500)
Title = ""
YLabel = ""
YLimits = "auto"
AxesLayout = "vertical"
ShowColorbar = true
ShowGrid = true
Colormap = "jet"
ShowLegend = false
ColorLimits = "auto"
LineWidth = 1.5
LineStyle = "-"
FrequencyScale = "linear"
)
让我们从具有不同振幅和频率的固定真实正弦曲线的总和中绘制一个单侧功率谱。
fSz = 5000
t = (0:fSz-1)/Fs
sin1 = sin.(2π * 5e6 * t)
sin2 = 1e-1 * sin.(2π * 15e6 * t)
sin3 = 1e-2 * sin.(2π * 25e6 * t)
sin4 = 1e-3 * sin.(2π * 35e6 * t)
sin5 = 1e-4 * sin.(2π * 45e6 * t)
for idx in 1:250
y_total = sin1 + sin2 + sin3 + sin4 + sin5 + 0.0001 * randn(fSz)
scope(y_total)
end
scope |> display
release!(scope)

此外
将功率从一个测量单位转移到另一个测量单位
Details
频谱分析仪提供三个测量频谱功率密度的单元:W/Hz、dBm/Hz和dBW/Hz。 相应的功率测量单位为W、dBm、dBW。 在电气应用中,您还可以查看信号的均方根值,单位为V(均方根值)、DBMQ或dBV。 默认频谱类型是以dBm为单位的功率。
将功率从瓦特转移到dBW和dBm
DBW中的功率由公式确定:
以dBm为单位的功率由公式确定:
对于幅度为 1 单侧频谱的功率(以瓦特为单位)由公式确定:
使用公式计算dBm中的相应功率:
对于白噪声信号,所有频率的频谱都是平坦的。
考虑具有方差的白噪声信号 1e-4.
因此,每单位带宽的功率( )等于 1e-4.
对于范围内的单向频谱 以瓦特为单位的总白噪声功率由公式确定:
哪里
-
-这是输入信号的采样频率;
-
是总带宽与带宽分辨率之比( ).
对于单向频谱,总带宽是采样频率的一半。
考虑采样率 44100 Hz和带宽分辨率 21.53 赫兹。
在这些值下,以瓦特为单位的总白噪声功率为 0.1024 星期二。
可以使用公式计算以dBm为单位的白噪声功率:
将功率从瓦特转换为满量程dB
如果将光谱单位设置为 dBFS 而满量程([属性:全资源])到模式 "汽车",然后功率在 dBFS 它将计算如下:
哪里
-
-功率(瓦特);
-
用于双精度和浮点信号 -这是输入信号的最大值;
-
对于定点或整数信号 —这是可以表示的最大值。
如果设置满量程([属性:全资源])到模式 "财产",然后功率在 dBFS 它将计算如下:
哪里 -物业价值 [属性:全尺度].
对于幅度为 1 以瓦特为单位的单向频谱的功率由公式确定:
使用公式计算满量程dB的相应功率:
将功率从dBm转换为RMS值
以dBm为单位的功率由公式确定:
电压(RMS值)使用公式计算:
在前面的例子中 等于 26.9897 dBm。
意义 计算为:
算法
频谱计算-滤波器组
Details
如果 [属性:方法] 设置值 "过滤器银行" 然后频谱分析仪将使用滤波器组来计算功率谱。
滤波器组分离宽带输入信号 与采样率 对于多个窄带信号 与采样率 .
变量 表示滤波器组中的频带数。
在频谱分析仪 等于达到指定分辨率带值(RBW)所需的数据点的数量或 1024,取决于哪个值更大。
频谱分析仪将宽带输入信号分成几个窄频带后,使用以下公式计算每个窄频带中的功率:
每个值在哪里 它是在窄频带功率的计算,并 -窄带信号的长度 为 .
在所有窄频带的功率值(表示为 )形成向量 :
频谱分析仪平均电流矢量 与先前的向量 使用滑动平均方法之一:过视频带或指数加权。 平均运算的结果形成用于计算频谱的矢量。 有关平均方法的详细信息,请参阅平均方法。
频谱分析仪使用RBW值(Hz)或频带数来确定输入帧的长度。
如果指定 FrequencyResolutionMethod="rbw",并为 [属性:RBWSource] 值设置:
-
"汽车"-频谱分析仪确定适当的分辨率波段,以确保存在1024给定频率范围内的带宽分辨率间隔。 在这种情况下,频谱分析仪使用公式计算RBW: -
"财产"-频谱分析仪计算样本数目 使用公式:哪里
如果指定 FrequencyResolutionMethod="num-frequency-bands",那么得到的分辨率带宽将是:
频谱计算-韦尔奇方法
Details
如果 [属性:方法] 设置值 "韦尔奇",那么功率谱的计算是平均修改的周期图。
频谱分析仪的算法包括以下步骤:
-
将输入数据缓冲到由 分。 每个数据段分为 重叠的数据段,每个数据段的长度为 ,重叠在 分。 数据段可以表示如下:
-
如果 ,则重叠为
50%. -
如果 ,则重叠为
0%.
-
-
将一个窗口应用于 时域中的重叠数据段。
如果作为解决方法
[属性:频率解析]选择的值"窗口长度",然后可以指定数据窗口的长度 使用物业[属性:WindowLength].如果作为解决方法
[属性:频率解析]选择的值"rbw",然后该算法使用以下等式确定数据窗口的长度: .然后,它将输入信号拆分为使用窗口处理的几个数据段。
大多数窗口函数对段中心的数据的影响大于对边缘的数据的影响,从而导致信息丢失。 为了减少这种损失,单个数据段通常在时间上重叠。 对于使用窗口处理的每个段,通过计算离散傅立叶变换来计算周期图。 然后计算结果的模数的平方并除以 :
哪里
是窗函数中功率的归一化因子,定义为:可以在属性中设置窗口
[属性:窗口]. -
频谱分析仪使用改进的周期图计算方法计算和绘制功率谱、功率谱密度和均方根值。
为了确定Welch方法的功率谱的计算,频谱分析仪对后者的周期图的结果进行平均
数据段。 与原始方差相比,平均减少了方差 -数据的点段。 有关平均方法的详细信息,请参阅平均方法。-
频谱分析仪计算频谱功率密度使用:
-
功率谱是光谱功率密度和分辨率带的乘积:
-
频谱分析仪在模式下以频谱图的形式显示功率
"频谱图". 频谱图的每一行代表一个周期图。 每行的时间分辨率为 ,这是最小可实现的分辨率。 为了达到所需的分辨率,可能需要组合几个周期图。 然后,使用插值,计算非整数值。 . 在频谱图屏幕上,时间从上到下滚动,因此最近的数据显示在屏幕的顶部。 偏移量显示了频谱图最近线的中心所在的时间。
-
频谱分析仪使用一定数量的样本来计算频谱。
该值与分辨率波段直接相关(
或与窗口的长度(
哪里
-
-重叠百分比,有关详细信息,请参阅[重叠百分比]; -
-归一化有效噪声带宽,有关更多信息,请参阅归一化有效噪声带宽(NENBW); -
-输入信号的采样率; -
-分辨率波段,有关详细信息,请参阅分辨率波段(RBW)。
如果作为解决方法 [属性:频率解析] 选择的值 "rbw",则窗口长度由公式确定:
如果作为解决方法 [属性:频率解析] 选择的值 "窗口长度" 该算法使用属性中指定的窗口长度值 [属性:WindowLength].
归一化有效噪声带宽(NENBW)
Details
归一化有效噪声带宽,
哪里
最低值 1.
所有其他窗口都更重要。 1.5.
分辨率波段(RBW)
Details
分辨率波段
可以使用属性设置分辨率带 [属性:RBW] 以赫兹为单位。
如果指定 FrequencyResolutionMethod="rbw",并为 [属性:RBWSource] 值设置:
-
"汽车"-频谱分析仪确定适当的分辨率波段,以确保存在1024给定频率范围内的带宽分辨率间隔。 在这种情况下,频谱分析仪使用公式计算RBW: -
"财产"-频谱分析仪计算样本数目 使用公式:哪里
如果指定 FrequencyResolutionMethod="num-frequency-bands",那么得到的分辨率带宽将是:
奈奎斯特频率范围
Details
在构造双向频谱时,当 [属性:PlotAsTwoSidedSpectrum]=true,奈奎斯特频率范围为
何时 [属性:PlotAsTwoSidedSpectrum]=false 奈奎斯特频率范围
平均方法
Details
频谱分析仪使用以下方法之一计算移动平均线:
-
视频频带频谱分析仪在时域中使用低通滤波器来平滑信号中的噪声。 视频波段滤波器(
)平滑曲线并降低噪声,频谱分析仪在显示数据之前将此滤波器应用于数据。视频频带是低通滤波器的带宽,频谱分析仪用于在显示信号之前对信号中的噪声进行平均或平滑。 频谱分析仪使用以下公式计算视频频带:
哪里
-
-遗忘系数; -
-分辨率波段,更多信息请参见分辨率波段(RBW); -
-归一化有效噪声带宽,有关详细信息,请参阅归一化有效噪声带宽(NENBW)。视频频带不影响噪声水平(噪声阈值),而只是增加信噪比并平滑噪声曲线。 减小值时
信噪比在提高。视频频带滤波器的截止频率由公式确定:
哪里
-
-输入信号的采样率; -
-FFT点数。
-
-
指数-移动平均算法使用指数加权来更新权重,并递归地计算每个传入向量的移动平均。
使用以下递归方程:
哪里
-
-遗忘系数; -
-应用于当前向量的权重因子 ; -
-电流矢量 ; -
-上一矢量的移动平均线 ; -
-先前向量的影响 平均而言; -
-包括当前向量的移动平均线 .
-