我想用数值计算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相关推荐

  1. python实现傅里叶变换求幅值和相位_Python 实现图像快速傅里叶变换和离散余弦变换...

    图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了二维离散傅里叶变换和二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的 ...

  2. 利用python对图像进行傅里叶变换_Python 实现图像快速傅里叶变换和离散余弦变换...

    图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了 二维离散傅里叶变换 和 二维离散余弦变换 算法,并在多个图像样本上进行测试,以探 ...

  3. Python 实现图像快速傅里叶变换和离散余弦变换

    图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了二维离散傅里叶变换和二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的 ...

  4. python离散数据傅里叶变换公式_离散傅里叶变换笔记

    给定N个点的一维数组 的离散傅里叶变换对由下面两式给出: 离散傅里叶变换是将离散信号分解为多个离散三角函数,并能给出每个三角函数的幅值 .频率 .初相位 .即找一批函数形如: 来叠加出任意给定的离散信 ...

  5. Matlab如何进行利用离散傅里叶变换DFT (快速傅里叶变换FFT)进行频谱分析

    文章目录 1. 定义 2. 变换和处理 3. 函数 4. 实例演示 例1:单频正弦信号(整数周期采样) 例2:单频正弦信号(非整数周期采样) 例3:含有直流分量的单频正弦信号 例4:正弦复合信号 例5 ...

  6. 傅里叶变换、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)详解

    前置知识 以下内容参考<复变函数与积分变换>,如果对积分变换有所了解,完全可以跳过忽略 复数的三角表达式如下 Z=r(cosθ+isinθ)Z=r(cos\theta+isin\theta ...

  7. 【信号与系统】傅里叶变换的离散型与周期性

    傅里叶变换的离散型与周期性 文章目录 傅里叶变换的离散型与周期性 前言 1.连续时间与连续频率 2.连续时间与离散频率 3.离散时间与连续频率 4.离散时间与离散频率 前言 通过傅里叶级数,即周期函数 ...

  8. 【从FT到DFT和FFT】(三)从离散傅里叶变换到快速傅里叶变换

    文章目录 推荐阅读 前言 从离散傅里叶变换到快速傅里叶变换 单位根 对DFT进行分治得到FFT 计算前半截 计算后半截 快速傅里叶逆变换(IFFT) 推荐阅读 前置阅读 [从FT到DFT和FFT](一 ...

  9. 离散傅里叶级数与离散傅里叶变换

    1.离散时间周期信号: 基波周期:使(1)成立的最小正整数N: 基波频率: 2.复指数信号: 其共轭信号为: 补充:复指数信号为复数域上的信号,物理层面上不存在与之对应的信号,因此在现实世界常与其共轭 ...

最新文章

  1. “以史为鉴”-企业信息化的梳理-前言
  2. [C] 跨平台使用Intrinsic函数范例3——使用MMX、SSE2指令集 处理 32位整数数组求和...
  3. unity片元着色器中获取屏幕坐标_Unity踩坑笔记(持续更新)
  4. nagios监控mysql主机,nginx,cpu,网卡流量
  5. python中的画布控制_使按钮在画布上工作(tkinter)
  6. easyui的datagrid和panel如何让标题动态改变?
  7. php 调用openoffice,PHP调用OpenOffice实现word转PDF的方法
  8. linux awk 改写文件,批处理修改文件内容的问题,使用awk命令
  9. IDEA打造快捷属性 摆脱鼠标 高效操作
  10. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_13-删除页面-前端-Api调用...
  11. 第5-5课:最大流问题(图文篇)
  12. 对抗 | 利用de4dot解密被混淆的.NET代码
  13. 失传万年的PS致富经典(六)
  14. 百度地图API js详细介绍
  15. 一点排位就安全异常退出_鸡肉的嘌呤高吗?高尿酸血症和痛风人群可以吃吗?怎么吃才安全呢...
  16. Gradle-SpringCloud聚合项目配置
  17. Python网络爬虫数据采集实战(八):Scrapy框架爬取QQ音乐存入MongoDB
  18. informatica添加MySQL表,Informatica 简单使用
  19. 计算机等级怎么查ip地址,ip查地址方法是什么【图文教程】
  20. ESM测向误差对定位误差的影响分析

热门文章

  1. cadence 原理图orcad使用总结篇二:FPGA/CPLD换PIN方法
  2. Android-指纹解锁
  3. 透彻理解位图与矢量图的本质区别(小包子觉得讲的很清晰)
  4. 数据层面降低NLU误召-构造误召语料
  5. Egret 性能优化
  6. 面向智能制造的工业工程和精益管理
  7. UE4(一):游戏起点流程图
  8. 微信小程序图片分包 || 微信小程序资源分包
  9. Windows徽标认证(WHQL)
  10. Xshell工具下载