离散傅里叶变换(DFT)

离散傅里叶变换(Discrete Fourier Transform)的实质是有限长序列傅里叶变换的有限点离散采样,实现了频域离散化,使数字信号处理可以在频域采用数值运算的方法进行,增大了数字信号处理的灵活性。

一、DTF的定义

设x(n)是一个长度为M的有限长序列,则定义x(n)的N点离散傅里叶变化为:

逆变换为:

二、DFT与傅里叶变换的关系


上述式子说明了:DFT的X(k)是x(n)傅里叶变换X(e^jw)在区间[0,2π]上的N点等间隔采样。

三、DFT与Z变换的关系



**上述式子说明了:DFT的X(k)是Z变换X(z)在单位圆上的N点等间隔采样

四、DFT的性质

(1)线性

(2)循环位移

设x(n)为有限长序列。长度为M,M≤N,则x(n)的循环位移为

循环过程如下所示:

(3)时域循环移位定理

设x(n)是长度为M(M≤N)的有限长序列,y(n)为x(n)的循环移位。即:
则:
证明过程如下:

令n+m=n’,则有

(4)频域循环移位定理

同(3)

(4)复共轭序列的DFT

设x*(n)是x(n)的复共轭序列,长度为N,则
证明如下,根据DFT唯一性

五、用DFT进行谱分析的误差

(1)混叠现象:

对连续信号进行谱分析时,首先要对其采样,由时域连续变时域离散信号,再用DFT(FFt)进行谱分析。采样速率必须满足采样定理,否则会在w=π附近发生频率混叠现象。
对于Fs确定的情况,一般在采样前进行预滤波,滤除高于折叠频率Fs/2的频率成分

(2)栅栏效应:

N点DFT是在频率区间[0,2π]上对时域离散信号的频谱进行N点等间隔采样,二采样点之间的频谱是看不到的。
采用提高频率分辨率,对原序列尾部补零,增大截取长度及DFT变换区间长度等方法解决栅栏效应

(3)截断效应

对无限长序列进行谱分析时,需要将其截断 成有限长序列。
影响有
(1)泄露
(2)谱间干扰

六、用Python语言编写DFT算法

编程思路:
1、利用欧拉公式

得到
2、幅值计算

计算sin(0.4pin+pi/3)+10sin(0.2pin+pi/4)

代码如下:

from math import *
import numpy as np
import matplotlib.pyplot as plt
def signal(n):return (sin(0.4 * pi * n + pi / 3) + 10 * sin(0.2 * pi * n + pi / 4))# 生成WN项
def wn_k(k, n, N):return complex(cos(2 * pi * n * k / N), sin(-2 * pi * n * k / N))amplitude = []  # 准备一个空列表
power_spectrum = []
sums = 0# 256点DFT,X(0)到X(255)
for k in range(0, 256):for n in range(1, 257):# n的取值为从1到256sums = sums + signal(n) * wn_k(k, n, 256)amplitude.append(sums)sums = 0print(amplitude, len(amplitude))for i in range(0, 256):power_spectrum.append(amplitude[i] ** 2)plt.subplot(2, 1, 1)
plt.plot(np.abs(amplitude))
plt.title("amplitude_spectrum")
plt.subplot(2, 1, 2)
plt.plot(np.abs(power_spectrum))
plt.title("power_spectrum")
plt.show()

数字信号处理学习笔记(一)|离散傅里叶变换相关推荐

  1. 数字信号处理学习笔记[1] 离散信号 奇异信号 抽样定理

    文章目录 2 离散信号和抽样定理 2.1 离散信号 奇异信号 2.2 连续信号的离散化,正弦波的抽样问题 2.3 带限信号与奈奎斯特频率 用卷积考察抽样定理 2.4 离散信号的频谱和抽样定理 2 离散 ...

  2. 【数字信号处理 | 学习笔记】二、离散傅里叶变换及其快速算法

    目录 1 离散傅里叶级数 1.1 离散傅里叶级数(DFS) 1.2 离散傅里叶级数的性质 2 离散傅里叶变换 2.1 离散傅里叶变换(DFT) 2.2 离散傅里叶变换的性质 2.3 频域采样定理 2. ...

  3. 数字信号处理学习笔记[0] 连续信号的频谱和傅氏变换

    文章目录 绪论 1 连续信号的频谱和傅氏变换 1.1 有限区间上连续信号的傅氏级数和离散频谱 1.2 傅氏变换,连续信号与频谱 1.2.3 频谱的基本性质 实际应用举例 习题 绪论 Q: 举例说明&q ...

  4. 数字信号处理学习笔记

    文章目录 信号处理 离散时间信号与系统 为什么要处理信号 信号是如何处理的 信号处理的目的 数字信号的表示 信号的分类 DSP 和 ASP 数字信号处理的特点 数字信号处理的应用 两类DSP 数字信号 ...

  5. 【DSP数字信号处理学习笔记】—— 详细推导DFT的快速实现算法:FFT 基于库利-图基算法的实现

    引言:尽管离散傅里叶变换(DFT)让频谱分析技术在计算机上的实现成为可能,但是受限于DFT算法庞大的计算量 O(N2)O(N^2)O(N2),使得DFT在一开始并没有被广泛使用,直到快速傅里叶变换算法 ...

  6. dft对称性 matlab实验,数字信号处理实验 matlab版 离散傅里叶变换的性质

    数字处理实验 matlab版 山大学生最适用 本人自己写的 因为时间比较久了 不能完全保证出现代码都能运行 但95%还是能保证的 谢谢 实验13 离散傅里叶变换的性质 (完美格式版,本人自己完成,所有 ...

  7. 数字信号处理学习笔记(二)|快速傅里叶变换

    快速傅里叶变换(FFT) 一.FFT出现的原因 对x(n)进行N点DFT计算,一共有N2 次乘法,N2次加法 如果N=1024,则有2*1048576次计算,计算量过于庞大. FFT的思想就是:不断把 ...

  8. 数字信号处理学习笔记[3] 滤波与褶积,Z变换

    文章目录 3 滤波与褶积,Z变换 3.1 连续信号的滤波和褶积 3.2 离散信号的滤波和褶积 3.3 信号的能谱与能量等式,功率谱与平均功率等式 3.4 离散信号与频谱的简化表示 3.5 离散信号的Z ...

  9. 数字信号处理学习笔记(三)|时域离散系统的网络结构

    时域离散系统的网络结构 一.何为网络结构 网络结构如同差分方程.单位脉冲响应以及系统函数一样,描述了一个系统实现方法的表达形式. 例如给定一个差分方程:y(n)=0.8y(n-1)-0.15y(n-2 ...

最新文章

  1. 线程同步的各种方法汇总
  2. node --- 后端使用bcrypt对密码进行加密处理
  3. 利用网站模板创建子网站
  4. MATLAB2016b 下载,破解,安装
  5. 需求分析的初稿出来了
  6. python交互式编程在哪里_终于明了python交互式编程入门
  7. JEPLUS之APP自定义插件——JEPLUS软件快速开发平台
  8. 传说中人生必去的50个地方
  9. MTK手机烧录与调试
  10. 笔记本触摸板手势使用
  11. 程序员口才练习的顶级绕口令
  12. hdu 5745 la vie en rose
  13. WorkBench简介
  14. 体验篇之联动云租车体验[一日租车]
  15. 时下火热的 NFT 究竟有什么用?
  16. android 各个存储路径及获取方法总结
  17. Maven 创建 Spring、SpringMVC、Mybatis(SSM)项目
  18. 3D游戏编程与设计作业一
  19. PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)
  20. 无需下载就能使用的图像编辑器?能代替 Photoshop 吗?#Photopea

热门文章

  1. C#泛谈 —— 变体(协变/逆变)
  2. asp.net实现GZip压缩和GZip解压
  3. 二、mysql数据类型
  4. 关系管理系统:CustomerDaoimpl中获取总记录数getTotalrecord()
  5. 让JTextField添加“自动完成”功能
  6. VC++ 6.0 中如何使用 CRT 调试功能来检测内存泄漏[转]
  7. AcWing 164. 可达性统计
  8. 《京东618实践:一元抢宝系统的数据库架构优化》阅读笔记
  9. vue中computed(计算属性)和watch在实现父子组件props同步时的实际区分
  10. QAU 18校赛 J题 天平(01背包 判断能否装满)