【Python】可视化的离散傅里叶变换+快速傅里叶变换后时域信号的频域分析
前面的知识这里就不介绍了,下面是Python语言实现的离散傅里叶变换的处理:
时域信号的函数表达
要处理的时域信号:
f(t)=sin(t)+2sin(3t)+2cos(2t)+4sin(15t)f(t) = sin(t) + 2sin(3t) + 2cos(2t) + 4sin(15t)f(t)=sin(t)+2sin(3t)+2cos(2t)+4sin(15t)
绘制函数图像
import numpy as npimport matplotlib.pyplot as pltdef f(x):return np.sin(x) + 2*np.sin(3*x) + 2*np.cos(3*x) + 4*np.sin(15*x)x = np.linspace(0, 2*np.pi, 2048)plt.scatter(x, f(x))plt.gridplt.show()
下面是可视化出来的时域中信号在一个2π周期内的形态:
Python的fft工具对这段时域信号进行频域分析
import numpy as npfrom scipy.fftpack import fftimport matplotlib.pyplot as pltx = np.linspace(0, 2*np.pi, 128)
y = np.sin(x) + 2*np.sin(3*x) + 2*np.cos(3*x) + 4*np.sin(15*x)# 离散频率
xf = np.arange(len(y))# 由于对称性,因此只取一半区域
xf_half = xf[range(int(len(x)/2))]# 执行完fft以后,对各频率的能量进行归一化处理
yf = abs(fft(y))/len(x)# 由于对称性,因此只取一半区间
yf_half = yf[range(int(len(x)/2))]plt.plot(xf_half, yf_half)plt.show()
可见,图中三个能量最高的峰值点,正对应时域函数
f(t)=sin(t)+2sin(3t)+2cos(2t)+4sin(15t)f(t) = sin(t) + 2sin(3t) + 2cos(2t) + 4sin(15t)f(t)=sin(t)+2sin(3t)+2cos(2t)+4sin(15t)
中合成的三个谐波频率,且能量也和各谐波函数取模后的比例保持一致。
【Python】可视化的离散傅里叶变换+快速傅里叶变换后时域信号的频域分析相关推荐
- 快速傅里叶变换-快速傅里叶变换
快速傅里叶变换-正文 计算离散傅里叶变换的一种快速算法,简称FFT.快速傅里叶变换是1965年由J.W.库利和T.W.图基提出的.采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别 ...
- 傅里叶变换--快速傅里叶变换实现
0.1. 定义 0.1.1. 连续 0.1.2. 离散 0.2. 性质 0.2.1. 分离性 0.2.2. 位移定理 0.2.3. 周期性 0.2.4. 共轭对称性 0.2.5. 旋转性 0.2.6. ...
- 用matlab对excel数据傅里叶变换,快速傅里叶变换_用excel如何作快速傅里叶变换?...
用excel如何作快速傅里叶变换? 具体实例如下: 1.对于时间序列,可以展开成傅立叶级数,进行频谱分析.对于时间序列xt其傅立叶级数展开式为展开成傅立叶级数: 由图可见,图形完全对称,通常只取左半部 ...
- Python中利用FFT(快速傅里叶变换)进行频谱分析
本文将从实例的角度出发讲解fft函数的基本使用,不包含复杂的理论推导. 一.基本条件 要对一个信号进行频谱分析,首先需要知道几个基本条件. 采样频率fs 信号长度N(信号的点数) 采样频率fs:根据采 ...
- 离散傅里叶变换 (DFT)、快速傅里叶变换 (FFT)
目录 离散傅里叶变换 (DFT) 离散傅里叶变换的基 离散傅里叶变换 快速傅里叶变换 (FFT) 卷积 线性时不变系统 傅里叶级数 参考文献 离散傅里叶变换 (DFT) 离散傅里叶变换的基 对于周期为 ...
- python语音信号快速傅里叶变换
python语音信号快速傅里叶变换 文章目录 python语音信号快速傅里叶变换 快速傅里叶变换的理解 引入必要的库 快速傅里叶变换函数用法 快速傅里叶变换的理解 快速傅里叶变换 (fast Four ...
- 在python实现快速傅里叶变换FFT与频域滤波
参考:https://baike.baidu.com/item/快速傅里叶变换/214957?fr=aladdin https://blog.csdn.net/u012531536/article/d ...
- 图像傅里叶变换(快速傅里叶变换FFT)
学习DIP第7天,图像傅里叶变换 转载请标明出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对 ...
- c语言做快速傅里叶变换和快速逆傅里叶变换
C语言做快速傅里叶变换和快速逆傅里叶变换 快速傅里叶变换(FFT)和快速逆傅里叶变换(IFFT)要求做傅里叶变换的数据点数只能是2的整数次幂,比如2,4,8,16,32,64,128,256,512, ...
最新文章
- python魔法方法和普通方法_Python龙珠训练营九:魔法方法
- 《深入理解Java虚拟机》读书笔记七
- SAS编程基础 - 逻辑库和数据集
- Linux有问必答:如何为在Linux中安装兄弟牌打印机
- OpportunityStepValue and Bubble chart 1
- 阿里云linux下web服务器配置
- python delphi_python4delphi 使用
- 移动互联网初创型团队需要什么样的云计算服务?
- maven 构建spring boot + mysql 的基础项目
- testng多线程并行执行测试
- 哈哈哈,看着问题一个个解决,很有满足感哦
- html5微信自动播放视频,科技常识:HTML5页面音视频在微信和app下自动播放的实现方法...
- 倒计时器java介绍_JAVA软件工程师-倒计时器
- ES6,ES7,ES8,ES9,ES10新特性一览
- 题破山寺后禅院-唐代诗人常建
- 安全集成SAP与微信钉钉
- 接口压测时MySql对CPU占用过高
- 弯道超越 -- 2009合肥一学生高考牛文
- 使用 RSA 进行加解密
- 【音视频】srs直播平台搭建