当前位置: 首页 > news >正文

【ADC】FFT分析中的基本概念与相干采样

一、频域分辨率与频谱泄露

对于FFT转换,采集N个点的时域信号,会转换成N个点的频域信号。不过,FFT里面包含一个镜像,高于采样率一半的区间都是镜像频率,是冗余的,一般都隐藏起来。

FFT分辨率等于采样率除以采样点数,分辨率体现在FFT能侦测到的最小频率的变化。

在这里插入图片描述

下面几张图是当输入信号频率为分辨率整数倍时的计算实例。

在这里插入图片描述
在这里插入图片描述

如果输入信号频率不是频率分辨率的整数倍,就会发生频谱泄露,将会很难区分临近点是噪声还是信号。

在这里插入图片描述


二、加窗函数改善频谱泄露

加合适的窗函数将时域信号的两端归零,这样无限复制的时候就不会产生不连续,因为信号都是零,这样就能把频谱泄露降到最低。

在这里插入图片描述

所加的窗的频率响应类似于带通滤波器,窗口的主瓣通过基频,而旁瓣将泄露的频谱衰减。理想情况下,主瓣应该让通带信号完全通过,而旁瓣则衰减阻带信号,但二者往往不可兼得。阻带衰减多的通带会比较宽,对于ADC来说,宽的通带不是问题,所以下图蓝色波形的窗可以获得比较低的频谱泄露。

在这里插入图片描述


三、相干采样

下面介绍了一种称为相干采样的测量技术。此技术可用于获得最佳的 ADC 特性结果。换句话说,相干采样消除了与 FFT 离散性质相关的误差源,并允许对高性能数据转换器进行特性分析。还介绍了一种测试方法,该方法使用外部滤波器将输入信号的噪声和失真降低到允许准确表征数据转换器的水平。

在这里,通过一个数据转换器特性分析系统的示例。采样率为每秒一兆个样本,并进行了 256 次采样。输入频率为 62.5 千赫。

在这里插入图片描述

由于输入频率是频率分辨率的精确整数倍,因此没有频谱泄漏。这称为相干采样。 基于此信息,似乎一种好的 ADC 特性描述方法是将输入频率调整为频率分辨率的整数倍,以便进行相干采样。然而,这通常不太实用。

大多数设备的实际情况是,信号发生器输出频率和微控制器时钟频率不具备实现相干采样所需的精度和稳定性。注意,正弦波发生器调整为 62.5 千赫,但实际输出频率为 62.503 千赫。此外,该发生器的输出频率会随时间和温度而漂移。

在这里插入图片描述

微控制器时钟速率也存在类似现象。理想情况下,采样率设置为每秒 1 兆样本。但实际上,它为 0.9997 兆赫,并且会随着时间和温度而漂移。通过数学计算得出的最终结果不再具有相干采样,并且 FFT 将具有频谱泄漏。因此,这种简单的方法不能用于相干采样。

在实际系统中实现相干采样的一种方法是将微控制器的频率与信号发生器同步。 因此,微控制器采样率将跟踪并消除函数发生器中的误差,这样即使时钟漂移,输入频率也将始终保持频率分辨率的整数倍。因此,来自微控制器的时钟也应用于信号发生器上的同步输入。尽管将信号发生器与微控制器同步在理论上解决了相干采样问题,但高精度 PLL 时钟发生器和高端信号发生器通常用于此类特性分析,因为时钟抖动和漂移会引入额外的误差。注意,这种特性分析通常需要高分辨率转换器,分辨率为 18 位或更高。

在这里插入图片描述

ADC 特性分析中的另一个重要考虑因素是输入信号的精度。许多常见信号发生器的分辨率为 12 位或更低。这些设备不具备能够测试高性能或转换器的 THD 和 SNR。一些高端信号发生器可能具有非常好的 THD 和 SNR,但这些可能很昂贵。从常见信号发生器获取高保真信号的一种方法是在信号发生器的输出端使用带通滤波器。 下图显示信号发生器的输出具有相对较高的本底噪声和显著的谐波。注意,函数发生器已调整为生成 1 千赫兹正弦波。该正弦波被施加到中心频率为 1 千赫兹的带通滤波器。滤波器上的通带将通过基波,而阻带将显著衰减噪声和谐波。通常,使用高阶滤波器来最大限度地衰减谐波中的噪声。使用此方法。可以使用通用信号发生器生成足以测试 18 到 20 转换器的输入信号。

在这里插入图片描述

一般来说,增加样本数量会降低频谱泄漏的影响。但是,取更多样本会增加测量时间。对于非常长的测量时间,信号发生器输出频率可能会漂移,这将对 SNR 产生影响。


http://www.mrgr.cn/news/57964.html

相关文章:

  • qemu参数解析过程
  • 死循环等待 vs 同步锁
  • 了解 .NET 8 中的定时任务或后台服务:IHostedService 和 BackgroundService
  • ES6运算符
  • ELRS遥控器与接收机WIFI对频
  • 基于知识图的电影推荐系统
  • 20241024-LaTeX常用数学符号之希腊字母——Typora(2)
  • GISBox vs CesiumLab:哪款GIS工具更适合你的项目?
  • 基于Matlab 火焰识别技术
  • 【博客节选】Unity角色异常抖动问题排查
  • make和makefile
  • 文件操作(1) —— 文件基础知识
  • 当并发控制遇上餐厅!让你彻底搞懂MySQL脏读、不可重复读、幻读和丢失更新
  • ppt怎么一键抠图?3个实用技巧,轻松做出高颜值PPT!
  • 时序知识图谱学习——思维框图总结
  • 力扣 —— 分发糖果
  • geoserver解析元数据获取图层相关参数
  • 零基础Java第九期:一维数组(二)和二维数组
  • Java题集练习3
  • 一文带你入门Flink CDC
  • 十、Linux 故障排除专业案例分享
  • java抽象类和接口
  • 【Fargo】14: sockaddr_in 、 sockaddr 、sockaddr_storage 区别及转换
  • 论文思路 标书 水文
  • css知识点梳理
  • Zypher Network Layer3 主网上线,“宝藏方舟”活动是亮点