彻底理解DFT定义(第三章离散傅里叶变换(3.1)学习笔记)
发布日期:2021-05-15 10:42:45 浏览次数:23 分类:技术文章

本文共 1151 字,大约阅读时间需要 3 分钟。

文章目录

1、引言

在数字信号处理领域,有两大非常强大的工具,我们一定要引起重视,一个是DFT,另一个是数字滤波器,作为一个工程师来说,不管是语音识别,还是人工智能,DFT绝对可以说要非常熟悉才行,这里,我们不再像大一新生那样以通俗的语言来讲解DFT,也不用纯粹理论的公式来讲解,而是理论结合心得来聊天似的平缓接受消化。

2、理解DFT的等式

下面3.2式是离散的指数形式的DFT等式

在这里插入图片描述
以上公式手写10遍
在这里插入图片描述
上面的式子,可能一眼看上去有些难以理解,没关系,我们来分析一下,并且牢牢记住。
首先m代表的是频谱的序列,X(m)代表第m个DFT输出序列,即X(0)、X(1)、X(2)、X(3)。。。
其次n代表的是时域的离散点的点数,x(n)代表第n个DFT输出序列,即x(0)、x(1)、x(2)、x(3)。。。
最后N代表的是时域输入序列的样值和DFT输出频率点的数量,值N是一个非常重要的参数,因为它决定了需要多少个输入样值、频域结果的密度及计算一个N点DFT所需的时间。这里我们还要注意的是N虽然代表了频谱FFT后的点数,如果点数小于了时域的离散点数,那将会舍去时域的点,如果点数大于了时域的点数,那么时域的点数会补零。(这一点,暂时不管,一般来说,默认是点数等于FFT后的点数)
j只是一个抽象的概念,能帮助我们比较一个信号中不同正弦信号组成部分之间的相位关系`。仅仅代表了cos和sin的相位关系。
在这里插入图片描述
所以指数形式的DFT可以写成如下形式:
在这里插入图片描述
所以上面的式子中,不要受到 j 的干扰,只是代表了一种相位关系而已。

3、举例

举个例子:

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

思考:

通过以上的实际例子,我是这样理解的:
m代表DFT频域序列,n为输入样值的时域序列,在每一个m点,用所有时间值序列的值乘以对应不同的频率正余弦信号叠加起来,就是在m点的频率幅度值。

每个DFT输出项X(m)都是所有时间值信号值序列和复杂的正弦波形式cos(φ)-jsin(φ)点对点相乘后所有项的累加和

不同正弦波的准确频率取决于两个因素:对原始信号采样时的采样率Fs和采样个数N。举个例子:假设每秒500次的采样率对一个正弦波基准频率为Fs/N=500/16,即31.25Hz,其他X(m)的正弦波频率就是基准频率的整数倍。

由此,N点DFT的余弦波频率分量为:

f(m)=mFs/N
此外DFT运算后得到的所有项中也确定了输入信号中各种频率分量之间的相位关系
在这里插入图片描述
在这里插入图片描述

4、频谱幅度和相位角

在这里插入图片描述

单看频谱的实部和虚是没有任何意义的,通过实部和虚部我们主要是为了获得相位角信息,我们所要关注的是X(m)的幅度和X(m)的相位角。
这里我们主要来说说相位角的意义,但我们得到频谱序列后,在频谱序列的每一点都是由实部和虚部构成。其中相位角是相对于同一频率的余弦波来说的,

转载地址:https://blog.csdn.net/ciscomonkey/article/details/84325146 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:verilog 基础篇 signal_tap 的使用
下一篇:2.4带通采样的实际问题

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月12日 06时37分01秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【大话Mysql面试】-SQL语句优化 2019-04-26
【大话Mysql面试】-Mysql事务以及隔离级别 2019-04-26
【大话Mysql面试】-Mysql索引 2019-04-26
【大话Mysql面试】-Mysql锁 2019-04-26
【大话Mysql面试】-Mysql常见面试题目 2019-04-26
08 【多线程高并发】Java线程间通信的方式 2019-04-26
【数据结构与算法】什么是跳表?通俗易懂来理解跳表 2019-04-26
【数据结构与算法】什么是图?图是什么?快速带你回顾图有关的知识点 2019-04-26
【数据结构与算法】什么是串?什么是KMP算法?字符串匹配是什么? 2019-04-26
【数据结构与算法】什么是布隆过滤器?如何防止缓存穿透的问题? 2019-04-26
【Java锁体系】CopyOnWriteArrayList是什么?线程安全的arraylist是哪个? 2019-04-26
【面试题目】Java设计模式你有哪些了解?说几个常用的。 2019-04-26
【计算机操作系统】常说的死锁是什么?死锁产生的必要条件是什么?死锁的解决策略是什么? 2019-04-26
【计算机操作系统】进程管理详解?进程与线程区别是什么?进程调度的算法有哪些?进程通信有哪些? 2019-04-26
【计算机操作系统】虚拟内存是什么?分页系统地址映射?页面置换算法有哪些?分段地址映射又是什么? 2019-04-26
【计算机操作系统】设备管理?磁盘结构是怎么样的?磁盘调度算法有哪些? 2019-04-26
【多线程高并发】为什么要使用多线程?创建多少个线程合适呢? 2019-04-26
【多线程与高并发】 Java两个线程轮流打印1-100两个数?多线程轮流打印数字? 2019-04-26
【多线程与高并发】 Java两个线程轮流打印字符串? 2019-04-26
【Linux命令篇】Linux命令实践 2019-04-26