AnyMath 文档

工程师。光谱分析仪

创建频谱分析仪对象。

库::`工程师`

资料描述

一个对象 EngeeDSP。光谱分析仪 显示时域信号的频谱。 频谱分析仪以频谱或频谱图的形式表示频谱。 对象使用滤波器组方法和经平均修改的韦尔奇周期图的方法执行频谱计算。 有关详细信息,请参阅算法。 频谱分析仪可以W、dBm和dBW三个单位显示信号功率谱。 有关这三个单元之间的功率转换的详细信息,请参阅将功率从一个测量单位转移到另一个测量单位

要创建频谱分析仪对象,请执行以下步骤:

  1. 创建*EngeeDSP。spectrumAnalyzer*对象并设置其属性。

  2. 用参数调用对象,就好像它是一个函数一样。

若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.

语法

创造

范围=EngeeDSP。spectrumAnalyzer(名称=值) -创建系统对象*EngeeDSP。具有指定属性的spectrumAnalyzer* 姓名,设置为指定值 价值. 您可以以任何顺序将其他参数指定为名称-值对(名称1=价值1,…,纳门=瓦伦).

使用

  • 范围(信号) -显示输入信号的频谱 信号 频谱分析仪中的时域中。

    scope(signal)
  • 作用域(signal1,signal2,…​,signalN) -显示多个输入信号的频谱 signal1,signal2,。..,信号 频谱分析仪中的时域中。 每个信号被解释为单独的通道。

    scope(signal1,signal2,signal3)

争论

输入参数

信号-输入信号

+ 标量,标量 | 向量资料 | 矩阵

Details

指定为标量、矢量或矩阵的输入信号或可视化信号。 每个信号中的通道数可以不同,但每个信号的帧大小必须相同。

数据类型

漂浮64, 漂浮物32, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::是

特征

无。

方法

所有系统对象通用

步!::计算步骤。 返回一个对象 凯罗玛基。图. 你可以用两种方式调用它: *直接呼叫: 步!(范围,args。..); *通过函子调用: 范围(args…​). 释放!::允许更改系统对象属性的值。

特定于EngeeDSP。光谱分析仪

设置!::第一步调用,可以直接调用: 步!(范围,args。..). 展览及展览::重新绘制图形。 获取光谱数据::返回带有最后显示数据的字典。 可能的密钥: * "频谱";

  • "频谱图";

  • "频率";

  • "时代".

例子:

一种单面功率谱的频谱分析仪

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"
	ChannelNames = String[]
)

让我们从具有不同振幅和频率的固定真实正弦曲线的总和中绘制一个单侧功率谱。

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)

spectrumanalyzer 1

此外

将功率从一个测量单位转移到另一个测量单位

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,取决于哪个值更大。

频谱分析仪将宽带输入信号分成几个窄频带后,使用以下公式计算每个窄频带中的功率:

每个值在哪里 它是在窄频带功率的计算,并 -窄带信号的长度 .

在所有窄频带的功率值(表示为 )形成向量 :

频谱分析仪平均电流矢量 与先前的向量 使用滑动平均方法之一:过视频带或指数加权。 平均运算的结果形成用于计算频谱的矢量。 有关平均方法的详细信息,请参阅平均方法

spectrumanalyzer 2

频谱分析仪使用RBW值(Hz)或频带数来确定输入帧的长度。

如果指定 [Property:FrequencyResolutionMethod]="rbw",并为 [属性:RBWSource] 值设置:

  • "汽车" -频谱分析仪确定适当的分辨率波段,以确保存在 1024 给定频率范围内的带宽分辨率间隔。 在这种情况下,频谱分析仪使用公式计算RBW:

  • "财产" -频谱分析仪计算样本数目 使用公式:

    哪里

    • -输入信号的采样频率,由属性设置 [属性:采样器] 以赫兹计;

    • -指定于 [属性:RBW] 分辨率频带的值必须使得在指定的频率范围内至少有两个RBW间隔。 总范围与RBW之比必须大于2:

      ;

    • -频谱分析仪计算和绘制频谱的范围。

如果指定 [Property:FrequencyResolutionMethod]="num-frequency-bands",那么得到的分辨率带宽将是:

频谱计算-韦尔奇方法

Details

如果 [属性:方法] 设置值 "韦尔奇",那么功率谱的计算是平均修改的周期图。

频谱分析仪的算法包括以下步骤:

  1. 将输入数据缓冲到由 分。 每个数据段分为 重叠的数据段,每个数据段的长度为 ,重叠在 分。 数据段可以表示如下:

    *如果 ,则重叠为 50%. *如果 ,则重叠为 0%.

  2. 将一个窗口应用于 时域中的重叠数据段。

    如果作为解决方法 [属性:频率解析] 选择的值 "窗口长度",然后可以指定数据窗口的长度 使用物业 [属性:WindowLength].

    如果作为解决方法 [属性:频率解析] 选择的值 "rbw",然后该算法使用以下等式确定数据窗口的长度: .

    然后,它将输入信号拆分为使用窗口处理的几个数据段。

    大多数窗口函数对段中心的数据的影响大于对边缘的数据的影响,从而导致信息丢失。 为了减少这种损失,单个数据段通常在时间上重叠。 对于使用窗口处理的每个段,通过计算离散傅立叶变换来计算周期图。 然后计算结果的模数的平方并除以 :

    哪里 是窗函数中功率的归一化因子,定义为:

    可以在属性中设置窗口 [属性:窗口].

  3. 频谱分析仪使用改进的周期图计算方法计算和绘制功率谱、功率谱密度和均方根值。

    为了确定Welch方法的功率谱的计算,频谱分析仪对后者的周期图的结果进行平均 数据段。 与原始方差相比,平均减少了方差 -数据的点段。 有关平均方法的详细信息,请参阅平均方法

*频谱分析仪计算频谱功率密度使用:

+

*功率谱是光谱功率密度和分辨率带的乘积:

+

*频谱分析仪在模式下以频谱图的形式显示功率 "频谱图". 频谱图的每一行代表一个周期图。 每行的时间分辨率为 ,这是最小可实现的分辨率。 为了达到所需的分辨率,可能需要组合几个周期图。 然后,使用插值,计算非整数值。 . 在频谱图屏幕上,时间从上到下滚动,因此最近的数据显示在屏幕的顶部。 偏移量显示了频谱图最近线的中心所在的时间。

频谱分析仪使用一定数量的样本来计算频谱。 该值与分辨率波段直接相关( )使用以下等式:

或与窗口的长度( )使用方程:

哪里

如果作为解决方法 [属性:频率解析] 选择的值 "rbw",则窗口长度由公式确定:

如果作为解决方法 [属性:频率解析] 选择的值 "窗口长度" 该算法使用属性中指定的窗口长度值 [属性:WindowLength].

重叠百分比(Op)

Details

重叠百分比 -这是属性中指定的值 [属性:重叠].

随着重叠百分比的增加,频谱分析仪需要更少的新输入样本来计算新的频谱更新。

0%

100

50%

50

80%

20

归一化有效噪声带宽(NENBW)

Details

归一化有效噪声带宽, )是测量窗口噪声特性的窗口参数。 意义 它是使用窗口长度及其系数确定的,并由以下等式给出:

哪里 表示窗系数的向量,以及 -窗口的长度。 有关算法如何确定窗口长度的详细信息,请参阅频谱计算-韦尔奇方法

最低值 具有等于矩形窗口 1. 所有其他窗口更重要 . 例如,Hannah窗口具有值 大约 1.5.

分辨率波段(RBW)

Details

分辨率波段 控制所显示信号的光谱分辨率。 意义 定义频谱分析仪可以解析的频率之间的间隔。 较低的值提供更高的频谱分辨率并降低噪声水平,这意味着频谱分析仪可以解析彼此更接近的频率。 然而,这导致扫描时间的增加。

可以使用属性设置分辨率带 [属性:RBW] 以赫兹为单位。

如果指定 [Property:FrequencyResolutionMethod]="rbw",并为 [属性:RBWSource] 值设置:

  • "汽车" -频谱分析仪确定适当的分辨率波段,以确保存在 1024 给定频率范围内的带宽分辨率间隔。 在这种情况下,频谱分析仪使用公式计算RBW:

  • "财产" -频谱分析仪计算样本数目 使用公式:

    哪里

    • -输入信号的采样频率,由属性设置 [属性:采样器] 以赫兹计;

    • -指定于 [属性:RBW] 分辨率带的值必须使得在指定的频率范围内至少有两个RBW间隔。 总范围与RBW之比应大于两个:

      ;

    • -频谱分析仪计算和绘制频谱的范围。

如果指定 [Property:FrequencyResolutionMethod]="num-frequency-bands",那么得到的分辨率带宽将是:

奈奎斯特频率范围

Details

在构造双向频谱时,当 [属性:PlotAsTwoSidedSpectrum]=true,奈奎斯特频率范围为 单位为Hz。

何时 [属性:PlotAsTwoSidedSpectrum]=false 奈奎斯特频率范围 单位为Hz。

平均方法

Details

频谱分析仪使用以下方法之一计算移动平均线:

*视频频段-频谱分析仪在时域中使用低通滤波器来平滑信号中的噪声。 视频波段滤波器( )平滑曲线并降低噪声,频谱分析仪在显示数据之前将此滤波器应用于数据。

+ 视频频带是低通滤波器的带宽,频谱分析仪用于在显示信号之前对信号中的噪声进行平均或平滑。 频谱分析仪使用以下公式计算视频频带:

+

+ 哪里

+ ** -遗忘系数;

+ ** -分辨率波段,更多信息请参见分辨率波段(RBW);

+ ** -归一化有效噪声带宽,有关详细信息,请参阅归一化有效噪声带宽(NENBW)

+ 视频频带不影响噪声水平(噪声阈值),而只是增加信噪比并平滑噪声曲线。 减小值时 信噪比在提高。

+ 视频频带滤波器的截止频率由公式确定:

+

+ 哪里

+ ** -输入信号的采样率;

+ ** -FFT点数。

+

*指数-移动平均算法使用指数加权来更新权重,并递归地计算每个传入向量的移动平均。 使用以下递归方程:

+



+ 哪里

+ ** -遗忘系数;

+ ** -应用于当前矢量的加权因子 ;

+ ** -电流矢量 ;

+ ** -上一矢量的移动平均线 ;

+ ** -先前向量的影响 平均而言;

+ ** -包括当前向量的移动平均线 .