python功率谱,直接法和间接法

2023-11-09

from scipy.fftpack import fft, fftshift, ifft
from scipy.fftpack import fftfreq
import numpy as np
import matplotlib.pyplot as plt

fs = 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()

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python功率谱,直接法和间接法 的相关文章

  • mysql 强制使用索引和强制不使用索引

    前一段面试时问过这个问题 当时不太懂 今天刚好看到这一块的内容就梳理下 首先说个概念 SQL提示 就是在sql中加入我自己的提示来达到我想要的效果 关于索引有三种sql提示 use index index name 希望mysql参考的索引
  • 手把手教你SQLite在Windows/VS下的安装配置及使用(超详细,不会你怪我)

    目录 一 系统环境 二 下载 三 配置系统环境 四 使用命令win r 输入cmd命令 一 系统环境 我这里用的是 Win10 64Bit VS2015 不同版本相差不大 其版本也可以参考这个安装教程 二 下载 SQLite的官网下载地址
  • 【Ubuntu】格式化U盘

    要格式化 U 盘 你可以使用以下命令来执行 请注意 执行此命令将删除 U 盘上的所有数据 请确保在执行命令之前备份重要文件 在 Linux 上 使用 mkfs 命令格式化 U 盘的步骤如下 打开终端应用程序 确定 U 盘的设备名称 运行以下
  • keyshot分辨率多少合适_keyshot电脑配置浅谈

    以下说明均以官方keyshot7 3 4以上版本为例 我们先看一下keyshot官方给出的安装所需的基本电脑配置需求 官方注释 KeyShot将利用所有可用的CPU内核 因此 更多的CPU核心 线程将产生更快的渲染时间 虽然KeyShot不
  • RabbitMQ初级教程,基础知识

    RabbitMQ学习笔记 RabbitMQ 1 初识MQ 1 1 同步和异步通讯 1 1 1 同步通讯 1 1 2 异步通讯 1 2 技术对比 2 快速入门 2 1 安装RabbitMQ 2 2 RabbitMQ消息模型 2 3 导入Dem
  • linux系统小白入门基础(含常用基本命令)

    Linux概述 简要介绍 Linux内核最初只是由芬兰人李纳斯 托瓦兹 Linus Torvalds 在赫尔辛基大学上学时出于个人爱好而编写的 Linux是一套免费使用和自由传播的类Unix操作系统 是一个基于POSIX和UNIX的多用户
  • 上例中便是调用GetSystemMenu函数的

    有如下问题请教各位 1 为什么程序在调用window api或者dll中的输出函数时用的形式是 00401375 FF1514324000 Call dword ptr 004
  • 制作esp32-cam拍照上传,微信小程序照片显示的监控小车

    前期配件准备 ESP32 CAM开发环境配置 程序下载 连接小车 控制台查看图片 微信小程序的开发 1 前期配件准备 小车套件 网上购买即可 较为方便的选择 ESP32 CAM 推荐安信可 外加TTL下载器 方便烧录程序 L298N马达驱动
  • User-agent

    1 手机User Agent 更多关于手机User Agent请 点击 UPPOOL Mozilla 5 0 Linux U Android 8 1 0 zh cn BLA AL00 Build HUAWEIBLA AL00 AppleWe
  • 盘点

    选自Github 机器之心编译 hunkim 盘点了 Github 上 18 个深度学习项目 根据收藏数自动排名 最新的一次 update 在几小时前完成 项目地址 https github com hunkim DeepLearningS
  • sh: 1: pause: not found

    linux下运行c 程序时 希望控制台不会输出后马上消失 在windows系统下 用如下语句 include
  • redis-benchmark 基准测试

    redis benchmark 基准测试 大家好 我是爱吃鱼的程序员 一个渴望在互联网行业做到C位的程序员 可柔可刚 点赞则柔 白嫖则刚 看完记得给我来个三连哦 欢迎私信 1 概述 当我们希望提高性能的使用 往往想到的是异步 缓存这个两种手
  • nginx部署的时候出现403错误

    nginx部署的时候出现403错误 原因 启动用户和nginx工作用户不一致所致 解决方法 1 先查看当前的启动用户 命令 ps aux grep nginx worker process awk print 1 这样就是启动用户和工作用户
  • Linux下多线程调试的一些方法

    一直觉得Linux下的多线程调试是很麻烦的 因为一般大一点的程序线程会很多 通过gdb的info thread命令看全都是系统调用 看不到详细的方法 至少我看到是这样的 如果用thread id跟进每个thread去bt 是件相当痛苦的事情
  • 关于spring-boot中的@SpringBootApplication中的@ComponentScan的basePackages的路劲的设置。...

    最近在看spring boot的东西 然后搭建了spring boot的简单项目 但是在spring的入口处加载的时候一直加载不到 最后看了 SpringBootApplication的源码才知道 ComponentScan 如果不设置ba
  • ChatGPT教程:如何优化我们编写的Python代码?

    背景介绍 作为一名程序员 我们经常需要编写Python代码 然而 代码质量的好坏直接关系到程序的可读性 可维护性和可扩展性 因此 我们需要使用一些工具来帮助我们提高代码质量 ChatGPT是一种强大的自然语言处理模型 可以帮助我们完成这项任
  • 全面接入:ChatGPT杀进15个商业应用,让AI替你打工

    智东西 智能产业新媒体 智东西专注报道人工智能主导的前沿技术发展 和技术应用带来的千行百业产业升级 聚焦智能变革 服务产业升级 ChatGPT狂飙160天 世界已经不是两个月前的样子 文 李水青 编辑 心缘 来源 智东西 ID zhidxc
  • findbug类型

    Summary Description Category BC Equals method should not assume anything about the type of its argument Bad practice BIT

随机推荐

  • 十九、SpringAOP切面的单例与多例

    Repository Scope prototype public class UserDao implements IUserDao public void save System out println 保存成功 无返回值 Config
  • 硬件基础——滤波

    一 滤波概念 滤波是将信号中特定波段频率滤除的操作 是抑制和防止干扰的一项重要措施 滤波器分类 1 当允许信号中较高频率的成分通过滤波器时 这种滤波器叫做高通滤波器 2 当允许信号中较低频率的成分通过滤波器时 这种滤波器叫做低通滤波器 3
  • vue echarts 三维折线图

    效果图
  • USR-WIFI232-B2(WIFI)模块没有和服务器TCP连接成功时,单片机读取USR-WIFI232-B2(WIFI)模块的MAC地址

    您想要实现什么功能 1 单片机上电后先读取WIFI模块的MAC地址 2 读取完WIFI模块的MAC地址的后 WIFI模块和上位机进行TCP通信 WIFI模块作为服务器 需要发送 a 进入AT指令配置状态 读取MAC 读取之后 发送AT EN
  • 用HL7创建含多个code item的modality worklist

    需求 DCM4CHEE做RIS DICOM服务器 用NHAPI发ORM o01消息创建worklist 问题 在同一个OBR里面没法包含多个Scheduled Protocol Code Sequence item 创建出来的worklis
  • kafka介绍

    一 kafka介绍 1 1 kafka 模型介绍 Kafka 是一个开源的 轻量级的 支持多分区 多副本 基于 Zookeeper 的分布式消息流平台 相比于其它消息系统 其有以下优点 支持发布订阅模式的消息引擎系统 储存数据流时提供容错机
  • 直观了解CNN

    CNN解释器 https poloclub github io cnn explainer GitHub https github com poloclub cnn explainer 论文 https arxiv org abs 2004
  • Buck电路的参数计算及仿真

    一 Buck电路的参数计算较为简单 可以用matlab来完成 代码如下 clear clc Vin 12 输入电压单位V Vout 5 输出电压单位V Fs 100000 开关频率单位Hz DeltaIL 0 25 电流纹波单位A Delt
  • 实战DeviceIoControl 之五:列举已安装的存储设备

    Q 前几次我们讨论的都是设备名比较清楚的情况 有了设备名 路径 就可以直接调用CreateFile打开设备 进行它所支持的I O操作了 如果事先并不能确切知道设备名 如何去访问设备呢 A 访问设备必须用设备句柄 而得到设备句柄必须知道设备路
  • nginx基础3——配置文件详解(实用功能篇)

    文章目录 一 平滑升级 二 修饰符 2 1 无修饰符效果 2 2 精准匹配 2 3 区分大小写匹配 2 4 不区分大小写匹配 2 5 匹配优先级 三 访问控制 四 用户认证 五 配置https 六 开启状态界面 七 rewrite重写url
  • [ 未完结 ] [ 小程序 lin-ui 分析 1]总起 资源导航栏

    最近由于学校项目一直在做小程序 实习那边刚好事情不是很多 就将研究重心放在了小程序上 lin ui是一位师兄在21年10月推荐给我的 当时我还是第一次独自一人负责小程序开发 那个时候csdn里面关于lin ui文章并不是很多 我自己在上手l
  • 图像处理算法 之 梯度/边缘检测(Sobel算子,拉普拉斯算子,Canny等)

    边缘检测 一 一阶微分算子 1 1 Sobel算子 1 2 Scharr算子 OpenCV函数使用 1 3 Roberts算子 二 二阶微分算子 2 1 拉普拉斯算子 OpenCV函数使用 三 Canny算法 算法流程 OpenCV 函数使
  • Unity3d多线程

    一 多线程的创建 Thread t new Thread new ThreadStart Go Thread t1 new Thread Go 两种创建方式没有区别 二 多线程的状态控制和优先级
  • Proxmox如何进入单人维护模式(重置root密码)

    官网连接 https pve proxmox com wiki Root Password Reset Root Password Reset Contents hide 1Resetting the root account passwo
  • 2023年目标检测研究进展

    综述 首先关于写这个笔记 我个人思考了很久关于以下几点 1 19年开始从做OCR用到图像和文本这种多模态联合处理的后 也就有意识的开始关注自然语言处理 这样的结果导致可能停留在前期图像上的学习和实践 停滞的研究如果在观点理解上有误希望大家给
  • VS配置QT

    1 所需环境 a Visual Studio 20xx b QT环境 网址 c QT VS插件 网址 2 安装步骤 在VS环境已经安装的情况下安装QT环境 根据自身需要选择不同的QT环境 Qt4和Qt5差别相对较大 笔者这里安装的是Qt4
  • [python爬虫之路day7]:实战之中国天气网全国城市天气情况爬取

    通过今天的学习 我们将中国天气网的所有城市天气信息按照最低温度的排序爬取出来 并将排名前10的城市可视化 通过本次学习又温习了以下 1 sort函数 可以排序 但是数据必须是整型数据 2 pyecharts的Bar库 可以进行绘制表格 代码
  • 拉格朗日插值多项式的原理介绍及其应用

    插值 不论在数学中的数值分析中 还是在我们实际生产生活中 都不难发现它的身影 比如造船业和飞机制造业中的三次样条曲线 那么 什么是插值呢 我们可以先看一下插值的定义 如下 定义 如果对于每个 1 i n P
  • 关于 OneNote 无法打开笔记本 无法打开该位置 没有该位置权限:

    问题 无法打开笔记本 别人共享的 备注 问题开始之前请刷新一下DNS缓存 https blog csdn net ljason1993 article details 83040313 看一下 无法打开笔记本 无法打开该位置 没有该位置权限
  • python功率谱,直接法和间接法

    from scipy fftpack import fft fftshift ifft from scipy fftpack import fftfreq import numpy as np import matplotlib pyplo