电子发烧友网>可编程逻辑>FPGA/ASIC技术> > 正文

理解FFT和信号加窗原理及意义

2017年11月16日 18:07 次阅读

学习信号时域和频域、快速傅立叶变换(FFT)、加窗,以及如何通过这些操作来加深对信号的认识。

1. 理解时域、频域、FFT

傅立叶变换有助于理解常见的信号,以及如何辨别信号中的错误。 尽管傅立叶变换是一个复杂的数学函数,但是通过一个测量信号来理解傅立叶变换的概念并不复杂。 从根本上说,傅立叶变换将一个信号分解为不同幅值和频率的正弦波。 我们继续来分析这句话的意义所在。
 

所有信号都是若干正弦波的和

我们通常把一个实际信号看作是根据时间变化的电压值。 这是从时域的角度来观察信号。 傅立叶定律指出,任意波形在时域中都可以由若干个正弦波和余弦波的加权和来表示。 例如,有两个正弦波,其中一个的频率是另一个的3倍。 将两个正弦波相加,就得到了一个不同的信号。

 图1: 两个信号相加,得到一个新的信号。

图1: 两个信号相加,得到一个新的信号。

假设第二号波形幅值也是第一个波形的1/3。 此时,只有波峰受影响。

图2:信号相加时调整幅值影响波峰。

图2:信号相加时调整幅值影响波峰。

假加上一个幅值和频率只有原信号1/5的信号。 按这种方式一直加,直到触碰到噪声边界,您可能会认出结果波形。

图3:方波是若干正弦波的和。

图3:方波是若干正弦波的和。

您创建了一个方波。 通过这种方法,所有时域中的信号都可表示为一组正弦波。

即使可以通过这种方法构造信号,那意味着什么呢? 因为可以通过正弦波构造信号,同理也可以将信号分解为正弦波。 一旦信号被分解,可查看和分析原信号中不同频率的信号。 请参考信号分解的下列使用实例:

分解广播信号,可选择要收听的特定频率(电台)。

将声频信号分解为不同频率的信号(例如,低音、高音),可增强特定频段,移除噪声。

根据速度和强度分解地震波形,可优化楼宇设计,避免强烈震动。

分解计算机数据时,可忽略频率重要性最低的数据,这样就能更紧凑地利用内存。这就是文件压缩的原理。

使用FFT分解信号

傅立叶变换将一个时域信号转换为频域信号。 频域信号显示了不同频率对应的电压。 频域是另一种观察信号的角度。

数字化仪对波形进行采样,然后将采样转换为离散的值。 因为发生了转换,傅立叶转换在这些数据上无法进行。 可使用离散傅立叶变换(DFT),其结果是离散形式的频域信号。 FFT是DFT的一种优化实现,计算量较少,但是本质上是对信号的分解。

请查看上图1中的信号。 有两个频率不同的信号。在该情况下,频域中就会显示两条表示不同频率的竖线。

图4:当相同幅值的两个正弦波相加,在频域中就显示为两条频率竖线。

图4:当相同幅值的两个正弦波相加,在频域中就显示为两条频率竖线。

原信号的幅值在竖轴上表示。 图2中有个不同幅值的信号。频域中最高的竖线对应于最高电压的正弦信号。 在频域里观察信号,可直观地看出最高电压发生在哪个频率上。

图5: 最高的竖线是幅值最大的频率。

图5: 最高的竖线是幅值最大的频率。

在频域里也可观察到信号的形状。 例如,频域中方波信号的形状。 使用不同频率的正弦波创建一个方波。即可预见,在频域中,这些信号都会被表示为一根竖线,每一根竖线都表示组成方波的正弦波。 如频域中,竖线显示为一个梯度,就可知道原信号是一个方波信号。

图6: 频域中表示正弦波的竖线呈现为一个梯度。

图6: 频域中表示正弦波的竖线呈现为一个梯度。

123下一页全文

本文导航

  • 第 1 页:理解FFT和信号加窗原理及意义
  • 第 2 页:MSO
  • 第 3 页:加窗函数

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

【嵌入式】利用arm-DSP库进行FFT计算,获得信号的频谱、幅值及相位(下) 精选资料推荐

代码终于要来了,那么咱们就一步一步来。核心代码就三个文件——data.c data.h ffttest.c,其中data.c data.h为数据的准...
发表于 2021-08-18 07:47 0次阅读
【嵌入式】利用arm-DSP库进行FFT计算,获得信号的频谱、幅值及相位(下)  精选资料推荐

STM32F4函数进行FFT运算

测试环境:单片机:STM32F407ZGT6  IDE:Keil5.20.0.0 固件库版本:STM32F4xx_DSP_StdP...
发表于 2021-08-18 06:26 0次阅读
STM32F4函数进行FFT运算

封装一个FFT函数进行简单的测试

C语言版FFT简单测试本次我们来自己封装一个FFT函数,进行简单的测试。fft.c#include "math.h"#include "fft.h"...
发表于 2021-08-17 09:30 0次阅读
封装一个FFT函数进行简单的测试

在STM32上怎么用FFT

STM32F7 DSP库 FFT过程记录目录STM32F7 DSP库 FFT过程记录目录准备DSP库函数说明代码示例结果...
发表于 2021-08-17 09:19 0次阅读
在STM32上怎么用FFT

利用FFT运算实现信号的重构

说明:利用FFT运算实现信号的重构一、 信号建模% Use Fourier transforms to find the frequency components of a...
发表于 2021-08-17 08:13 0次阅读
利用FFT运算实现信号的重构

使用Matlab读取TXT文件并做FFT分析

之前的LTC2208评估圆满完成。现在可以开始下一步的工作了。...
发表于 2021-08-17 07:42 0次阅读
使用Matlab读取TXT文件并做FFT分析

利用固定数组进行256点FFT运算的程序

FFT是DFT的快速计算方法,在信号处理中具有“万金油”一般的作用。在STM32中依然能够对信号进行快速傅里叶变...
发表于 2021-08-17 07:24 0次阅读
利用固定数组进行256点FFT运算的程序

FFT变换结果的物理意义

第26章 FFT变换结果的物理意义 FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是...
发表于 2021-08-17 06:57 0次阅读
FFT变换结果的物理意义

STM32 DSP库定点FFT变换追踪源代码

q15_t testInput[64]; q15_t testOutput[32];q15_t ADC_In[32]{100,200,300,400,100,200,300,400,100,200,300,4...
发表于 2021-08-17 06:22 0次阅读
STM32 DSP库定点FFT变换追踪源代码

STM32F4使用FPU+DSP库进行FFT运算

测试环境:单片机:STM32F407ZGT6  IDE:Keil5.20.0.0 固件库版本:STM32F4xx_DSP_StdP...
发表于 2021-08-17 06:10 0次阅读
STM32F4使用FPU+DSP库进行FFT运算

给予米勒循环和阿特金森循环的发动机配气机构公差如...

  进气歧管压力测量可用于检测特定发动机的实际气门正时,从而可在线调节气门关闭状态,并与参考发动机进....
发表于 2021-08-09 09:28 1411次阅读
给予米勒循环和阿特金森循环的发动机配气机构公差如...

实时频谱分析仪中如何选择合适的FFT窗函数

摘要 本文主要介绍了常见的窗函数以及窗函数有什么用,以及在实时频谱分析中,该如何选择合适的加窗方式。....
发表于 2021-05-24 09:11 497次阅读
实时频谱分析仪中如何选择合适的FFT窗函数

关于FPGA的雷达杂波速度谱图的实现方法

在雷达信号处理中,为了对低速运动杂波进行有效的抑制,研究了一种杂波速度谱图的建立方法。此杂波速度谱图....
发表于 2021-05-05 14:23 428次阅读
关于FPGA的雷达杂波速度谱图的实现方法

基于ADC量化对于中性氢观测影响的研究分析

随着数字技术的日益发展,应用在天文观测领域的数字信号处理技术也越来越成熟。本文针对ADC量化对于中性....
发表于 2021-04-15 13:49 486次阅读
基于ADC量化对于中性氢观测影响的研究分析

做一个简易示波器的思路和FFT分析

项目需求 完成对板上音频信号的采集和波形显示,可以通过手机播放音乐或App产生音频信号的方式提供声音....
发表于 2021-04-01 10:20 592次阅读
做一个简易示波器的思路和FFT分析

傅里叶变换和拉普拉斯变换与Z变换到底有什么的联系...

在知乎上看到一个问题,傅里叶变换、拉普拉斯变换、Z 变换的联系是什么?为什么要进行这些变换?我觉得这....
发表于 2021-02-15 11:59 1695次观看
傅里叶变换和拉普拉斯变换与Z变换到底有什么的联系...

示波器FFT进行频谱分析不靠谱吗 怎样才能解决呢

    示波器被评为最常用的电子调试工具,因其强大的功能和通用性被广泛的应用。但随着电子技术的发展工....
发表于 2021-01-27 09:56 910次阅读
示波器FFT进行频谱分析不靠谱吗 怎样才能解决呢

基于STM32F103C8T6的音频显示设计

0. 开机默认音频模式,按下S1进入麦克风模式,输入电压DC12~24V。 1. 六种音频显示模式(....
发表于 2020-12-07 10:36 1461次阅读
基于STM32F103C8T6的音频显示设计

为什么使用傅里叶变换 FFT变换的基本原理

1.FFT变换的基本原理 傅立叶变换是数字信号处理领域一种很重要的算法,可以将一个信号从时域变换到频....
发表于 2020-11-09 16:52 2468次阅读
为什么使用傅里叶变换 FFT变换的基本原理

示波器FFT功能分析

示波器有很多好的功能,大部分需要付费才能用,今天写的FFT功能,是示波器本身就有的功能,不需要额外费....
发表于 2020-10-22 10:41 1236次阅读
示波器FFT功能分析

浅谈示波器进行FFT频谱分析

我们可以用示波器看到某个信号的时域波形,为什么还要用FFT看这个信号的频域波形?
发表于 2020-07-24 17:58 2767次阅读
浅谈示波器进行FFT频谱分析

MATLAB信号频谱分析FFT深度解析

做OFDM通信少不了频谱分析,基带信号DA后的频谱,以及基带数字上变频后的DA信号都要频谱分析。我觉....
发表于 2020-07-08 08:50 1980次阅读
MATLAB信号频谱分析FFT深度解析

已有50年历史的信号处理难题终于被攻克了

所谓的快速傅立叶变换现在正在您的手机上运行。众所周知,FFT是一种信号处理算法,其使用量超出了您的认....
发表于 2020-04-21 17:28 1522次阅读
已有50年历史的信号处理难题终于被攻克了

ADC测试出现奇怪的FFT结果

当采用ADC来进行测试时,一开始非常顺利,但后来,却突然得到一些奇怪的FFT结果。这究竟是怎么回事呢....
发表于 2019-12-06 16:42 3692次阅读
ADC测试出现奇怪的FFT结果

12位PCIe卡运行FFT应用程序简介

Keysight为其U5303A推出了改进的FFT选项,U5303A是一款PCIe 12位数据采集卡....
发表于 2019-08-07 10:29 1772次阅读
12位PCIe卡运行FFT应用程序简介

采用FPGA实现FFT算法

随着数字技术的快速发展,数字信号处理已深入到各个学科领域。在数字信号处理中,许多算法如相关、滤波、谱....
发表于 2019-05-12 09:36 11236次阅读
采用FPGA实现FFT算法

数字信号处理 FFT分析信号频谱

在DFT谱分析中,当DFT点数N大于数据本身的实际点数L时,相当于在数据后面补上了L-N个0再做DF....
发表于 2019-05-07 14:09 8140次阅读
数字信号处理 FFT分析信号频谱

傅里叶变换的应用 FFT分析信号频谱

数字信号处理中,FFT分析信号频谱是一个重要内容。而频谱分析中,频率分辨率又是一个重要概念。什么是频....
发表于 2019-05-07 09:49 5566次阅读
傅里叶变换的应用 FFT分析信号频谱

在MATLAB中如何对噪声信号进行快速傅里叶变换

日系音响老牌先锋在耳机界沉寂了有好一段时间了,俗话说十年磨一剑,先锋每推出新的耳机都是重量级产品。本....
发表于 2019-04-23 17:24 4029次阅读
在MATLAB中如何对噪声信号进行快速傅里叶变换

FFT实用且高效,相关原理与使用注意事项

抗混叠滤波器最常见的是低通滤波器,此滤波器可以将高于Fs/2的高阶奈奎斯特区频段信号衰减掉,只保留待....
发表于 2019-04-23 15:21 3715次阅读
FFT实用且高效,相关原理与使用注意事项

通俗易懂的讲解FFT的让你快速了解FFT

相信网上现在有很多关于FFT的教程,我曾经也参阅了很多网上的教程,感觉都不怎么通俗易懂。在基本上的研....
发表于 2019-03-24 11:52 21794次阅读
通俗易懂的讲解FFT的让你快速了解FFT