离散傅里叶变换python,离散傅里叶变换:如何正确使用fftshift
我想用数值计算numpy数组Y上的FFT。为了测试,我使用高斯函数Y=exp(-x^2)。(符号)傅里叶变换是Y’=常数*exp(-k^2/4)。import numpy
X = numpy.arange(-100,100)
Y = numpy.exp(-(X/5.0)**2)
天真的方法失败了:from numpy.fft import *
from matplotlib import pyplot
def plotReIm(x,y):
f = pyplot.figure()
ax = f.add_subplot(111)
ax.plot(x, numpy.real(y), 'b', label='R()')
ax.plot(x, numpy.imag(y), 'r:', label='I()')
ax.plot(x, numpy.abs(y), 'k--', label='abs()')
ax.legend()
Y_k = fftshift(fft(Y))
k = fftshift(fftfreq(len(Y)))
plotReIm(k,Y_k)
real(Y_k)在正负值之间跳跃,对应于跳跃阶段,符号结果中不存在跳跃阶段。这当然不可取。(结果在技术上是正确的,因为abs(Y_k)给出了预期的振幅ifft(Y_k)是Y。)
这里,函数fftshift()使数组k单调递增,并相应地改变Y。通过对两个向量应用此操作,不会更改对zip(k,Y_k)。
这些更改似乎可以解决问题:Y_k = fftshift(fft(ifftshift(Y)))
k = fftshift(fftfreq(len(Y)))
plotReIm(k,Y_k)
如果需要单调Y和Y_k,这是使用fft()函数的正确方法吗?
上述的反向操作是:Yx = fftshift(ifft(ifftshift(Y_k)))
x = fftshift(fftfreq(len(Y_k), k[1] - k[0]))
plotReIm(x,Yx)
对于这种情况,documentation清楚地指出,Y_k必须与fft()和fftfreq()的输出兼容,我们可以通过应用ifftshift()来实现。
这些问题一直困扰着我:fft()和ifft()的输出和输入数组是否总是这样a[0] should contain the zero frequency term, a[1:n/2+1] should contain the positive-frequency terms, and a[n/2+1:] should contain the negative-frequency terms, in order of decreasingly negative frequency[numpy reference],其中‘frequency’是自变量?
离散傅里叶变换python,离散傅里叶变换:如何正确使用fftshift相关推荐
- python实现傅里叶变换求幅值和相位_Python 实现图像快速傅里叶变换和离散余弦变换...
图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了二维离散傅里叶变换和二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的 ...
- 利用python对图像进行傅里叶变换_Python 实现图像快速傅里叶变换和离散余弦变换...
图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了 二维离散傅里叶变换 和 二维离散余弦变换 算法,并在多个图像样本上进行测试,以探 ...
- Python 实现图像快速傅里叶变换和离散余弦变换
图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了二维离散傅里叶变换和二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的 ...
- python离散数据傅里叶变换公式_离散傅里叶变换笔记
给定N个点的一维数组 的离散傅里叶变换对由下面两式给出: 离散傅里叶变换是将离散信号分解为多个离散三角函数,并能给出每个三角函数的幅值 .频率 .初相位 .即找一批函数形如: 来叠加出任意给定的离散信 ...
- Matlab如何进行利用离散傅里叶变换DFT (快速傅里叶变换FFT)进行频谱分析
文章目录 1. 定义 2. 变换和处理 3. 函数 4. 实例演示 例1:单频正弦信号(整数周期采样) 例2:单频正弦信号(非整数周期采样) 例3:含有直流分量的单频正弦信号 例4:正弦复合信号 例5 ...
- 傅里叶变换、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)详解
前置知识 以下内容参考<复变函数与积分变换>,如果对积分变换有所了解,完全可以跳过忽略 复数的三角表达式如下 Z=r(cosθ+isinθ)Z=r(cos\theta+isin\theta ...
- 【信号与系统】傅里叶变换的离散型与周期性
傅里叶变换的离散型与周期性 文章目录 傅里叶变换的离散型与周期性 前言 1.连续时间与连续频率 2.连续时间与离散频率 3.离散时间与连续频率 4.离散时间与离散频率 前言 通过傅里叶级数,即周期函数 ...
- 【从FT到DFT和FFT】(三)从离散傅里叶变换到快速傅里叶变换
文章目录 推荐阅读 前言 从离散傅里叶变换到快速傅里叶变换 单位根 对DFT进行分治得到FFT 计算前半截 计算后半截 快速傅里叶逆变换(IFFT) 推荐阅读 前置阅读 [从FT到DFT和FFT](一 ...
- 离散傅里叶级数与离散傅里叶变换
1.离散时间周期信号: 基波周期:使(1)成立的最小正整数N: 基波频率: 2.复指数信号: 其共轭信号为: 补充:复指数信号为复数域上的信号,物理层面上不存在与之对应的信号,因此在现实世界常与其共轭 ...
最新文章
- “以史为鉴”-企业信息化的梳理-前言
- [C] 跨平台使用Intrinsic函数范例3——使用MMX、SSE2指令集 处理 32位整数数组求和...
- unity片元着色器中获取屏幕坐标_Unity踩坑笔记(持续更新)
- nagios监控mysql主机,nginx,cpu,网卡流量
- python中的画布控制_使按钮在画布上工作(tkinter)
- easyui的datagrid和panel如何让标题动态改变?
- php 调用openoffice,PHP调用OpenOffice实现word转PDF的方法
- linux awk 改写文件,批处理修改文件内容的问题,使用awk命令
- IDEA打造快捷属性 摆脱鼠标 高效操作
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_13-删除页面-前端-Api调用...
- 第5-5课:最大流问题(图文篇)
- 对抗 | 利用de4dot解密被混淆的.NET代码
- 失传万年的PS致富经典(六)
- 百度地图API js详细介绍
- 一点排位就安全异常退出_鸡肉的嘌呤高吗?高尿酸血症和痛风人群可以吃吗?怎么吃才安全呢...
- Gradle-SpringCloud聚合项目配置
- Python网络爬虫数据采集实战(八):Scrapy框架爬取QQ音乐存入MongoDB
- informatica添加MySQL表,Informatica 简单使用
- 计算机等级怎么查ip地址,ip查地址方法是什么【图文教程】
- ESM测向误差对定位误差的影响分析