数字信号处理——DFT的一些理解

2023-10-26

DFT(离散傅里叶变换)的基本概念

1.对信号作DFT的过程
1.对模拟信号以一定的采样率进行采样,得到离散信号
2.将离散信号转换为离散(无穷)序列(即用序列号n代替原时间变量)
3.对离散(无穷)序列进行截断,只取一部分构成离散序列(有限长序列,序号n从0-N-1)
4.对离散序列作DFT,x(n)=>X(k) (k=0,1……N-1)
5.k的含义为一个频率间隔的倍数,将X(k)映射到X(f)(orX(ω)),注意这里的f最大为fs,即采样频率

some personal perspective:
1.截断对应的存在一个截断时间Tp,1/Tp即为频谱中的频率间隔,在相同采样率下,Tp越大,采样得到的N越多,故频谱的分辨率越高。
2.相同的采样点数N下,fs越低则频谱分辨率越高,但会带来高频混叠的影响。
3.离散序列x(n)一共有N个数,对应的X(k)也有N个数,时域周期离散,频域也同样周期离散。
4.在频域X(f)中,只需观察一个周期(0-fs),如果x(n)为实数序列,则其频谱关于fs/2共轭对称,幅度谱只需观察半个周期(0-fs/2),分析其本质原因,以 s i n ( ω 0 t ) sin(\omega_0 t) sin(ω0t)为例,其连续时间序列的频谱存在两个峰,负半轴也有,离散后频谱以fs周期延拓,故在(fs/2, fs)间也存在一个峰,而 e x p ( j ω 0 t ) exp(j\omega_0 t) exp(jω0t)不会存在这种情况,在(0,fs)上只有一个峰,但对于观察而言,仅(0,fs/2)是有意义的。
5.FT的频谱依旧是频谱密度的概念,但DFT的频谱就是频谱了(本质就是傅里叶级数展开)

2.不同点数下的DFT
在这里插入图片描述
由于在DFT中,默认将原序列周期延拓(为的是将频谱离散,方便计算机处理),所以N的取值很重要,即上述的截断时间的概念。不同的N(截断时间)下得到的信号不同,周期延拓后作出的频谱差别更大了。
例:对R4(n)作不同N点数的DFT,分别为4点,8点,16点,横轴是k轴
在这里插入图片描述
4点时,经过周期延拓的序列为一常数序列,故频谱中只有一个脉冲,8和16点作出的频谱是一个类似Sa函数的函数(但此时的形式为sin/sin型,因为要满足频谱周期的条件)
注:
作出它们的频谱图X(f)会发现,由于采样率默认相同,故它们的fs相同,不同的N带来的是频率间隔的不同。故其实它们的连续谱形状应该相同,但是分辨率不同导致了它们的差异。

信号截断和频率泄露

频率泄露:
频率中出现了信号中没有的频率分量。

原因:
在对非周期的无限长信号做截断时和对周期的无限长信号作非整周期截断时,DFT默认的周期延拓性质导致延拓后的信号与原来的信号出现差异,故出现新的谱线。

具体分体:
1.对周期序列进行整周期截断
设信号为cos(2n),对其进行整周期截断,取两个周期截断
在这里插入图片描述
分析:
1.对周期信号作整周期截断后得到的序列重新进行周期延拓后得到的信号与原型号无差异,故做出来的频谱完全吻合。
2.截断时取的是信号的周期的2倍,故频率间隔为信号的频率的1/2,所以谱线在k域中出现在2处。无论截断的整周期取多少,改变的是k域中出现谱线的位置,将其转换为频率谱中谱线对应的频率不变。
3.注意在matlab中创造信号时,时间轴一定要取成0:Tp-Ts(用区间表示为[0,Tp)),因为是从0开始取的,所以末尾要去掉一位。

n=0:pi/40:2*pi;
n=n(1:end-1);

2.对周期信号进行非周期截断
设信号x(t)=cos(200πt)+sin(100πt),采样率fs=400Hz,截断周期为0.325
在这里插入图片描述
对不同的截断周期做DFT
在这里插入图片描述
分析:
1.前三张频谱都是整周期截断后作的DFT,频谱与原信号吻合,但当做了非整周期截断后,就会发生频率泄露,出现了很多原信号没有的谱线
在这里插入图片描述
2.找了一张网上的图,可以发现,周期延拓后,在交界处出现了跳变,而这种跳变蕴含的频带很宽,这就解释了为什么出现了很多原来没有的谱线。
3.上面的四张频谱图都已从k域映射到了频域,可以发现,对前三张频谱图,虽然频率间隔不同,但峰出现的位置对应的频率是一样的,且峰正好为频率间隔的整数倍;而对非整数周期截断的频谱图,原信号的频率不为频率间隔的整数倍,即无法出现在频谱图中。

改善频率泄露的办法是加窗函数,目的是减缓延拓的交界处的跳变。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字信号处理——DFT的一些理解 的相关文章

  • 「数字信号处理」采样过程与内插恢复完整图解

    内插与采样的关系 来源 xff1a 数字信号处理 采样与内插 DSP期末知识点题型4 哔哩哔哩 bilibili
  • 傅里叶变换的一些总结

    傅里叶变换的一些总结 1 三角函数的正交性 三角函数系 1 c o s 0 x
  • 从控制理论的根轨迹法和稳定性分析谈到舵机PD控制代码实现

    在上一次谈到基于MPU6050的基于一阶互补滤波算法实现后 本来想接着就自适应一阶互补滤波和卡尔曼滤波再写一篇的 但是卡尔曼滤波算法我自己写出来并进行姿态解算后发现效果不很好 才疏学浅 等我调好了再写吧 昨天花了半下午做了一个基于MPU60
  • 数字信号处理知识点

    数字信号处理知识点 1 频谱图中 横坐标取值范围的含义 2 MATLAB常用函数 2 1 波形产生 2 2 滤波器分析 2 3 滤波器实现 2 4 线性系统变换 2 5 滤波器设计 2 5 1 FIR滤波器 2 5 2 IIR滤波器 2 6
  • 基于线性预测的语音编码原理解析

    早期的音频系统都是基于声音的模拟信号实现的 在声音的录制 编辑和播放过程中很容易引入各种噪声 从而导致信号的失真 随着信息技术的发展 数字信号处理技术在越来越多领域得到了应用 数字信号更是具备了易于存储和远距离传输 没有累积失真 抗干扰能力
  • 数字图象处理之二维码图像提取算法(八)

    PDF417 码几何失真的校正 1 每个 PDF417 条码都包含一个起始符和终止符 且其模块比例是固定的 利用这个特性 可以采取扫描条码左右边缘点 能后采用直线拟合方法来确定条码的左右边缘直线 Hough 变换中获得的条码横向边界直线 可
  • 从连续时间傅里叶级数到快速傅里叶变换

    在计算机上编程做信号处理时 我们通常用的是FFT 但是开始学信号处理时 一般是从FS开始的 所以这里整理一下从FS到FFT 演变 的过程 以下是傅里叶 家族 的一些名称 FS Fourier Series 连续时间周期信号的傅里叶级数 FT
  • 数字信号处理综合实验——Matlab实现DTMF信号的产生与提取

    数字信号处理综合实验 一 实验内容及要求 实验内容 综合运用课程所学相关知识 根据实际信号的频谱特性 确定数字滤波器设计技术指标 设计相应的数字滤波器 实现DTMF信号的提取 设计要求 1 通过查阅资料 自学电话中DTMF信号的产生与检测方
  • 第10章 生物医学信号小波分析

    一 小波的定义及特点 二 连续小波变换 三 离散小波变换 第一部分是尺度函数 相当于低通滤波 第二部分是小波函数 相当于高通滤波 向下箭头是降阶处理 抽取法 四 心电信号的小波分析 去掉2 1 2 2 2 8对应的信号 然后进行重构 心电信
  • 从控制理论的根轨迹法和稳定性分析谈到舵机PD控制代码实现

    在上一次谈到基于MPU6050的基于一阶互补滤波算法实现后 本来想接着就自适应一阶互补滤波和卡尔曼滤波再写一篇的 但是卡尔曼滤波算法我自己写出来并进行姿态解算后发现效果不很好 才疏学浅 等我调好了再写吧 昨天花了半下午做了一个基于MPU60
  • 谈谈滞后补偿器与PI控制及其原理分析

    本文一览 1 什么是滞后补偿器以及和PI控制的联系 2 PI控制对系统的影响 1 什么是超前补偿器以及和PI控制的联系 上一篇文章提到了超前补偿器 超前这个词的含义就是相位提前 相位提前所带来的的好处就是减少振荡 加快系统的稳定 但是使用超
  • 深入理解采样定理 + Matlab 仿真 Sa 函数的采样与恢复

    建议配合国宝老师的视频食用 信号与线性系统分析 吴大正 郭宝龙 文章目录 1 采样的说明 1 为什么要取样 2 什么是取样 2 采样定理 1 为什么要有奈奎斯特频率 2 什么是采样定理 3 信号的恢复 4 Matlab的Sa函数取样仿真 1
  • 数字信号处理知识点总结(四):快速傅里叶变换(FFT)

    本篇文章主要介绍快速傅里叶变换 FFT 的优化原理 基 2FFT算法的推导 实现及用FFT实现的线性卷积 主要参考知乎 精品讲义 快速傅里叶变换 Fast Fourier Transformation 以及一些数字信号处理的书籍整理而成 参
  • FM调制的FPGA实现(三)

    版权声明 本文为博主原创文章 如果觉得不错欢迎转载 记得标明出处就行 https blog csdn net HOOKNET article details 81278232 div class markdown views prism a
  • 【定点数运算】定点的乘法和加法

    目录 定点的介绍 定点的优势 定点数的乘法和加法 乘法 加法 定点的介绍 在之前的博客中介绍了定点数和浮点数 想要了解的可以前往以下链接 定点和浮点 定点数与浮点数的解释 定点的优势 使用定点表示有什么优势 为什么不简单地将所有值规范化为整
  • 毕业设计记录-matlab自动生成并标注时频图数据集

    文章目录 2022 1 8日的记录 2022 1 8日的记录 陆陆续续几天 玩中带做终于是写好了一个基本的雏形 以后想往里面添加东西就好添了 首先是文件功能描述 caogao caogao 草稿 写程序调试代码的地方 CreateSigna
  • 数字图像处理之浮雕效果——基于傅里叶变换的频域操作

    问题简述 这是信号与系统课程的一个课后作业 要求运用傅里叶变换的理论知识 在matlab中对数字图像进行浮雕效果的处理 浮雕效果和图像边缘的检测差不多 学习过深度学习的同学可能会想到使用核对图像进行卷积操作 吴恩达老师在DeepLearni
  • 数字信号处理第四次试验:IIR数字滤波器设计及软件实现

    数字信号处理第四次试验 IIR数字滤波器设计及软件实现 前言 一 实验目的 二 实验原理与方法 三 实验环境 四 实验内容及步骤 五 实验结果截图 含分析 六 思考题 前言 为了帮助同学们完成痛苦的实验课程设计 本作者将其作出的实验结果及代
  • 数字信号处理第五次试验:FIR数字滤波器设计与软件实现

    数字信号处理第五次试验 FIR数字滤波器设计与软件实现 前言 一 实验目的 二 实验原理与方法 三 实验环境 四 实验内容及步骤 五 实验结果截图 含分析 六 思考题 前言 为了帮助同学们完成痛苦的实验课程设计 本作者将其作出的实验结果及代
  • 用matlab绘制系统函数的DTFT

    freqz函数 frequency response of digital filter 对于一个输入离散序列 输出离散序列的离散时间系统 我们可以用它的系统函数H Z 来描述这个系统 求这个系统函数的DTFT 可以得到这个系统的幅频响应和

随机推荐

  • 问题解决:DatabaseMetaData.getTables()方法,返回了所有库中的表

    一 问题描述 DatabaseMetaData getTables 方法常常用来获取数据库中的所有表信息 但我想要获取我的本地数据库db test中的表信息 出现了错误 try Connection conn DBManager getCo
  • BigDecimal保留小数

    Java中BigDecimal取整方法 BigDecimal bd new BigDecimal 12 1 long l bd setScale 0 BigDecimal ROUND UP longValue 向上取整 long l bd
  • 【Docker存储】Docker容器的数据持久化

    Docker存储 Docker容器的数据持久化 一 Docker数据持久化方式 二 本次实践介绍 2 1 本次实践简介 2 2 本次实践环境介绍 三 容器的挂载目录 3 1 创建测试容器web01 3 2 查看容器信息 3 3 编辑测试文件
  • 单片机C语言中while(1)的问题

    单片机C语言的主程序 通常要用一个while 1 语句来让程序进入一个无限循环 目的是为了让程序一直保持在我们需要运行的情况下 虽然这种做法毋庸置疑 在网上还是有不少朋友有疑问 如果程序不加while 1 会出现什么情况 对于这种好学精神
  • Android开发——相册的访问、上传以及服务端对接

    相册的访问与图片保存 1 访问相册并上传到服务器 2 下载网络图片到相册 3 这里顺便分享一手后端的对接方法 4 生产环境资源配置 5 后端项目打包 一般Android开发需要涉及到本地相册的上传以及文件下载到相册 1 访问相册并上传到服务
  • redis必杀命令:发布订阅

    Redis 发布订阅 pub sub 是一种消息通信模式 发送者 pub 发送消息 订阅者 sub 接收消息 Redis 客户端可以订阅任意数量的频道 下图展示了频道 channel1 以及订阅这个频道的三个客户端 client2 clie
  • Spotify 一款不错的音乐工具

    Spotify简介 在这个时代 似乎听歌已经成了我们生活中不可缺少的一部分 生活中或多或少的我们都能接触到的 但每个人喜欢的风格是不一样的 又或者我们喜欢的歌曲可能因为种种的原因而听不见 那么下面这款工具就基本上能满足我们对歌曲的渴望 在这
  • 使用两个队列实现一个栈【数据结构】

    使用两个队列实现一个栈 StackByQueue h typedef int SQDataType typedef struct StackByQueue Queue q1 Queue q2 StackByQueue void InitSt
  • 多核编程与单核多线程编程

    并发 时间段内有很多的线程或进程在执行 但何时间点上都只有一个在执行 多个线程或进程争抢时间片轮流执行 并行 时间段和时间点上都有多个线程或进程在执行 单核cpu的话只能是并发 多核cpu才能做到并行执行 那有人可能有这样的疑问 那多进程的
  • Java Encoding

    现象 Java程序在Windows命令行编译运行打印中文时 直接在命令行下编译会报错 gbk编码的不可映射字符 Eclipse不存在该问题 分析 显然是几种编码格式不兼容 但要搞清楚源文件的编码方式 编译生成的class文件编码方式并且确保
  • Mac必备的矢量图处理软件:ai2021中文版

    备受期待的Adobe Illustrator 2021 for Mac终于来啦 这是全球最著名的矢量图形软件 这次的Illustrator2021中文版提升了软件的性 能 缩短了Illustrator 2021的启动时间并加快了文件打开速度
  • 【深度学习】深入浅出详解张量自动求导机制

    转载自 PaperWeekly 作者 清川 单位 上海交通大学博士生 研究方向 联邦学习 端云协同推断 1 写在前面 深入浅出 在计算机教材界被用滥的词 总是继承着领域小白的初心和梦想 顾名思义 它既意味着理解得透彻 又要求复述得通俗 如果
  • 软件测试人员在工作中如何运用Linux

    从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事 工作时需要用到 面试时会被问到 简历中需要写到 对于软件测试人员来说 不需要你多么熟练使用Linux所有命令 也不需要你对Linux系统完全了解 你只需要学会一些常用的基本命
  • 迪杰斯特拉(Dijkstra)算法

    一 算法介绍 迪杰斯特拉算法是由荷兰计算机科学家在1956年发现的算法 此算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题 它是一个贪心算法 二 核心思想 1 选定一个点 这个点满足两个条件 1 未被选过 2 距离最短 2 对于
  • 【数字图像处理笔记(七)】之冲激和取样的傅里叶变换

    本文章由公号 开发小鸽 发布 欢迎关注 老规矩 妹妹镇楼 一 冲激和取样特性 一 连续冲激的定义 线性系统和傅里叶变换研究的核心是冲激及其取样特性 连续变量t在t 0处的单位冲激表示 满足等式 物理上 如果我们把t解释为时间 那么一个冲激可
  • [Context and Structure Mining Network for Video Object Detection]阅读笔记

    文章目录 TOC 文章目录 Abstract Introduction Related work Proposed Method 1 overview 2 Sptial temporal context Information Encodi
  • 数字图像学笔记 —— 17. 图像退化与复原(自适应滤波之「最小二乘方滤波」)

    文章目录 维纳滤波的缺点 约束最小二乘方滤波 给一个实际例子吧 维纳滤波的缺点 维纳滤波 Wiener Filter 虽然是一种非常强大的退化图像还原算法 但是从实验过程我们也发现它存在着致命的缺陷 那就是要求输入退化系统的 F u v
  • WCF学习笔记(基于REST规则方式)

    一 WCF的定义 WCF是 NET 3 0后开始引入的新技术 意为基于windows平台的通讯服务 首先在学习WCF之前 我们也知道他其实是加强版的一个面向服务 SOA 的框架技术 如果熟悉WebService就会知道WebService是
  • char* 和jstring转换

    在平时的工作 经常用到jni和const类型转换 调用例子 JNIEXPORT jstring JNICALL Java com powervision videolib jni JniNatives native 1getPpsLengt
  • 数字信号处理——DFT的一些理解

    DFT 离散傅里叶变换 的基本概念 1 对信号作DFT的过程 1 对模拟信号以一定的采样率进行采样 得到离散信号 2 将离散信号转换为离散 无穷 序列 即用序列号n代替原时间变量 3 对离散 无穷 序列进行截断 只取一部分构成离散序列 有限