离散傅里叶变换DFT入门
网上对于傅里叶变换相关的文章很多(足够多),有的是从物理相关角度入场,有的从数学分析角度入场。对于有志学习相关概念的同学还是能够很好的理解的。
数学包括三大块:代数学、几何、数学分析。前两块我们在中学阶段一直在用,数学分析(非数学专业以高等数学入门)在大学开始接触
本文从更简单(最简单)的解析几何角度尝试讲一点DFT的入门概念。
解析几何就是把几何用代数学表示,引入了平面直角坐标系,是高中数学的主要部分
一、复数和单位复数根
复数我们在高中已经接触过了。当时为了强调二次方程一定有两个根(而不是更多或更少),引入了虚数单位\(i\),它是-1的平方根:
但实际上反过来不成立,也就是说-1的平方根并不只是\(i\)。想一下为什么?
这样类似于\(2+3i\)这样的_表示_就叫“复数”。其中\(2\)是实部,\(3\)是虚部(注意虚部不是\(3i\),因为\(i\)只是一种约定俗成的字母,实际可以用任何字母。甚至用有序实数对_表示_复数的时候完全不用引入字母)。
这里我们多次使用表示来说复数,是因为复数实际真的不是数(虽然说它是对实数系的扩充)。数的作用是“计数”,要能够比较大小。实数以后的数系都不再能比较了。只是在生产过程中,新的数系能把事情解释的更明白。而且对比来讲,实数上面的运算只是高等数系的一种特殊情况,复数的各种规律依然完全适用于实数。这样看来,用来计数的实数反而是自然界的“副产品”
有了复数概念,我们就可以说n次方程有且只有n个(复数)根。比如:
有4个根。除了我们一眼看出的熟悉的正负1,还有两个虚数根:正负i。
单位复数根就是这么来的:方程
的n个根就叫n次单位复根。
二、与复平面的关系
复平面可以理解为中学的平面直角坐标系,只不过横轴变成了实数轴,纵轴变成了虚数轴。
上图中横轴是实轴,纵轴是虚轴。单位圆与横轴的两个交点左右分别是-1,1;与纵轴的两个交点上下分别是i,-i。
上面提到的4次方程的4个根就是四次单位复根。从复平面看就是:第一个根从原点向实轴正向交于1(任意次单位复根第一个根都是1对吧?),第二个逆时针(或者说正向)转90度(因为3604)到了i,再转90度是第三个根-1,继续转是最后一个-i。
再比如,
的8个八次单位复数根同理可知,分别是
或者用三角函数表示
实际上,每次转动的角度确定以后(这个角度很好算,就是360除以次数,比如8次的就是360/8=45度,对应弧度π/4),第k个根(k从0开始到n-1)就是
可以自行验证。
三、离散傅里叶变换
有了上面的基础知识,我们来定义离散傅里叶变换。
设有向量
对于每一个下标\(j=0,1,...,n-1\),重新计算一个值:
其中\(w_n^j\)是n次单位复根中的第\(j\)个。
这样,离散傅里叶变换就是下面这个向量:
四、练习
请计算向量\(\left[\begin{array}{cccccc}
0&1& 2&3
\end{array}\right]^T\)的DFT。
离散傅里叶变换DFT入门的更多相关文章
- 灰度图像--频域滤波 傅里叶变换之离散傅里叶变换(DFT)
学习DIP第23天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...
- 【转】离散傅里叶变换-DFT(FFT)基础
转:https://blog.csdn.net/zhangxz259/article/details/81627341 什么是离散傅里叶变换 matlab例子 本文是从最基础的知识开始讲解,力求用最通 ...
- 用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离散傅里叶变换
离散傅里叶变换 作用:得到图像中几何结构信息 结论:傅里叶变换后的白色部分(即幅度较大的低频部分),表示的是图像中慢变化的特性,或者说是灰度变化缓慢的特性(低频部分). 傅里叶变换后的黑色部分(即幅度 ...
- 离散傅里叶变换(DFT)
目录 一.研究的意义 二.DFT的定义 三.DFT与傅里叶变换和Z变换的关系 四.DFT的周期性 五.matlab实验 五.1 程序 ...
- Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)
我是做Tracking 的,对于速度要求非常高.发现傅里叶变换能够使用. 于是学习之. 核心: 最根本的一点就是将时域内的信号转移到频域里面.这样时域里的卷积能够转换为频域内的乘积! 在分析图像信号的 ...
- 【算法•日更•第四十二期】离散傅里叶变换(DFT)
▎前言 小编相当的菜,这篇博客难度稍高,所以有些可能不会带有证明,博客中更多的是定义. 我们将要学到的东西: 复数 暴力多项式乘法 DFT 当然,小编之前就已经写过一篇博客了,主要讲的就是基础多项式, ...
随机推荐
- hadoop技术产生
一.为什么有大数据 我的理解是: 1)数据量达到了传统数据库的瓶颈 2)数据量的激增 3)硬件成本的降低 [ 技术水平的上升 ] 4)想通过大量的数据发现潜在的商业价值 二.什么是大数据 大数据指的是 ...
- Java并发编程的艺术(七)——线程间的通信
为什么需要线程间通信 让线程之间合作,提高运行效率. volatile和synchronized关键字 实现原理 这两个方式都是采用共享内存的方式进行通信,通过同步机制保证数据可见性和排他性. 特点 ...
- Java并发编程的艺术(四)——JMM、重排序、happens-before
什么是JMM JMM就是Java内存模型.目的是为了屏蔽系统和硬件的差异,让同一代码在不同平台下能够达到相同的访问结果.规定了线程和内存之间的关系. 内存划分 JMM规定了内存主要划分为主内存和工作内 ...
- 调用windows系统下的cmd命令窗口处理文件
从后缀名为grib2的文件中查询相关的信息,并将查出来的信息保存起来. 主要是学习java中调用windows下的cmd平台,并进行执行相关的命令. package com.wis.wgrib2; i ...
- 微信公众测试号中的url和token
我设置的前提条件: 已购买阿里云服务器,开通了80端口,且网站已备案. 1.在网站文件中新建index.php文件.该文件内容如下: 把 define("TOKEN", " ...
- git相关操作
git相关命令 基本操作 git init git add xxx git commit -m "first commit" git tag -a V1.0 -m '我的标签' g ...
- C语言服务器编程必备常识
入门 包含了正确的头文件只能编译通过,没链接正确的库链接会报错. 一些常用的库gcc会自动链接. 库的缺省路径/lib /usr/lib /usr/local/lib 不知道某个函数在那个库可以nm ...
- Object.assign 之后 点对象 找不到
export function CopyObject(val) { return JSON.parse(JSON.stringify(val)); }
- JavaScript判断视频编码是否为h.264
1.视频编码是什么? 现在视频编码主流是h.264,对应着输入格式为AVC H.264/AVC是2003年制定的视频编码压缩标准 ,集中了以往标准的优点,并吸收了以往标准制定中积累的经验,采用简洁设计 ...
- SharePoint Online之通过JSOM发送邮件
我们在SharePoint 开发过程中,经常会用到发邮件的功能,例如向Manager提醒有需要待办任务等等场景. 图片来自网站,如侵权,速删 一般我们会采用Workflow或者Power Automa ...