1、频谱分析仪的分类

频谱分析仪一般分为两类:所谓“扫频”频谱分析仪和FFT频谱分析仪。扫频频谱分析仪是用一个或多个陷波滤波器(或混频器)在指定频率下测量信号振幅,然后改变该滤波器的频率(扫频),绘制出振幅随频率变化的频谱图。扫频频谱分析仪也可以做高频频谱分析,但是对于音频分析来说,扫频频谱分析仪不是特别适用,因为信号在整个扫频周期内必须是不变的。

FFT频谱分析仪是用ADC转换器将信号数字化,然后将存储的值进行FFT变换得到的。该方法的优势在于可以捕捉到偶发信号或者持续时间短的信号。例如,用PicoScope的触发功能来单一鼓声的频谱。

做FFT频谱分析需要进行大量运算,一些频谱分析仪可能需要几分钟来更新一个波形。PicoScope 采用优化的高频频谱分析算法可以达到类似实时的分析结果。即是在一台普通的电脑上,例如 33MHz的486 电脑,PicoScope的频谱分析功能也能达到每秒更新数次。

2、 音频分析

虽然大多数PicoScope PC示波器可以做音频频谱分析,但还是示波器的分辨率越高越适合做频谱分析。这里高性能的ADC-216最适合的。从通用型考虑,PicoScope 3224 和3424 (USB示波器)和ADC-212(并口示波器)也是理想的选择。如果考虑到成本因素,Pico 320X系列也可以。

FFT频谱分析仪的关键参数是采样率和动态范围。频谱分析仪能够显示高达最高采样率的一半频谱。为了测量到20kHz的音频带宽,就需要采样率高于40kS/s。如果测试放大器的频率响应,您可能需要高于20kHz的样本数,所以需要更高的采样率。

频谱分析仪的动态范围是另一个重要的参数。大多数示波器(基于PC的或台式的)都有一个8位(256阶)的分辨率,这将频谱分析仪的动态范围限制在48dB(20 log 256)。PicoScope 320X系列就是8位分辨率。像ADC-212, PicoScope 3224 和3424 是12位分辨率(4096阶),理论最大动态范围72dB。ADC-216是16位分辨率(65536阶)有一个趋近与100dB的动态范围。

可能您还不太清楚动态范围的意义,那么我们做一下对比。一个典型的录音机的动态范围40~50dB,一个好的功率放大器是70~80dB,一个高端的CD播放器是80~90dB,当然,并不是所有的CD播放器都能达到这个性能。

下表是Pico设备的规格:

3用ADC-216测试CD播放器

为了比较产品的性能,我们用ADC-216 频谱分析仪测试两个CD播放器,一个是便宜的手持式CD播放器,一个是Quad高性能的播放器。ADC-216 一个通道直接连接手持式设备

图1 测试手持式CD播放器1kHz 音调的波形

图1是CD播放器单个1kHz音调的波形。跟理论值一样,在1kHz有一个尖峰。二次、三次和五次谐波清晰可见,这些谐波表示了CD播放器引起的失真。18kHz附近的峰值是由CD播放器内部电源适配器的开关引起的。如果CD播放器是电池供电的,那么这个噪声将会消失。

图2跟图1 是相同的试验,但是测试的是Quad CD播放器。跟预期的一样,波形是更干净的。5次谐波是比较明显的,跟主信号相比下降了96dB。图2 中还在PicoScope 中进行了自动化音频测量。现在这些功能已经没有了,新的PicoScope是通过设置菜单中的增加测量按钮来实现的,详见帮助文档。

图2测试Quad CD播放器1kHz 音调的波形

串扰是频谱分析仪能够测试出来的另一个重要指标,我们轮流用每个CD播放器的右声道播放一个10kHz的正弦波(-10dB)。理想情况下,右声道是没有信号的。不过可以看到手持式CD播放器右声道串扰,比左声道信号降低了60dB。

Quad CD播放器串扰测试中, 串扰至少下降了90dB(如图4所示)。

图 3 手持式CD播放器串扰测试

图 4 Quad CD播放器串扰测试

1个理想的CD播放器应该在整个音频域内有一个平滑的频率响应。手持式CD播放器在20Hz~20kHz范围内维持在3dB。用一个正弦波测试,频率扫描从20Hz~20KHz。许多FFT频谱分析仪可能无法绘制这样的一个频谱图,因为快速采集信号,然后却花费几秒中来处理和显示。这样一个扫描周期内,往往只有测试到一个频率峰值。Pico示波器的数据才采集和处理是优化过的,即是在一个相对慢的电脑上(33MHz 386),频谱分析仪也有一个近似实时更新率。测试中我们用的正弦波从20Hz~20kHz扫描完大概用了30s的时间。这段时间内PicoScope完成FFT计算只需要100s,处理速度是大多数频谱分析仪的2~3倍。为了用单线显示频率响应(而不是波形的峰值),我们用Pico示波器的峰值检测函数,如下图5所示。我们可以看到-3dB的点并不是产品参数表中声称的20kHz,只仅仅接近于16kHz。

图 5 手持式CD播放器的频率响应

用Quad CD播放器做相同的频率响应测试(如图6 所示),发现频率响应在整个音频域几乎是平的,在20kHz也有一个更陡峭的跌落。

也有客户问我们:什么类型的信号源可以用于测试放大器,关键是找到一款信号发生器或者一款低失真的正弦波信号源。我们推荐Black Star LDO 低失真振荡器,图7是用ADC-216采集到1kHz的输出波形。

图 6 Quad CD播放器的频率响应

图 7 Black Star LDO 低失真振荡器输出1kHz的波形

注意:该文章中用到的产品目前已经停产了,16位分辨率 ADC-216的替代产品是PicoScope 4262,PicoScope 3224 和3424 6位示波器的替代产品是PicoScope 3000系列,PicoScope 320X系列的替代产品是 PicoScope 2200A口袋示波器系列。

责任编辑:gt

如何用计算机处理频谱,如何使用PicoScope PC示波器对CD播放器的音频频谱进行分析...相关推荐

  1. 音频频谱显示-基于fmod设计音乐播放器并动态显示频谱图(二)

    音频频谱显示-显示音频文件静态频谱图(一) https://blog.csdn.net/xiaolong1126626497/article/details/126971535 音频频谱显示-基于fm ...

  2. linux串流windows,【新品速递】高阶计算机讯源:SOtM sMS-1000SQ Windows Edition串流播放器...

    原标题:[新品速递]高阶计算机讯源:SOtM sMS-1000SQ Windows Edition串流播放器 SOtM来自韩国,旗下产品以串流播放与音响级网络周边配备为主,这部sMS-1000SQ W ...

  3. 计算机毕业设计php+vue基于微信小程序的音乐播放器系统

    随着计算机技术的高速发展,现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展.如何充分利用互联网,这是大家共同关心的问题.本文主要介绍了关于音乐云微信小程序的实现方法,设计规划了音乐云微信 ...

  4. 如何用在自己的网页中嵌入腾讯视频网页播放器播放一些文件

    在需要调用视频的地方写上如下代码. <embed wmode="Opaque" flashvars="vid=9kFOkWIbQ4g&autoplay=1& ...

  5. arduino点阵声音频谱_音频跳动:制造32分频音频频谱点阵

    MAKER:Shajeeb/ 译:趣无尽 该项目通过 Arduino 和四块点阵屏,实现32分频的音频(音乐)频谱可视化显示. 这里用了大量篇幅对其原理做了解释(初学者理解起来开可能稍有难度),并且提 ...

  6. 音频频谱图(自定义View——进阶篇2)

    音频频谱 +  波形图绘制 我们经常有看到音乐播放器播放界面会有频谱图显示,感觉很炫,今天我就带大家来实现频谱图,顺便将波形图绘制也分享给大家,这里重点讲频谱这块.我们这里的频谱采用8分频fft,这里 ...

  7. 音频频谱显示-显示音频文件静态频谱图(一)

    音频频谱显示-显示音频文件静态频谱图(一) https://blog.csdn.net/xiaolong1126626497/article/details/126971535 音频频谱显示-基于fm ...

  8. arduino点阵声音频谱_Arduino实现32分频音频频谱显示器

    MAKER:Shajeeb/译:趣无尽 Cherry(转载请注明出处) 该项目通过 Arduino 和四块点阵屏,实现32分频的音频(音乐)频谱可视化显示. 这里用了大量篇幅对其原理做了解释(初学者理 ...

  9. arduino点阵声音频谱_创客实战 | 制作一个随音乐跳动的32分频音频频谱显示器

    前言 这期作品是通过 Arduino 和四块LED点阵模块,实现32分频的音频频谱可视化显示,让LED随音乐跳动! 主要特点 1.使用简易安装的库 ArduinoFFT 和 MD_MAX72xx.2. ...

最新文章

  1. matplotlib生成指定大小的空白的白色图(故意保存)实战:当然也可以保存正常的有内容的图像
  2. 解决ASP.NET网站发布问题
  3. python 9.13作业
  4. 新特性的副产品--从11g的DEFERRED SEGMENT CREATION说起
  5. Windows下Caffe-SSD编译
  6. SpringBoot(十三)-- 不同环境下读取不同配置
  7. P2480 [SDOI2010]古代猪文(数论好题)
  8. OJ4007-计算字符串距离【各种dp之2】
  9. 坚定不移地加速,并且不断解决新问题
  10. oracle字符串使用函数,Oracle常用函数介绍之一(字符串)
  11. C语言中全局变量和局部变量,作用域与生命周期的相关问题。
  12. TensorFlow CTC
  13. 编程范式之字符和基本类型
  14. xcode java mac_mac 下常用命令(xcode常用命令,环境相关等)
  15. 关于MATLAB实现的数字信号处理(二)
  16. 获取元素到页面上的位置
  17. java使用Rocksdb
  18. 应用程序正常初始化 0x0150002失败
  19. 解决Quartus.18.0版本 usb bluster插上蓝屏问题
  20. 互联网络彻底瘫痪的可能性研究

热门文章

  1. 受邀参加了一场只有副总裁、CTO参加的技术会议!
  2. vue-ls vue 本地储存示例
  3. JEECG 3.7新版在线文档WIKI正式发布
  4. Navicat for MySQL 使用SSH方式链接远程数据库
  5. redis学习及实践3---Jedis、JedisPool、Jedis分布式实例介绍
  6. 2013年度开源社区年会,3W咖啡免费让你更多接触开源
  7. MySQL基础篇(02):从五个维度出发,审视表结构设计
  8. 数据仓库之电商数仓-- 4、可视化报表Superset
  9. hadoop--HDFS_DataNode工作机制
  10. Java DOC 转换给 PDF 格式文档的代码