口袋实验室--使用AD2学习频谱参数测试

2024-05-01 10:28

本文主要是介绍口袋实验室--使用AD2学习频谱参数测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1. 简介

2. 频谱相关参数

2.1 频谱相关基本概念

2.1.1 采样时间间隔

2.1.2 采样频率

2.1.3 采样点数

2.1.4 采样时间长度

2.1.5 谱线数

2.1.6 奈奎斯特频率

2.1.7 频谱分辨率

2.1.8 最高分析频率

2.1.9 频谱泄露

2.2 窗函数

2.2.1 AD2的窗函数

2.2.2 测试矩形窗

2.2.3 测试平顶窗

2.3 频谱参数

2.3.1 幅值单位解释

2.3.2 几个常量解释

2.3.3 动态指标 

3. 其他相关知识

3.1 归一化

3.2 DFT 示例

4. 总结


1. 简介

通过AD2记录频谱相关知识。

2. 频谱相关参数

2.1 频谱相关基本概念

2.1.1 采样时间间隔

采样时间间隔,也称采样周期,一般使用 Ts 表示,Time sampling,是在数字信号处理中连续信号转换为离散信号时,连续信号的两次采样之间的时间差,用于说明多久采集一次信号的数据点。

截图中并未直接显示采样时间间隔,但可以通过采样频率500kHz换算,Ts=0.2ms。

2.1.2 采样频率

采样频率(fs)和采样时间间隔是描述数字信号采样过程的两个互为倒数的概念。尽管两者都能准确描述采样的属性,但在实际应用和理论讨论中,采样频率更为常用。

可能用采样频率更直观吧,而且还和奈奎斯特定理的关联,讨论采样频率而不是采样时间间隔,使得这一原则更易于理解和应用。

截图中直接显示了采样频率为500kHz。

2.1.3 采样点数

离散样本的总数。用N表示。

截图中显示的“8192 samples at 500kHz”中的“8192”就是采样点数。 

2.1.4 采样时间长度

采样时间长度,用T表示。

T=T_{s}\times N=\frac{N}{f_{s}}

2.1.5 谱线数

谱线数,在频谱图中出现的频率点数(不包含直流分量),用M表示。

M=\frac{N}{2}

2.1.6 奈奎斯特频率

由奈奎斯特采样定理(Nyquist Sampling Theorem)所确定,用fN表示。

f_{N}=2f_{max}

2.1.7 频谱分辨率

频谱分辨率,\Delta f,是指能够分辨两个相邻频率成分的最小频率间隔。

理论上,频谱分辨率由信号的采样时间长度决定,计算公式为:

\Delta f=\frac{1}{T}=\frac{f_{s}}{N}

T=1s,总采样时长1s, Δf=1Hz;

T=10s,总采样时长10s, Δf=0.1Hz;

2.1.8 最高分析频率

由奈奎斯特采样定理(Nyquist Sampling Theorem)所确定。用fmax表示。

2.1.9 频谱泄露

实际测量的信号是有限时长的,超出测量时长的信号就是未知的。当使用 FFT 算法(用于计算 DFT)对限时信号切片进行分析时,FFT 隐含地假设该信号在观察到的间隔后本质上会重复自身。这可能会导致每个切片边缘处的不连续性,从而导致每个测量时长的信号(Tn)中包含的能量溢出到其他测量时长的信号(Tm)频率谱中。这种现象称为频谱泄漏。

2.2 窗函数

窗函数用于在进行傅里叶变换之前修改信号,这些函数通过在信号的两端乘以特定的系数,即信号与窗函数相乘,以平滑 FFT 切片边缘的不连续性,从而减少边缘效应(频谱泄漏),改善频谱分析的结果。

2.2.1 AD2的窗函数

Digilent AD2提供以下窗函数:

  • Rectangular(矩形窗): 所有数据点都有相同的权重,主瓣非常窄(理论上具有最高的频谱分辨率)但旁瓣较高,会导致频谱泄漏。
  • Triangular(三角窗): 也称为Bartlett窗,中心点权重最大,向两端线性递减,旁瓣比矩形窗低,但主瓣更宽。
  • Hamming(汉明窗): 提供加权的余弦形状,旁瓣水平比矩形窗低,主瓣宽度适中,适合处理频率相近的信号。
  • Hann(ing)(汉宁窗): 类似汉明窗,但提供更平滑的加权,有助于进一步降低旁瓣水平。
  • Cosine(余弦窗): 使用余弦波形加权数据,某些应用中可以提供良好的频率分辨率。
  • Blackman-Harris(布莱克曼-哈里斯窗): 结合多个余弦项来减少旁瓣,最小化旁瓣水平时非常有效。
  • Flat Top(平顶窗): 设计用来保持信号的幅度精度,中心附近平坦,适用于频谱分析中的幅度校准
  • Kaiser(凯撒窗): 由James Kaiser在贝尔实验室开发,是一种参数化的窗函数,用于有限冲激响应滤波器设计和频谱分析。Kaiser窗通过调整参数α(或β=πα),在主瓣宽度和旁瓣水平之间进行权衡。

2.2.2 测试矩形窗

输入为50kHz正弦,Window=Rectangular,可以看到在频谱图中50kHz的谱宽非常窄。

2.2.3 测试平顶窗

输入为50kHz正弦,Window=Flat Top,可以看到在频谱图中50kHz的谱宽有所增加,但是幅度值和Rectangular接近,Flat Top窗对幅值精度有较好的保留。

2.3 频谱参数

2.3.1 幅值单位解释

  • 幅值的单位可以在图示位置设置
  • 部分单位需要同时设置Reference

Value

Unit

Description

1.0037 V

Peak (V)

Relative to 1V amplitude sine wave.

0.70973 Ṽ

RMS (Ṽ)

Relative to 1Ṽ (1.41V amplitude) sine wave.

0.3308 VHz

Ṽ/√Hz (VHz)

is RMS value / square root (RBW).

0.0322 dB

Peak (dB)

dB reference to peak value(sine wave).

-2.9781 dB

RMS (dB)

dB reference to RMS value.

-2.9781 dBṼ

dBṼ

dB reference to 1Ṽ sine wave, 20*Log10(Ṽ).

-0.7596 dBu

dBu

dB reference to 0.775Ṽ sine wave, 20*Log10(Ṽ/0.775).

10.03 dBm

dBm

dB reference to 0.224Ṽ sine wave, relative to 1mW on 50Ω load.

3.402 dBmHz

dBm/√Hz

dBm - 10*Log10(RBW/1Hz).

63.4 dBmMHz

dBm/√MHz

dBm - 10*Log10(RBW/1MHz).

-8.8685 dBO

dBOV

dB reference to full scale square wave, 20*Log10Ṽ/VFSSquare).

-11.8788 dBFS

dBFS

dB reference to full scale sine wave, 20*Log10(Ṽ/VFSSine).

2.3.2 几个常量解释

  • ENBW: Normalized equivalent noise bandwidth of window function,窗函数的归一化等效噪声带宽。该参数由窗函数决定。详细计算过程见:Equivalent noise bandwidth (ENBW) of window functions - GaussianWaves
  • Resolution: Resolution of bins, bin to bin distance. 
  • RBW: Resolution bandwidth is calculated from the transform resolution and window bandwidth. 
  • FS: Full scale is the input range, maximum magnitude of sine wave before clipping. 
  • DNR: Dynamic range is the ratio, in dB, of the largest to the smallest signals that can be detected.

2.3.3 动态指标 

  • NF: Noise floor is a root mean square (RMS) of all the bins except the peak signal and its harmonics. 
  • WoSpur: Worst spur level may or may not be a harmonic of the original signal; DC and bins on the descending slope are excluded. 
  • SFDR: Spurious free dynamic range is the ratio of the RMS value of the peak signal to the RMS value of the worst spurious signal. Expressed in dBc units, with respect to the actual signal amplitude. 
  • SFDRFS: Spurious free dynamic range, expressed in dBFS units, with respect to full-scale. 
  • SNR: Signal to noise ratio
  • SNRFS: Signal to noise ratio, expressed in dBFS units, with respect to full-scale. 
  • THD: Total Harmonic Distortion
  • SINAD: Signal to noise and distortion, S/(N + D)
  • ENOB: Effective number of bits.

3. 其他相关知识

3.1 归一化

3.2 DFT 示例

4. 总结

本文介绍了通过AD2记录频谱相关知识的过程,并深入探讨了频谱相关参数、窗函数以及频谱参数。频谱相关参数包括采样时间间隔、采样频率、采样点数等,而窗函数则在傅里叶变换前对信号进行修改,以改善频谱分析结果。频谱参数包括幅值单位解释、常量解释以及动态指标,这些参数对于正确理解频谱图和进行精确的频谱分析很有必要。

这篇关于口袋实验室--使用AD2学习频谱参数测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951444

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Springboot 中使用Sentinel的详细步骤

《Springboot中使用Sentinel的详细步骤》文章介绍了如何在SpringBoot中使用Sentinel进行限流和熔断降级,首先添加依赖,配置Sentinel控制台地址,定义受保护的资源,... 目录步骤 1: 添加 Sentinel 依赖步骤 2: 配置 Sentinel步骤 3: 定义受保护的