以下内容引用链接:https://blog.csdn.net/baidu_37352210/article/details/79596633

(注意:通过如下内容可知,将序列信号进行傅里叶变换后,得到的频谱图上各k值(1~N/2)对应的振幅,观察主要振幅,并得到其信号主要分量的周期N/k)

# 离散时间傅里叶变换的python实现

import numpy as np

import math

import pylab as pl

import scipy.signal as signal

import matplotlib.pyplot as plt

sampling_rate=1000

t1=np.arange(0, 10.0, 1.0/sampling_rate)

x1 =np.sin(15*np.pi*t1)

# 傅里叶变换

def fft1(xx):

# t=np.arange(0, s)

t=np.linspace(0, 1.0, len(xx))

f = np.arange(len(xx)/2+1, dtype=complex)

for index in range(len(f)):

f[index]=complex(np.sum(np.cos(2*np.pi*index*t)*xx), -np.sum(np.sin(2*np.pi*index*t)*xx))

return f

# len(x1)

xf=fft1(x1)/len(x1)

freqs = np.linspace(0, sampling_rate/2, len(x1)/2+1)

plt.figure(figsize=(16,4))

plt.plot(freqs,2*np.abs(xf),'r--')

plt.xlabel("Frequency(Hz)")

plt.ylabel("Amplitude($m$)")

plt.title("Amplitude-Frequency curve")

plt.show()

plt.figure(figsize=(16,4))

plt.plot(freqs,2*np.abs(xf),'r--')

plt.xlabel("Frequency(Hz)")

plt.ylabel("Amplitude($m$)")

plt.title("Amplitude-Frequency curve")

plt.xlim(0,20)

plt.show()

此处实现的是传统的傅里叶变换,这种方法实际已经不用了,现在使用快速傅里叶变换,其实两种是等价的,但是快速傅里叶变换时间复杂度要小很多。

离散傅里叶变换python_使用python实现离散时间傅里叶变换相关推荐

  1. 快速傅里叶变换python_基于python的快速傅里叶变换FFT(二)

    基于python的快速傅里叶变换FFT(二) 本文在上一篇博客的基础上进一步探究正弦函数及其FFT变换. 知识点 FFT变换,其实就是快速离散傅里叶变换,傅立叶变换是数字信号处理领域一种很重要的算法. ...

  2. 快速傅里叶变换python_利用Python通过快速傅里叶变换分析太阳黑子活动的周期

    从网址 http://www.sidc.be/silso/datafiles 下载太阳黑子数据 (建议选择每月观测一次的数 据), 做傅里叶变换求太阳黑子的周期. 数据:http://www.sidc ...

  3. 离散小波变换 python_用python中的“haar”小波对图像进行离散小波变换

    我试图在python中的图像上应用haar小波.这是代码from pywt import dwt2, idwt2 img = cv2.imread('xyz.png') cA, (cH, cV, cD ...

  4. 傅里叶级数FS,连续时间傅里叶变换CTFT,离散时间傅里叶变换DTFT,离散傅里叶变换DFT,推导与联系(一)

    本文主要从傅里叶级数 FS,连续时间傅里叶变换 CTFT,离散时间傅里叶变换 DTFT,以及离散傅里叶变换 DFT 之间的区别与联系进行了比较详细的讨论,主要注重于公式形式上的推导,略去了相关的图像示 ...

  5. 傅里叶级数FS,连续时间傅里叶变换CTFT,离散时间傅里叶变换DTFT,离散傅里叶变换DFT,推导与联系(二)

    由于本文公式所占用的字符比较多,无法在一篇博客中完整发布,所以将其分为两篇博客.本篇主要介绍了离散傅里叶变换 DFT 的内容,以及相关的总结.对于前置内容,包括傅里叶级数 FS,连续时间傅里叶变换 C ...

  6. 傅里叶变换、离散时间傅里叶变换和离散傅里叶变换

    前言     这里我尽量的用图像来讲解,尽可能地避免用公式来描述.如果只是了解一下这些名词或者是这些方法都是处理什么场景的问题,不涉及具体的运算,那么不用太在意具体的公式.但是如果想了解的更深一点,那 ...

  7. 离散时间傅里叶变换(DTFT)(由离散时间周期信号的傅里叶级数推得)(详细推导)

    序言 这里讲的离散时间傅里叶变换(DTFT)是针对离散非周期信号的DTFT,事实上,DTFT本身也就是为了表示非周期信号而出现的. 推导的过程采用与连续时间傅里叶变换完全并行的思路,连续时间傅里叶变换 ...

  8. 离散时间傅里叶变换,Z变换,离散傅里叶变换性质对比

    本篇讲述数字信号处理中离散时间傅里叶变换,z变换,离散傅里叶变换性质的比较.公式是在word中使用mathtype一个一个公式打的,表格无法直接复制到web编辑器中,因此只能上传截图.整理不易,尊重版 ...

  9. 基于python的快速傅里叶变换FFT(二)

    基于python的快速傅里叶变换FFT(二) 本文在上一篇博客的基础上进一步探究正弦函数及其FFT变换. 知识点   FFT变换,其实就是快速离散傅里叶变换,傅立叶变换是数字信号处理领域一种很重要的算 ...

最新文章

  1. Spring Bean配置方式之一:Java配置
  2. 华为麒麟990发布!余承东:全球首款旗舰5G SoC,业界最强手机AI算力,友商还都是PPT...
  3. Python NLPIR2016 与 wordcloud 结合生成中文词云
  4. LabelImg 批量生成标注图片文件夹序号(起始值+终值)
  5. 如何在Linux(ubuntu21.04)下安装chrome浏览器
  6. 洛谷 - P1308 统计单词数(字符串+模拟)
  7. Java程序通过批处理文件定时执行
  8. kali linux wifi监听模式,无线渗透教程1:监听无线网络
  9. 使用 Redis 如何实现延迟队列?
  10. vue如何把数组转为json数组_vue.js,_vuejs Ajax取得一个数据json数组,vue.js - phpStudy...
  11. sendmail for linux
  12. flutter用英语怎么说_手机流量套餐用英语怎么说?
  13. 不经意传输算法 效果
  14. 在vs2005调试asp程序
  15. MS08067 知识星球 “网络安全应急响应训练班”,限时免费加入~
  16. dnf超时空漩涡副本路线流程图_dnf怎么打超时空漩涡 dnf超时空漩涡打法攻略
  17. 016-状态自尊|管理他人的切入点
  18. 【惯性导航姿态仪】 04 -Mini AHRS 姿态解算说明
  19. 标准H.460公私网穿越视频解决方案
  20. mac里python注释的快捷键_Mac 版的Python IDEL, 按什么快捷键可以快速显示上一条命令,下一条命令?...

热门文章

  1. springmvc和mybatis面试题
  2. 实验2 递归和分治法(二分查找)
  3. 2021年Java后端技术知识体系
  4. Java当中的HashSet
  5. sleep方法和wait方法的区别
  6. Spring Security——认证失败时获取认证信息(用户名、密码、IP、SESSIONID)
  7. 联想拯救者Y7000系列笔记本电脑外接显示器解决方案
  8. Spanning Tree with Maximum Degree
  9. linux内核亲和性,Linux中CPU亲和性(go)
  10. jquery+原生js模拟淘宝输入框下拉提示