首先对于FFT来说,输入的信号是一个按一定采样频率获得的信号序列,而输出是每个采样点对应的频率的幅度(能量)。

下面详细分析:

在FFT的输出数据中,第一个值是直流分量的振幅(这样对应周期有无穷的可能性),而第2个对应第一个采样点,第3个对应第二个...第n个对应第n-1个采样点。而且这些采样点是有对称的关系的,即:X(i) = X(n-i)。所以只需要关注前N/2个采样点就可以了,而每个采样点与频率的关系有下面公式给出:Fn = (n-1)*Fs/N, Fs采样频率;Fn频率;n采样点;N采样总数

同时得到信号周期:Tn = N/((n-1)*Fs)

我们借助这个公式我们来分析一下采样频率与采样点对输出频率分辨率的影响,很明显Fs(频率采样率)越低,N(采样点)越多输出频率分辨率越高,这样我们考虑到时域,频率分辨率越高,时间分辨率反而越低。。。

下面看两个例子:

例一:

>> A = [1,2,1,2,1,2];
>> fft(A)

ans =

9 0 0 -3 0 0

这里第一个点的频率为0,对应的数字是9,序列A很可能没有周期,还有一个可能是-3对应的周期,-3对应采样点为n=4,默认Fs=1,所以周期为T = 6/(3*1) = 2;

例二:

Fn = 5;
N = 300;
Fs = 40;
t = [0:1/Fs:N/Fs];
S = cos(2*pi*Fn*t);
abs(fft(S));
plot(abs(fft(S)));

这里信号频率为:Fn = 5。我们通过计算当n=37.5是对应的频率为5。

但是运行上面的程序,在n=39对应的采样点处得到峰值(峰值对应原信号的频率),这里不准确是由于频率分辨率的精度的问题,可以通过改变Fs或者N来解决这个问题。

FFT时域与频域的关系,以及采样速率与采样点的影响的更多相关文章

  1. python 实现wav的波形显示(时域和频域)

    音频处理中,经常要看一下啊频域图是什么样子的,这里自己写了一个小程序,可以完美的同步显示时域和频域图,直接上代码: #wave data -xlxw #import import wave as we ...

  2. 为什么FFT时域补0后,经FFT变换就是频域进行内插?

    应该这样来理解这个问题: 补0后的DFT(FFT是DFT的快速算法),实际上公式并没变,变化的只是频域项(如:补0前FFT计算得到的是m*2*pi/M处的频域值, 而补0后得到的是n*2*pi/N处的 ...

  3. 基于C++任意点数的FFT/IFFT(时域和频域)实现

    函数说明:更改主函数体中的N和length(=log2(N))既可以实现任意点数(2的幂次)的FFT/ IFFT的实现,fft函数中flag标志位控制是正变换还是逆变换. 1.复数操作类      定 ...

  4. 时域,频域,s域和z域,一些网上的总结

    https://www.jianshu.com/p/29f4a7663b14 https://wenku.baidu.com/view/26961183b9d528ea81c779e0.html ht ...

  5. 信号处理——傅里叶变换(FT-DTFT-DFT)

    作者:桂. 时间:2017-01-17  23:41:13 链接:http://www.cnblogs.com/xingshansi/articles/6294111.html 声明:转载请注明出处, ...

  6. FFT通过傅里叶级数图解频域补零时域内插

    在时域频域的信号分析的过程中,一个常见的说法叫:频域数据补零会让时域数据内插. 意思是在频域数据中多补几个零,再做ifft(逆傅里叶变换)后的时域数据,会变得更加"细腻",分辨率会 ...

  7. DFT、DTFT、DFS、FFT之间的关系

    DFT.DTFT.DFS.FFT.FT.FS之间的关系 FT和FS是研究连续信号的,在数字信号处理中不涉及. 主要是前四种的关系: DFT(Discrete Fourier Transform):离散 ...

  8. 算法系列:FFT 001

    转载自http://blog.csdn.net/orbit/article/details/17210461 2012年9月的时候,一个南京的大学生从电视台播放的一段记者采访360总裁周鸿祎的视频中破 ...

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

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

随机推荐

  1. JIRA FOR LINUX 安装过程

    1.Download 官网下载地址:https://www.atlassian.com/software/jira/download,只看到window下的安装版本,这个时候需要点击? All JIR ...

  2. ORA-27492 无法运行作业,调度程序不可用

    ORA-27492:无法运行作业;调度程序不可用 ORA-06512: at "SYS.DBMS_ISCHED", line 185 ORA-06512: AT SYS.DBMS_ ...

  3. Xamarin 与VS2015RC(xamarin 3.11.450) 报空指针错误。

    在Android开发中发现的一个“初步认为是调试器的bug”. 于早些时候发布在公司论坛上,传送门: http://www.newlifex.com/showtopic-1400.aspx 使用vs2 ...

  4. asterisk 通话噪音,自动挂断,回声等情况

    打开配置文件:cd /etc/asterisk/ vim chan_dahdi.conf 1: busydetect:忙音检测,如果开启,Asterisk会拨号尝试或通话中分析在线的音频,从而尝试识别 ...

  5. Global Translator

    Global Translator插件可以把已经通过翻译服务翻译好的内容生成对应语种的“静态”页面,或者说“缓存”起来,这样在一段时间内(可设置)想访问该语种的这 个页面的访客,就可以在不调用翻译服务 ...

  6. openfl使用64位的ndk时,编译报错的问题!

    当使用64位的ndk时,如果使用openfl test android运行android测试,应该会出现 arm-linux-androideabi-g++:找不到这个命令的错误. 原因是,haxel ...

  7. Python网络数据采集系列-------概述

    这是一个正在准备中的系列文章,主要参考的是<Web Scraping with Python_Collecting Data from the Modern Web-O'Reilly(2015) ...

  8. 与Android应用程序相关的文件目录都有哪些?(转载)

    与Android应用程序相关的文件目录都有哪些? | 浏览:1312 | 更新:2014-09-28 19:43 | 标签:android 一.方法介绍:   每个Android应用程序都可以通过Co ...

  9. linux查看是什么操作系统是什么命令

    https://zhidao.baidu.com/question/361519585968730492.html

  10. 解决vsftpd的refusing to run with writable root inside chroot错误

    参考 http://www.cnblogs.com/CSGrandeur/p/3754126.html 在Ubuntu下用 vsftpd 配置FTP服务器,配置 “ sudo chmod a-w /h ...