用fft对信号进行频谱分析实验报告_示波器上的频域分析利器,Spectrum View测试分析...

简介:

【Spectrum View技术文章系列】

从基础篇开始,讲述利用示波器上的Spectrum View功能观测多通道信号频谱分析

正文:

示波器和频谱仪都是电子测试测量中必不可少的测试设备,分别用于观察信号的时域波形和频谱。时域波形是信号最原始的信息,而频谱的引入主要是为了便于分析信号,比如谐波和杂散的测试,从时域上很难观察到,但是从频域就可以非常明了的区分开。

示波器除了具有采集信号的基本功能,还可以对信号进行FFT变换得到频谱,从而兼具频谱分析功能。几乎所有的中高端示波器均支持FFT频谱分析。本文将要介绍的频谱分析功能——Spectrum View,是一款功能强大的频谱分析工具,它的引入开启了全新的时频域信号分析。

结合了TEK049 ASIC创新平台及TEK061低噪声前端放大芯片的频谱模式-- Spectrum View是获得高动态、低噪底的强有力保证。

f26972c975276e933d69d501db9df0db.png
a7881916d97bfcdf31bcebcd75c8e509.png

图1. TEK049平台和超低噪声前端TEK061

Spectrum View特性一览

从实现方法上讲,Spectrum View也是采用FFT,但并不是直接处理采集的样点,而是先通过数字下变频 (DDC技术) 得到IQ数据,然后经过FFT得到信号频谱。这也是相对于传统FFT的一大特色。与原始采集信号相比,IQ信号携带的频率要低很多,对IQ数据重采样无需太高采样率,大大降低了数据量,提高了处理速度。

无论与频谱仪比较,还是与示波器传统的FFT方法相比,Spectrum View都具有自己的特色:

· Spectrum View使得时、频域捕获时间相互独立,当设置较小的RBW时依然可以保证示波器的处理速度。传统FFT测试需要通过调整水平时基来改变RBW,在要求RBW很小的测试场景,需要增大水平时基,严重影响了示波器处理速度。

· Spectrum View具有标准频谱仪的操作设置,如图2所示,具有更友好的交互界面,可以直接设置中心频率、Span、RBW及时域窗口的类型。

· Spectrum View支持丰富的探测方式,且能够测试极低频率信号频谱,是普通频谱仪所不能及的;

· 支持多通道时、频域联合分析,而且支持触发捕获,使其可以分析瞬态或者间歇性信号的频谱;

· 支持多种时间窗类型,可以根据待测信号的特性进行选择,以保证测试结果的精确性;

· 支持峰值自动搜索功能,可以设定峰值搜索阈值,可显示多达11个Peak Marker;

· 支持Normal、Max. Hold、Min. Hold以及Average等四种迹线显示模式;

· 当显示多个通道的频谱时,既可以"堆栈 (Stacked) "显示,也可以"重叠 (Overlay) "显示;

· 所有通道具有相同的Span、RBW、FFT Window及Spectrum Time,但中心频率可以独立设定。

81b096b289c99b5392ee1a732de78669.png

图2. Spectrum View操作界面

时频域并行分析

图3给出了信号采集和处理架构示意图,模拟信号经过ADC转换为数字信号后,时域和频域是并行处理的,从而可以独立设置时域和频域捕获时间。Spectrum View支持滑动Spectrum Time的位置,对不同时段的信号作频谱测试,这使得对信号进行时频域联动测试成为可能。

4af8ed083bbda8335529e9051c70963b.png

图3. 信号采集和分析架构示意图

54229044eb0932d64de0ceedc12a677c.png

图4. 时域、频域和调制域联动分析

作为示例,图4给出了一个跳频信号分析结果,同时给出了时域波形、频谱及跳频序列的结果。图中红色标记处为Spectrum Time,即用于FFT分析的时间,其位置是可以移动的,测试的频谱就是当前位置对应的频谱。拖动Spectrum Time的位置,可以分别对不同的频点进行观测,当前观测的是频率切换过程中的频谱变化。

多通道频谱测试

频谱应用过程中,Spectrum View与频谱仪FFT模式下的数据处理过程相同,虽然测试动态不如频谱仪,但是Spectrum View有着自己的优势,比如可以测试极低频率的信号,具有丰富灵活的探测方式,以及时频分析的相关性。此外,Spectrum View还支持多通道频谱测试,这得益于TEK049支持同时对每个通道的信号作频谱分析处理。

类似于TEK049的多通道时域波形显示方式,所激活的频谱既可以"堆栈 (Stacked) "显示,也可以"重叠 (Overlay) "显示。图5同时观测了两个通道的时域波形及频谱,并且采用了重叠显示,以便于频谱之间的对比。

所有通道的频谱共用相同的Span、RBW、FFT Window及Spectrum Time,这一点与时域要求多通道间共用采样率、水平时基及触发类似。尽管如此,各个通道的中心频率可以独立设置,默认是联动的,也可以根据需要设置为不同值。

Spectrum View支持自动搜索峰值,最多支持11个Peak Marker,幅值最大的频点自动标记为"Ref. Marker",其它Marker的频点和幅值可以显示为绝对值,也可以显示为相对于"Ref. Marker"的相对值。如果所需要的Marker数目超过限制,还可以通过使用频域的cursor确定频率和幅值。

acfff6f60b0b941f078d66eb3cc6c881.png

图5. 同时观测两个通道的时域波形及频谱

小结

文中介绍了Spectrum View功能,阐述了与传统示波器FFT方法的区别及优势。Tek049平台及低噪声放大前端Tek061的引入,可使得示波器达到低噪声水平,这是测试微弱信号频谱的重要前提。时域与频域并行处理架构,使得时频域数据捕获相互独立,同时Spectrum Time的可移动性,使得示波器具备了多域联动分析功能。

来源:泰克科技

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复盘caffe安装

最近因之前的服务器上的caffe奔溃了,不得已重新安装这一古老的深度学习框架,之前也尝试了好几次,每次都失败,这次总算是成功了,因此及时地总结一下。 以下安装的caffe主要是针对之前虹膜分割和巩膜分割所需的caffe版本…

HP P2000 RAID-5两块盘离线的数据恢复报告

1. 故障描述本案例是HP P2000的存储vmware exsi虚拟化平台,由RAID-5由10块lT硬盘组成,其中6号盘是热备盘,由于故障导致RAID-5磁盘阵列的两块盘掉线,表现为两块硬盘亮黄灯。 经用户方维护人员检测,故障硬盘应为物理故障…

为什么torch.nn.Linear的表达形式为y=xA^T+b而不是常见的y=Ax+b?

今天看代码,对比了常见的公式表达与代码的表达,发觉torch.nn.Linear的数学表达与我想象的有点不同,于是思索了一番。 众多周知,torch.nn.Linear作为全连接层,将下一层的每个结点与上一层的每一节点相连,用…

Leetcode47: Palindrome Linked List

Given a singly linked list, determine if it is a palindrome. 推断一个链表是不是回文的,一个比較简单的办法是把链表每一个结点的值存在vector里。然后首尾比較。时间复杂度O(n)。空间复杂度O(n)。 /*** Definition for singly-linked list.* struct ListNode {…

【转】七个例子帮你更好地理解 CPU 缓存

我的大多数读者都知道缓存是一种快速、小型、存储最近已访问的内存的地方。这个描述相当准确,但是深入处理器缓存如何工作的“枯燥”细节,会对尝试理解程序性能有很大帮助。在这篇博文中,我将通过示例代码来说明缓存是如何工作的,…

win10 平台VS2019最简安装实现C++/C开发

这两天一直在安装vs2015,总是卡在visual studio 2015 出现安装包丢失或损坏的现象,尽管按照网上很多方法尝试解决,但是一直不行。算了。还是使用最新版的VS 2019安装,没想到很顺利。 下面总结一下在win10平台上最简安装VS2019,实…

Hook的两个小插曲

看完了前面三篇文章后,这里我们来一个小插曲~~~~ 第一个小插曲。是前面文章一个CM精灵的分析。我们这里使用hook代码来搞定。 第二个小插曲,是如今一些游戏,都有了支付上限,比如每天仅仅能花20块钱来购买。好了。以下我们分开叙述…

微信小程序和vue双向绑定哪里不一样_个人理解Vue和React区别

本文转载自掘金,作者:binbinsilk,监听数据变化的实现原理不同Vue 通过 getter/setter 以及一些函数的劫持,能精确知道数据变化,不需要特别的优化就能达到很好的性能React 默认是通过比较引用的方式进行的,如…

JS 省,市,区

1 // 纯JS省市区三级联动2 // 2011-11-30 by http://www.cnblogs.com/zjfree3 var addressInit function (_cmbProvince, _cmbCity, _cmbArea, defaultProvince, defaultCity, defaultArea) {4 var cmbProvince document.getElementById(_cmbProvince);5 var cmbCity…

使用极链/AutoDL云服务器复盘caffe安装

继上一次倒腾caffe安装以后,因为博士毕业等原因,旧的服务器已经不能再使用,最近因论文等原因,不得不继续来安装一下我的caffe。这次运气比较好,经历了一晚上和一早上的痛苦之后,最终安装成功了,…

Samba服务

####################samba####################1.samba作用提供cifs协议实现共享文件2.安装yum install samba samba-common samba-client -ysystemctl start smb nmbsystemctl enable smb nmb3.添加smb用户smb用户必须是本机用户[rootlocalhost ~]# smbpasswd -a student New…

CodeForces 543D 树形DP Road Improvement

题意: 有一颗树,每条边是好边或者是坏边,对于一个节点为x,如果任意一个点到x的路径上的坏边不超过1条,那么这样的方案是合法的,求所有合法的方案数。 对于n个所有可能的x,输出n个答案。 分析&am…

理解Javascritp中的引用

Author: bugall Wechat: bugallF Email: 769088641qq.com Github: https://github.com/bugall一: 函数中的引用传递 我们看下下面的代码的正确输出是什么 function changeStuff(a, b, c) {a a * 10;b.item "changed";c {item: "changed"}; …

ONOS系统架构演进,实现高可用性解决方案

上一篇文章《ONOS高可用性和可扩展性实现初探》讲到了ONOS系统架构在高可用、可扩展方面技术概况,提到了系统在分布式集群中怎样保证数据的一致性。在数据终于一致性方面,ONOS採用了Gossip协议。这一部分的变化不大,而在强一致性方案的选择方…

Struts2_day01

Java Web开发常用框架 SSH(Struts2 Spring Hibernate)SSM(Struts2 Spring MyBatis)SSI(Struts2 Spring iBatis) 多种框架协同工作 Web层 -- Service层 -- Dao层 Struts2框架: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MV…

使用 python 开发 Web Service

使用 python 开发 Web Service Python 是一种强大的面向对象脚本语言,用 python 开发应用程序往往十分快捷,非常适用于开发时间要求苛刻的原型产品。使用 python 开发 web service 同样有语言本身的简捷高速的特点,能使您快速地提供新的网络服…

java 基础5

一、 什么是数组及其作用? 定义:具有相同数据类型的一个集合 作用:存储连续的具有相同类型的数据 二、 java中如何声明和定义数组 2.1 声明和定义的语法: 数据类型[ ] 数组名;( int[ ] nums ; ) 或 数…

TFS(Team Foundation Server)介绍和入门

在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的。 作为一名软件开发者,在我的职业生涯中,我常常会用到支持软件开发过程的大量开发工具&#x…

[Hadoop] - 自定义Mapreduce InputFormatOutputFormat

在MR程序的开发过程中,经常会遇到输入数据不是HDFS或者数据输出目的地不是HDFS的,MapReduce的设计已经考虑到这种情况,它为我们提供了两个组建,只需要我们自定义适合的InputFormat和OutputFormat,就可以完成这个需求&a…

PS 色调——老照片效果

这就是通过调色使照片显得发黄。 R_new0.393*R0.769*G0.189*B; G_new0.349*R0.686*G0.168*B; B_new0.272*R0.534*G0.131*B; clc; clear all; Imageimread(9.jpg); Imagedouble(Image); Image_newImage; Image_new(:,:,1)0.393*Image(:,:,1)0.769*Image(:,:,2)0.189*Image(:,:,3…