离散傅里叶变换(DFT)
目录
一、研究的意义
DTFT计算公式,中的w取值是连续的而且从负无穷大到正无穷大,对于计算机处理是不可能的,需要无限细分无限区间。即使在DTFT小节中用matlab实现计算,也只是将(-pi,pi)区间划分成1600份来逼近DTFT的效果。
实际上真正用的是DFT,离散傅里叶变换。离散傅里叶变换可以将连续的频谱转化成离散的频谱去计算,这样就易于计算机编程实现傅里叶变换的计算。FFT算法的出现,使得DFT的计算速度更快。
二、DFT的定义

由上边的定义可知,w=(2*pi/N)*k ,k=0,1,......,N-1,所以w的范围为[0,(N-1/N)*2*pi]。因为是离散取值,实际的区间长度为N,但不含第N个点,w的范围就是[0,2*pi)。
也就是说DFT变换的频谱范围是在竖轴的右侧(>0),而且取了FT变换的一个周期(0,2*pi)。

三、DFT与傅里叶变换和Z变换的关系



四、DFT的周期性

以下的四个式子,在程序设计和理解程序中经常用到,wd、wa分别为数字角频率和其对应的模拟角频率。
(1)
,描述了模拟角频率、数字角频率以及DFT变换的k之间的对应关系
(2)
,描述了数字角频率与模拟角频率之间的关系
(3)
,描述了数字角频率和DFT变换的k之间的关系
(4)
,描述了模拟角频率和DFT变换的k之间的关系
五、matlab实验
1、程序
M=; %原离散信号有4点
n=[::M-]; %原信号是1行4列的矩阵
xn=[ ]; %构建原始信号
subplot(,,);
stem(n,xn); %画图
title('原始信号'); N=; %16点DFT变换
k=[::N-]; %k取值为0,,,···,
Wn=exp(-j**pi/N); %求Wn
X=xn*(Wn.^(n'*k)); %求DFT变换,原始定义的方法,对复指数分量求和而得
subplot(,,);
stem(k,abs(X));
title('原信号的16点DFT变换'); N1=; %8点DFT变换
k1=[::N1-]; %k取值为0,,,···,
Wn1=exp(-j**pi/N1); %求Wn1
X1=xn*(Wn1.^(n'*k1)); %求DFT变换,采用原始定义的方法,对复指数分量求和而得
subplot(,,);
stem(k1,abs(X1));
title('原信号的8点DFT变换');
说明:
(1)DFT的计算利用的是定义法
(2)程序第10行

程序第11行计算过程


2、实验结果

说明:上图结果证明了离散傅里叶变化是对FT变化在区间(0,2*pi)的等间距N点采样。
参考:西电《数字信号处理》第三版
离散傅里叶变换(DFT)的更多相关文章
- 灰度图像--频域滤波 傅里叶变换之离散傅里叶变换(DFT)
学习DIP第23天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...
- 【转】离散傅里叶变换-DFT(FFT)基础
转:https://blog.csdn.net/zhangxz259/article/details/81627341 什么是离散傅里叶变换 matlab例子 本文是从最基础的知识开始讲解,力求用最通 ...
- 离散傅里叶变换DFT入门
网上对于傅里叶变换相关的文章很多(足够多),有的是从物理相关角度入场,有的从数学分析角度入场.对于有志学习相关概念的同学还是能够很好的理解的. 数学包括三大块:代数学.几何.数学分析.前两块我们在中学 ...
- 用matlab脚本语言写M文件函数时用三种方法简单实现实现DFT(离散傅里叶变换)
%用二重循环实现DFT: function xk=dt_0(xn); %define a function N=length(xn); %caculate the length of the vari ...
- c语言数字图像处理(六):二维离散傅里叶变换
基础知识 复数表示 C = R + jI 极坐标:C = |C|(cosθ + jsinθ) 欧拉公式:C = |C|ejθ 有关更多的时域与复频域的知识可以学习复变函数与积分变换,本篇文章只给出DF ...
- opencv 3 core组件进阶(3 离散傅里叶变换;输入输出XML和YAML文件)
离散傅里叶变换 #include "opencv2/core/core.hpp" #include "opencv2/imgproc/imgproc.hpp" ...
- OpenCV离散傅里叶变换
离散傅里叶变换 作用:得到图像中几何结构信息 结论:傅里叶变换后的白色部分(即幅度较大的低频部分),表示的是图像中慢变化的特性,或者说是灰度变化缓慢的特性(低频部分). 傅里叶变换后的黑色部分(即幅度 ...
- Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)
我是做Tracking 的,对于速度要求非常高.发现傅里叶变换能够使用. 于是学习之. 核心: 最根本的一点就是将时域内的信号转移到频域里面.这样时域里的卷积能够转换为频域内的乘积! 在分析图像信号的 ...
- 【算法•日更•第四十二期】离散傅里叶变换(DFT)
▎前言 小编相当的菜,这篇博客难度稍高,所以有些可能不会带有证明,博客中更多的是定义. 我们将要学到的东西: 复数 暴力多项式乘法 DFT 当然,小编之前就已经写过一篇博客了,主要讲的就是基础多项式, ...
随机推荐
- 003-python列表
Python 列表(list) 列表是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 列表的基本操作: 索引 切片 追 ...
- js实现table中前端搜索(模糊查询)
项目中用到js前端搜索功能,根据 姓名或姓名 进行 搜索,实现方法如下,遍历table所有行中的某列,符合条件则置tr为display:'',不满足条件置tr为display:none. 代码如下: ...
- c#基础语言编程-正则表达式基础
引言 正则表达式是一种用高度抽象的字符串来描述字符串特征,进而实现对字符串的匹配.提取.替换等等.正则表达式(以下简称正则,Regex)通常不独立存在,各种编程语言和工具作为宿主语言提供对正则的支持, ...
- DataGridView 列大写、列只能输入数字 分类: DataGridView 2014-12-07 08:40 332人阅读 评论(0) 收藏
列大写: 说明:调用EditingControlShowing事件 private void dgvGoods_EditingControlShowing(object sender, DataGri ...
- winform datetimepacker 开始日期 结束日期 分类: WinForm 2014-07-15 19:14 124人阅读 评论(0) 收藏
dtpStart;//开始日期 dtpEnd;//结束日期 1:开始日期小于结束日期 加载dtpEnd的ValueChanged事件即可. //开始日期小于结束日期 private v ...
- MySql The service could not be started
MySql安装 由于需要用mySql数据库今天就把它安上了,每次安装软件,数据库总是够我们折腾的,有时出现错误甚至比重装系统还要让人头疼. 今天在安的过程中就不出了很多错误,在重启与重装的反复捣鼓中终 ...
- Maven实现Web应用集成測试自己主动化 -- 部署自己主动化(WebTest Maven Plugin)
上篇:Maven实现Web应用集成測试自己主动化 -- 測试自己主动化(WebTest Maven Plugin) 之前介绍了怎样在maven中使用webtest插件实现web的集成測试,这里有个遗留 ...
- DSPack各种使用方法
1. DSPack 2.3.4 安装 一. 下载由于sourceforge最近不能访问,所以可以去 http://www.progdigy.com/ 下载.下载 http://www.progdi ...
- 移植opencv库到zedboard(制作运行库镜像) 分类: OpenCV ZedBoard ubuntu shell Eye_Detection 2014-11-08 18:48 172人阅读 评论(0) 收藏
主要参考rainysky的博客 http://ledage.eefocus.com/sj229335457/blog/13-06/295352_ad954.html opencv的话只需要将lib这个 ...
- Java的演变过程
1. 1996.01.23 JDK1.0 代号Oak:212个类.8个包: 2. 1997.02.19 JDK1.1 504个类.23个包: Java Bean.远程方法调用(RMI).JAR文件格式 ...