from scipy.fftpack import fft, fftshift, ifft
from scipy.fftpack import fftfreq
import numpy as np
import matplotlib.pyplot as pltfs = 1000
#采样点数
num_fft = 1024;"""
生成原始信号序列在原始信号中加上噪声
np.random.randn(t.size)
"""
t = np.arange(0, 1, 1/fs)
f0 = 100
f1 = 200
x = np.cos(2*np.pi*f0*t) + 3*np.cos(2*np.pi*f1*t) + np.random.randn(t.size)# 因为 t 的取值是1000
plt.figure(figsize=(15, 12))
ax=plt.subplot(511)
ax.set_title('original signal')
plt.tight_layout()
plt.plot(x)

"""
FFT(Fast Fourier Transformation)快速傅里叶变换
"""
Y = fft(x, num_fft)
Y = np.abs(Y)plt.figure(dpi=100)
ax.set_title('fft transform')
# plt.plot(20*np.log10(Y[:num_fft//2]))
plt.plot(20*np.log10(Y))

"""
功率谱 power spectrum
直接平方
"""
ps = Y**2 / num_fft
plt.figure(dpi=100)
ax.set_title('direct method')
plt.plot(20*np.log10(ps[:num_fft//2]))


功率谱和fft单边变换,唯一的区别在于幅值

"""
相关功谱率 power spectrum using correlate
间接法
"""
cor_x = np.correlate(x, x, 'same')
cor_X = fft(cor_x, num_fft)
ps_cor = np.abs(cor_X)
ps_cor = ps_cor / np.max(ps_cor)
plt.figure(figsize=(10, 8),dpi=100)
plt.plot(20*np.log10(ps[:num_fft//2]),label='direct method')
plt.plot(20*np.log10(ps_cor[:num_fft//2]),label='indirect method')
plt.legend(loc='best')
plt.tight_layout()
plt.show()

python功率谱,直接法和间接法相关推荐

  1. SAP License:现金流量表直接法和间接法的理解

    现金流量表编制可分为直接法和间接法. 直接法直接确定每笔涉及现金收支业务的属性,归入按现金流动属性分类形成经营.投资.筹资三部分的现金收支项目.二者的现金流入流出净额合计就得到一个单位整个期间的现金净 ...

  2. python except用法和作用_Python面试题(部分附带面试标准答案) 建议收藏

    1.请尽可能列举python列表的成员方法,并给出一下列表操作的答案: (1) a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ? (2) 一行代码实现对列表a中的偶数位置 ...

  3. 【机器学习5】python实现单纯形法和大M法

    目录 1.手算--单纯形法 2.Python--单纯形法 3.Python包--单纯形法 4.Excel--大M法 5.python--大M法 写在前面: 关于单纯形法和大M法的原理,自己去百度吧,本 ...

  4. python except用法和作用_python上手--异常处理与文件

    本专栏python属于上手系列,因为网络资源众多,有从零基础开始介绍的,也有各种进阶应用,我在这个专栏里就从上手来介绍python,零基础也许不一定合适.但实践永远是获得认知的手段,因此上手实践操作对 ...

  5. python except用法和作用_121个问题答对80%那么恭喜你,Python的高薪工作迟早有你一份...

    1. Python和Java.PHP.C.C#.C++等其他语言的对比? 2. 简述解释型和编译型编程语言? 3. 代码中要修改不可变数据会出现什么问题? 抛出什么异 4. print 调用 Pyth ...

  6. 二叉树N叉数的前中后序遍历总结,python实现递归法和迭代法

    关于二叉树的前序遍历(preoder).中序遍历(inorder)和后序遍历(postorder),实际上只需要记住:左子节点一定在右子节点的左边(左右),所谓前中后序遍历就是根节点的位置不同,前序是 ...

  7. Python使用递归法和函数式编程计算整数各位之和

    问题描述:给定一个正整数,计算其各位数字之和. 参考代码: 程序运行无任何输出,表示两个函数结果一致. ----------相关阅读---------- 1900页Python系列PPT分享一:基础知 ...

  8. python except用法和作用_Python保留字简单释义

    Guido van Rossum在1991年正式对外发布Python版本,现在已成为最流行的语言之一. 分别执行以下命令,查询Python语言中的保留字: import keywordkeyword. ...

  9. python reverse方法和reversed方法的区别和使用

    reverse() reverse()是python列表独有的内置方法,在字典,元组,字符串中是不能够使用这个方法的,它用于将列表中的元素反转,颠倒. 语法: list.reverse() 参数:NA ...

最新文章

  1. 微信小程序开发之不能使用eval函数的问题
  2. 以python入门教程新世界-Python打开新世界的大门-入门篇1
  3. 程序员转实施工程师_只有程序员才能看得懂?程序员:算了,不看了,我得写代码了...
  4. JAVA WEB之Spring4.x JdbcTemplate
  5. 【典型错误】The type java.lang.Object cannot be resolved.
  6. arcmap shp导出cad无反应_如何使用ArcMap将Excel数据转换为shp数据
  7. php 随机两位小数数_使用8086微处理器找出两个8位N数数组
  8. MFC开发IM-第二十八篇、acl 的编译与使用
  9. 外贸管理软件之出口流程整理丨汇信外贸软件
  10. 网络空间安全--密码学重点(适合提前自学的宝宝)
  11. 鼠标点击右键,反应慢,解决方法!
  12. 粗略的学习一下结巴分词
  13. pytest-捕获告警信息
  14. 纸壳CMS的插件加载机制
  15. Android OTA 问题分析
  16. 【EI会议|检索稳定】2021信息、控制及自动化国际学术会议(ICICA 2021)
  17. 华为畅享二十Android是,华为畅享20 Pro智慧护眼怎么样?华为畅享20 Pro智慧护眼详解...
  18. 怎样去查询Unity的API文档
  19. 实战:为图片生成文本摘要
  20. vue3使用echarts并封装echarts组件

热门文章

  1. 爱普迪供应CS连接器,适用400G传输
  2. erlang 单元测试
  3. MultiDex精补篇,进一步知道MultiDex的配置
  4. java设计模式之状态机模式
  5. 【操作系统】多线程、生产者——消费者同步与互斥代码实现
  6. 【操作系统】进程同步实验
  7. 7-40 到底是不是太胖了(10 分)
  8. 163邮箱申请注册个人,163邮箱付费与免费版有什么区别?
  9. 163邮箱注册,163邮箱申请方法
  10. 感性电路电流计算_「硬见小百科」一些硬件电路技术经验整理