有限长信号DFT结果的频谱泄露

提出问题

  1. 依照我们在“信号与系统”这门课建立的印象,不管如何频率的连续正弦信号,其频谱应当是两根笔直的谱线(含负频率)
  2. 但是,当我们把一段正弦信号採样之后的数据拿去做DFT之后DFT的结果总是两根笔直的谱线么?
  3. 假设不总是。那么为什么有时候是,有时候又不是呢?

Case1: 信号採样长度64点,採样率32kHz,正弦频率1kHz

这时信号採样包括了整数个(2个)周期的正弦信号。

此时DFT的结果和我们想象中的连续时间域的频谱是很类似的


Case2: 正弦信号频率1.1kHz,採样率32kHz,数据长度 64,

此时包括 64/(32kHz/1.1kHz) = 2.2个周期的样点

Case3: 正弦信号频率1kHz,採样率32kHz,

数据长度 60点此时包括 60/(32kHz/1kHz) = 1.875个周期的样点


仿真分析

通过改动仿真的參数,我们惊奇的发现, 相同是单一频率的正弦波。直接用DFT进行频谱分析的结果却大不一样。不知道您是否感到吃惊。多年前我第一次自己做实验得到这个结论的时候。实在是感到很吃惊。由此我们能够看到“直接对信号进行DFT来分析频谱” 这样的分析方式的结果的准确性波动太大。比方以上的结果中,在CASE1中的结果很之好,好的接近理想程度了,现实世界中的电子热运动噪声才-180dB,案例1中的噪声被压制到了-300dB下面。已经很满足project上面的測量需求了。

由此,我们開始思考。对一个连续时间信号进行採样。对信号的有限长样点进行DFT的结果,并不总是和该信号在连续时间域的频谱一致,从上面的实验能够看出,似乎仅仅要是有限长採样中包括了整数个周期的信号样点。DFT的结果就和连续域频谱很一致。

然而这为我们带来新的问题。当我们要分析一个有限带宽信号的频谱成分时。我们是不可能让有限长的信号採样里恰好包括了全部频率成分的整数个周期。

尤其是当这个信号的频率成分很丰富的时候。接下来我们要做两件事情:

分析一下。为什么非整数个周期的信号採样的DFT结果会“走样”

如何才干让非整数个周期的信号採样的DFT结果和信号在连续时间域的频谱尽量的“类似”,假设的确存在某种方法,那么这样的方法是有代价的么?

(待续)

參考资料:基于DFT的谱分析 - ECDAV

大话DFT频谱分析(并不是我的话)的更多相关文章

  1. 正余弦信号的DFT频谱分析

    一般的,对正余弦信号进行採样并DFT运算,画出频谱图,会发现频谱并不干净.这样的现象称为频谱泄漏.由于DFT运算仅仅能是有限序列,突然的截断产生了泄漏. 会有这种特殊情况.当採样截取的刚好是整数个周期 ...

  2. 余弦信号DFT频谱分析(继续)

    以前谈到序列的实际长度可以通过零填充方法加入,使得最终增加N添加表观分辨率. 但它并没有解决泄漏频率的问题. 根本原因在于泄漏窗口选择的频率. 由于矩形窗突然被切断,频谱旁瓣相对幅度过大,造成泄漏分量 ...

  3. 转载:一幅图弄清DFT与DTFT,DFS的关系

    转载:http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DF ...

  4. FS,FT,DFS,DTFT,DFT,FFT的联系和区别

    DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...

  5. FS,FT,DFT,DFS和DTFT的关系

    对于初学数字信号(Digital Signal Processing,DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. FS:时域上任意连续的周期信号可以分 ...

  6. FS,FT,DFS,DTFT,DFT,FFT的联系和区别 数字信号处理

    DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...

  7. 大话keepalive

    大话keepalive 我们说到keepalive的时候,需要先明确一点,这个keepalive说的是tcp的还是http的. tcp的keepalive是侧重在保持客户端和服务端的连接,一方会不定期 ...

  8. 我也来说说DDD~大话目录

    回到占占推荐博客索引 DDD之前没有接触过,但一但有了接触就一发不可收拾,他会带去进入一个全新的世界! DDD不是新技术,而是新思想,新模式,是软件开发领域的一次突破,它更接近于业务,对于业务的改动它 ...

  9. Atitti 大话存储读后感 attilax总结

    Atitti 大话存储读后感 attilax总结 1.1. 大话存储中心思想(主要讲了磁盘文件等存储)1 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了1 1.3 ...

随机推荐

  1. s3c6410 Linux 驱动开发环境搭建

    s3c6410 Linux 驱动开发环境搭建 -- 既然你是做Linux开发的,你还用虚拟机? 非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具"大行其道" ...

  2. More is better——并查集求最大集合(王道)

    Description Mr Wang wants some boys to help him with a project. Because the project is rather comple ...

  3. 远程管理服务 Windows Remote Management (WS-Management)

    Windows Remote Management (WS-Management) Windows 远程管理(WinRM)服务执行 WS-Management 协议来实现远程管理.WS-Managem ...

  4. Selenium webdriver Java 封装与重用

    目的 1. 简化调用 WebDriver对页面的操作,需要找到一个WebElement,然后再对其进行操作,比较繁琐: WebElement element =driver.findElement(B ...

  5. javascript - 你不容错过的es6模板写法

    /** * ``即重音符(128键盘左上角ESC下面那个键盘) * 隶属:模板字符串 */ let unit = '4'; let keywords = 'uc'; // step1:模板变量 ${v ...

  6. python基础语法(四)

    --------------------------------------------接 Python 基础语法(三)---------------------------------------- ...

  7. jQuery 创建html

    jQuery 创建html

  8. Jersey 1.18 API文档

    Jersey 1.18 API文档 我自己制作了Jersey 1.18 API CHM文档, 下载地址见: http://download.csdn.net/detail/chszs/7334869 ...

  9. 神奇的CAReplicatorLayer

    代码地址如下:http://www.demodashi.com/demo/11702.html 文档描述: The CAReplicatorLayer class creates a specifie ...

  10. MySQL 5.6数据导入报 GTID 相关错误

    从阿里云备份数据后还原到本地,用命令行 mysql -uroot -p --default-character-set=<character> -f <dbname> < ...