离散傅里叶变换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 当然,小编之前就已经写过一篇博客了,主要讲的就是基础多项式, ...
随机推荐
- SpringMVC拦截html页面访问
在 web.xml 配置文件 原本的前端控制器后面加一个 servlet-mapping 即可简单解决 虽能解决 html 访问的问题,但不清楚是否对后面的操作产生何种影响 <servlet&g ...
- 设置RAC DB归档
1.关闭集群数据库 srvctl stop database -d RAC 2.将节点一设置为归档模式 sqlplus / as sysdba startup mount alter database ...
- 11g RAC 集群数据库不能跟随集群启动
1.查看集群资源详细情况 [oracle@rac01-+ASM1 ~]$ crsctl stat res -p 2.修改集群资源ora.rac.db的auto_start属性改为always [ora ...
- c++ 解析yaml文件
一直用c++操作ini做配置文件,想换成yaml,在全球最大的同性交友网站github上搜索,看有没有开源的库,功夫不负有心人,找到了yaml-cpp,用他解析了一个yaml的例子非常好使,分享一下如 ...
- 第一篇:docker 简单入门(一)
本篇目录 写在最前面的话 docker概念介绍 镜像的概念.容器的概念 docker的安装介绍 写在最前面的话 由于此类文章博客园鉴定为简单文章,所以已经移到csdn[https://blog.csd ...
- Django DRF 分页
Django DRF 分页 分页在DRF当中可以一共有三种,可以通过setttings设置,也可也通过自定义设置 PageNumberPagination 使用URL http://127.0.0.1 ...
- 移动端 FileReader文件上传
一.file上传文件 <input type="file" multiple> multiple 设置多选 通过change事件监听是否上传文件 files 属性获 ...
- 刚入坑之C#《方法》解说
说好的用一周时间学方法,我都快耽误成两周了.原因就是跟着传智播客的课程做了个飞行棋项目,想要梳理其中的方法却把自己绕晕了.那接下来我先说一下我学到方法的内容,在最后献上飞行器项目的代码,当然是传智播客 ...
- matplotlib的学习16-animation动画
from matplotlib import pyplot as plt from matplotlib import animation import numpy as np fig, ax = p ...
- 【原创】Linux PCI驱动框架分析(一)
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...