一维傅里叶变换后的复数怎样理解?

2023-05-16

 

我刚开始学傅氏变换也有这样的疑问!
首先回答问题一:为什么一个实信号经过傅氏变换后,再反变换回来得到的是一个复数。
这是由于matlab计算引起的,你在计算傅氏反变换后引入了复数,最后反变换的结果肯定也是复数。

问题二:傅氏变换后的实部和虚部有啥意义?
傅氏变换的思想就来自于高等数学里面的三角级数展开,高等数学里面的级数展开理论是:对于有限区间上的有限信号,都可以展开成以一系列不同正弦和余弦函数的叠加(就是用不同频率的正余弦信号分量叠加就得到了该原始信号)。傅氏变换后得到的复数,实部就代表该频率下的余弦信号分量,虚部就代表该频率下的正弦信号分量。

问题三:复数的模和相位有啥意义?
傅氏变换后得到的复数的模就是该频率下对应的正弦信号的振幅和余弦信号的振幅的绝对值的平方在开根。相位的意义就是该模乘以这个相位角的余弦值就得到了该频率下的余弦信号的振幅,乘以正弦值就得到了该频率下的正弦信号的振幅。

说到频谱,必须提到一个概念

傅里叶变换:很通俗的理解这个概念是怎么理解呢?傅里叶变换是将时域信号转变为频域信号。

什么是时域信号?
时域信号:通俗的理解为 随时间变化的量,注意变量是时间。

什么是频域信号?
频域信号:相对于时域信号的理解,那就是可以很简单的认为变量是 随频率变化的量,注意是频率。

好像我没怎么解释清楚。看关键看关键,傅里叶变换傅里叶变换傅里叶变换。重要的就是傅里叶变换

式中f(t)代表的是随时间变化的函数,t代表的是时间,w代表的是频率,看到频率了吧,是不是t->w了(时间到频率了),是不是代表了时域信号到频域信号。

好,现在知道傅里叶变换的效果了吧。

我们再来看看时域信号和频域信号之间的关系:

时域—>频域
连续—>非周期
离散—>周期
周期—>离散
非周期—>连续

即时域连续信号,频域是非周期信号;时域离散信号,频域就是周期信号;时域周期信号,频域就是离散信号;时域是非周期信号,频域就是连续信号。

至于为什么?我相信很多人也不怎么清楚,只是把上面的结果给记下来了而已吧。如果想理解深透的话,建议可以去看 信号与系统 这本书,我还在总结中。

接下来我想简单聊聊我近期对于复数的相关理解。

复数:复数的产生肯定是因为实数信号不足以处理我们碰到的问题才产生的。加入了复数有什么好处呢? a+bi 就这么简单的式子说明了什么?看上面的傅里叶变换中的j,上面的j和这里的i是相对应的。想到了什么?对,就是欧拉公式

将这里的θ可以变成我们想要的任何参数,如w,是不是就都可以变换了。

相信大家在学傅里叶变换的时候,都知道频谱吧,频谱是由幅度谱和相位谱构成的。在这里,大家可以看看复数,a+bi ,既包含了幅度又包含了相位信息。所以很多时候,我们对信号运算时大多都是复数信号,特别是MATLAB中。

如果错误,望指出,谢谢。
 

本章所有的滤波都是通过傅里叶变换在频率域中实现的,傅里叶变换在诸如图像增强、图像复原、图像数据压缩等方面起着很重要的作用

傅里叶变换是实现从空域或时域到频域的转换工具

粗浅理解:
上一章的空间滤波是在空域中操作的可以对图像直接进行操作,而这章的频率滤波需要在频域中操作,因此需要借助傅里叶变换得到相应图像的傅里叶变换,然后使用频域滤波对其傅里叶变换进行操作,最后借助卷积定理得到滤波的图像

傅里叶谱:

相角定义:

功率谱:


DFT(Discrete Fourier Transform):离散傅里叶变换

FFT(Fast Fourier Transformation):离散傅氏变换(DFT)的快速算法

频谱:频域图像

频率域原点处变换的值[如 F(0,0)]称为傅里叶变换的直流分量

具体傅里叶变换的过程理解过程可参考:
[1] https://www.cnblogs.com/RabbitHu/p/FFT.html
[2] https://www.cnblogs.com/h2zZhou/p/8405717.html
 

下面是一段采样频率为44100Hz的离散语音信号.


横坐标是时间, 纵坐标是振幅(音量).

 

时域可以直观的看出音量关于时间的变化,各个频率(音调)音量的分量看不出来.
这个时候就可以用傅立叶变换把时域信号转化到频域

对于一个很小的时间区间(语音帧), 音调近似看作不变.

 

傅立叶变换, 将时域信号分解为不同的频率, 振幅的三角函数.


离散公式表示:
[公式]

 

这里的[公式]就是虚数, 其中一个是该频率下sin的分量, 另一个是cos的分量.

 

假设只有一个数[公式]的话:
[公式]一定过原点,级数[公式]也一定过原点,这样的级数就只能描述指定相位的周期函数, 不具有普适性(只能表示频率而丢失了相位的信息).
[公式], 可以表示频率, 也可以表示相位, 这种级数就可以描述任意周期函数.

(一般没有采用[公式]这种表示形式的原因是不便于设计算法进行求解。)

虚数列[公式]包含了该语音帧各个频率正弦波的振幅和相位.

频率(音调): [公式]

振幅(音量): [公式]

相位: [公式]

某个语音帧的频谱图如下x轴为频率y轴为振幅:

 

所有谐波震荡中频率最小者称为基本频率(基频),而基频高低决定了乐器弹奏此音符的音高。几乎所有乐器除了可发出基频音以外亦会伴随着较高频的声音,称为泛音。
理论上,泛音的频率分别为基频的2、3、4、5、6、…等倍。


所有语音帧找到基频,转化为音调,如下图:

     频域中关于频率的四种表示方法
 
1、序号表示方法,根据时域中信号的样本数取0 ~ N/2,用这种方法在程序中使用起来可以更直接地取得每种频率的幅度值,因为频率值跟数组的序号是一一对应的: X[k],取值范围是0 ~ N/2;
2、分数表示方法,根据时域中信号的样本数的比例值取0 ~ 0.5: X[ƒ],ƒ = k/N,取值范围是0 ~ 1/2;
3、用弧度值来表示,把ƒ乘以一个2π得到一个弧度值,这种表示方法叫做自然频率(natural frequency):X[ω],ω = 2πƒ = 2πk/N,取值范围是0 ~ π;
4、以赫兹(Hz)为单位来表示,这个一般是应用于一些特殊应用,如取样率为10 kHz表示每秒有10,000个样本数:取值范围是0到取样率的一半。

傅里叶变换后,包含实部和虚部。当输入信号是纯实数,按照傅里叶变换的奇偶对称性质,有:输入信号中的偶对称分量变换为实部,奇对称分量变换为虚部。

 

 

 

 

 

 

 

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

一维傅里叶变换后的复数怎样理解? 的相关文章

  • 11种图像清晰度评价函数

    典型无参考图像清晰度评价 xff08 可用作对焦评价函数 xff09 Tenengrad评价函数 Tenengrad函数是一种由Tenenbaum提出的 xff0c 基于梯度的常用图像清晰度评价函数 特南梯度 在图像处理中 xff0c 一般
  • TouchGFX界面开发 | C++基础

    C 43 43 基础 TouchGFX是一个基于STM32硬件 xff0c 由C 43 43 写成的软件框架 xff0c 所以有必要对C 43 43 基础有一定的了解 一 C 43 43 新特性 C 语言里 xff0c 变量初始化必须在程序
  • 一种新的图像清晰度评价函数

    自动聚焦是机器人视觉 数字视频系统中的关键技术之 是决定图像质量的重要因素 是获取清晰图 像的第1步 聚焦性能取决于调焦评价函数的准确性和有效性 即评价函数必须具有无偏性好 单峰性强和 较好的抗噪性能 图像模糊的本质是高频分量的损失 聚焦图
  • 遍历Opencv中Mat中每个像素的值

    首先 xff0c 在Opencv2中基本上都是用的Mat来表示图像了 xff0c C 43 43 的函数调用中基本上也都是Mat图 xff0c 从根本上说 xff0c 一张图像是一个由数值组成的矩阵 xff0c 矩阵的每一个元素代表一个像素
  • 遍历opencv中的mat像素的几种方法和概念

    今天在看矩形滤波的时候忽然脑子短路 xff0c 把一些概念全弄混了 xff0c 现总结一下 xff0c 以便下次再混的时候可以参考确认下 xff0c 自己的理解 xff0c 有错的地方还请指正 首先 xff0c 在Opencv2中基本上都是
  • C#中的Lock锁深入理解

    lock语句 lock 语句获取给定对象的互斥 lock xff0c 执行语句块 xff0c 然后释放 lock 持有 lock 时 xff0c 持有 lock 的线程可以再次获取并释放 lock 阻止任何其他线程获取 lock 并等待释放
  • C#四种相等性判断方法 equals,referenceEquals

    C 中的ReferenceEquals Equals以及 61 61 C 中有一共有四种相等性判断方法 xff1a Object中定义的三个方法 public static bool ReferenceEquals object objLe
  • C++的Opencv动态库遇到的问题

    1 c 中的位图传入时注意bitmapdata的 stride这个参数 xff0c 步幅 xff0c 图像宽度 通道数 xff0c 必须是整4的倍数貌似 xff0c 待确定 2 某个对象正在在使用的异常 xff0c 用lock锁锁住共享资源
  • C#内存分配概念

    在C 中 xff0c 内存分成5个区 xff0c 他们分别是堆 栈 自由存储区 全局 静态存储区和常量存储区 栈 xff0c 就是那些由编译器在需要的时候分配 xff0c 在不需要的时候自动清楚的变量的存储区 里面的变量通常是局部变量 函数
  • C#中Marshal 类的内存操作的一般功能概述

    Marshal 类的内存操作的一般功能 Marshal类 提供了一个方法集 xff0c 这些方法用于分配非托管内存 复制非托管内存块 将托管类型转换为非托管类型 xff0c 此外还提供了在与非托管代码交互时使用的其他杂项方法 命名空间 Sy
  • C# Marshal的使用,非托管内存中分配内存注意的问题

    IntPtr ptr 61 Marshal AllocHGlobal 704 576 3 如果没有手动释放内存 xff0c 会有内存溢出 xff1b 发生OutOfMemoryException 没有足够的内存继续执行程序时引发的异常 调用
  • Lock锁的问题

    多个线程共用一个锁时 xff0c 同一时间只有一个可获得锁执行 xff0c 其他线程会阻塞进入队列 xff0c 按理解事件如果是多线程的 xff0c 那么每次事件触发的含lock的函数都会将进入队列等待 xff0c 越排越多 需待实验证明
  • SVN的Status字段含义小记

    执行SVN up和svn merge等命令出现在首位置的各字母含义如下 xff1a 无修改 A 新增 C 冲突 D 删除 G 合并 I 忽略 M 改变 R 替换 X 未纳入版本控制 xff0c 但被外部定义所用 未纳入版本控制 该项目已遗失
  • c#中在工作线程创建窗体并操作

    实例1 public void CycleShow 循环绘图 Task Factory StartNew 61 gt threadB 61 new Thread 61 gt AllDealWithSpectrumDicSingle Clea
  • c#绘制星图靶标实例

    public partial class Form2 Form public Form2 InitializeComponent private void button1 Click object sender EventArgs e Ta
  • C#工作线程创建窗体及绘制星图实例

    public partial class Form2 Form public Form2 InitializeComponent private void button1 Click object sender EventArgs e Ta
  • 委托事件的线程问题

    事件注册方法或委托后 xff0c 事件所在的线程执行注册的方法或委托 xff0c 所以如果方法中有跨线程控件就需要使用invoke等处理
  • 怎么判断应用程序是多少位运行的

    C 中 int bitSize 61 IntPtr Size 指针多少字节 if bitSize 61 61 8 MessageBox Show 34 64位程序 34 else if bitSize 61 61 4 MessageBox
  • 图像的色彩类别,灰度化,二值化

    灰度化 xff1a 在RGB模型中 xff0c 如果R 61 G 61 B时 xff0c 则彩色表示一种灰度颜色 xff0c 其中R 61 G 61 B的值叫灰度值 xff0c 因此 xff0c 灰度图像每个像素只需一个字节存放灰度值 xf

随机推荐

  • 服务器与客户端概念

    比如说 xff0c 你浏览百度的网页 xff0c 你的电脑就是客户端 xff0c 而百度网页所存放的机器就是服务器 你通过internet互联网连到百度网页服务器 xff0c 才能浏览网页 再比如说 xff0c 你玩网络游戏 xff0c 你
  • 图像灰度图,直方图,像素通道问题

    1 图像直方图概述 直方图广泛运用于很多计算机视觉运用当中 xff0c 通过标记帧与帧之间显著的边缘和颜色的统计变化 xff0c 来检测视频中场景的变化 在每个兴趣点设置一个有相近特征的直方图所构成 标签 xff0c 用以确定图像中的兴趣点
  • 深入浅出的讲解傅里叶变换(真正的通俗易懂)

    我保证这篇文章和你以前看过的所有文章都不同 xff0c 这是 2012 年还在果壳的时候写的 xff0c 但是当时没有来得及写完就出国了 于是拖了两年 xff0c 嗯 xff0c 我是拖延症患者 这篇文章的核心思想就是 xff1a 要让读者
  • 理解图像傅里叶变换的频谱图

    很多人都不了解图像 xff08 二维 xff09 频谱中的每一点究竟代表了什么 xff0c 有什么意义 一句话解释为 xff1a 二维频谱中的每一个点都是一个与之一 一对应的二维正弦 余弦波 视觉的优势永远大于其他器官对人的作用 xff0c
  • 机器视觉自动数据标注方法

    目录 一 背景阅读 个人总结 xff1a xff08 半 xff09 自动数据标注的方法基本都是采用类似的思路 xff0c 即通过少量标注数据进行训练后得到一个预训练模型 xff0c 然后再次基础上对该网络的输出结果进行人工核验 xff0c
  • 理解图像的傅里叶变换

    最近在看图像的傅里叶变换 xff0c 看着频谱图一直没看明白到底为啥是那样的 xff0c 跟同学研究了好久 xff0c 终于想明白了 感谢同学的耐心指导 xff01 大家相互讨论真的很快就能出结果 xff0c 多讨论 xff0c 多学习 图
  • 快速傅里叶变换(FFT)详解

    快速傅里叶变换 xff08 FFT xff09 详解 xff08 这是我第一次写博 xff0c 不喜勿喷 xff09 关于FFT已经听闻已久了 xff0c 这次终于有机会在Function2的介绍下来了解一下FFT了 快速傅里叶变换 Fas
  • 图像处理:如何理解傅里叶变换在图像处理中的应用

    声明 xff1a 这篇文章的主要目的是通过建立一维傅里叶变换与图像傅里叶变换中相关概念的对应关系来帮助读者理解图像处理中的离散傅里叶变换 xff0c 因此 xff0c 理解图像中离散傅里叶变换的前提条件是读者需要了解一维傅里叶变换的基本知识
  • 图像处理中的傅里叶变换和频率域滤波概念

    写在前面的话 作者是一名在读的硕士研究僧 xff0c 方向是机器视觉 由于视觉是一门相对复杂的学科 xff0c 作者在课堂上学到的东西只是非常浅显的内容 xff0c 我们老师说是 xff0c 领我们进了个门 现在打算利用图书馆和网络上的资源
  • 图像处理的傅里叶变换理解

    傅立叶变换在图像处理中有非常非常的作用 因为不仅傅立叶分析涉及图像处理的很多方面 xff0c 傅立叶的改进算法 xff0c 比如离散余弦变换 xff0c gabor与小波在图像处理中也有重要的分量 印象中 xff0c 傅立叶变换在图像处理以
  • 傅里叶变换分类

    傅里叶变换 傅里叶变换 xff08 Fourier transform xff09 是一种线性的积分变换 xff0c 从时间转换为频率的变化 1 1 连续傅里叶变换 这是将频率域的函数F 表示为时间域的函数f xff08 t xff09 的
  • C++实现二维离散傅里叶变换

    在上一篇文章 C 43 43 实现一维离散傅里叶变换 中 xff0c 我们介绍了一维信号傅立叶变换的公式和C 43 43 实现 xff0c 并阐述了频域幅值的意义 一维傅立叶变换只适用于一维信号 xff0c 例如音频数据 心脑电图等 在图像
  • MFC显示JPG,bmp图片

    主要代码如下 xff1a 方法说明 显示JPG和GIF BMP图片 参数说明 CDC pDC 设备环境对象 参数说明 CString strPath 要显示的图片路径 参数说明 int x 要显示的X位置 参数说明 int y 要显示的Y位
  • MFC关于JPG图片显示处理的几个方式

    做远程视频监控项目 xff0c 接触较多图片处理方面问题 xff0c 作为学习做以下记录 xff1a 一 截图默认bmp格式转jpg压缩 采用jpglib库去实现 二 jpg图片接收后MFC显示 四种方式 MFC提供的CWnd只有默认加载B
  • opencv学 之图像傅里叶变换dft

    一 前言 接触了图像的傅里叶变换 xff0c 数学原理依旧不是很懂 xff0c 因此不敢在这里妄言 下午用Opencv代码实现了这一变换 xff0c 有一些经验心得 二 关键函数解析 2 1copyMakeBorder 扩展图片尺寸 傅里叶
  • UML轻松入门之动态建模

    在UML中 xff0c 静态建模可以描述系统的组织结构 xff0c 而动态建模则可以描述系统的行为和动作 在动态建模机制中 xff0c 以消息完成对象之间的交互 xff0c 用状态图 顺序图 协作图和活动图来描述系统的行为 消息 在面向对象
  • C++实现 (FFT)一维快速傅里叶变换

    一维离散傅里叶变换的公式为 xff1a 如果直接基于该定义进行编程实现 xff0c 则算法时间复杂度为O N2 具体的编程实现我们已经在 C 43 43 实现一维离散傅里叶变换 中介绍过了 当一维信号长度达到几十万个信号时 xff0c 当前
  • 信号傅里叶变换后的实数和虚数部分理解

    傅里叶 xff08 FFT DFT 傅立叶 Fourier xff09 傅里叶变换的结果为什么含有复数 xff1f 为什么傅里叶变换的结果含有复数成份 xff1f 看了很多关于FFT的资料 xff0c 现在看到一个资料说FFT转换的结果是实
  • 从头到尾彻底理解傅里叶变换算法

    http www xuebuyuan com 2052774 html 经典算法研究系列 xff1a 十 从头到尾彻底理解傅里叶变换算法 上 作者 xff1a July dznlong 二零一一年二月二十日 推荐阅读 xff1a The S
  • 一维傅里叶变换后的复数怎样理解?

    我刚开始学傅氏变换也有这样的疑问 xff01 首先回答问题一 xff1a 为什么一个实信号经过傅氏变换后 xff0c 再反变换回来得到的是一个复数 这是由于matlab计算引起的 xff0c 你在计算傅氏反变换后引入了复数 xff0c 最后