首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >理解快速傅立叶变换方法的输出

理解快速傅立叶变换方法的输出
EN

Stack Overflow用户
提问于 2019-02-25 11:46:13
回答 1查看 249关注 0票数 2

我正在尝试理解python FFT库产生的输出。

我有一个sqlite数据库,其中记录了几个系列的ADC值。每个序列由1024个采样组成,采样频率为1ms。

导入数据序列后,我对其进行规范化,并通过fft方法运行int。我已经包含了一些原始信号与FFT输出的比较图。

代码语言:javascript
运行
AI代码解释
复制
import sqlite3
import struct
import numpy as np
from matplotlib import pyplot as plt
import time
import math

conn = sqlite3.connect(r"C:\my_test_data.sqlite")
c = conn.cursor()

c.execute('SELECT ID, time, data_blob FROM log_tbl')


for row in c:
    data_raw = bytes(row[2])
    data_raw_floats = struct.unpack('f'*1024, data_raw)
    data_np = np.asarray(data_raw_floats)

    data_normalized = (data_np - data_np.mean()) / (data_np.max() - data_np.min())

    fft = np.fft.fft(data_normalized)
    N = data_normalized .size

    plt.figure(1)
    plt.subplot(211)
    plt.plot(data_normalized )

    plt.subplot(212)
    plt.plot(np.abs(fft)[:N // 2] * 1 / N)
    plt.show()

    plt.clf()

信号清楚地包含一些频率,我希望它们可以从FFT输出中看到。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-25 12:14:26

在使用np.fft.fft时,您需要确保数据均匀分布,否则输出将不准确。如果它们不是均匀分布的,可以使用LS周期图,例如:http://docs.astropy.org/en/stable/stats/lombscargle.html。或者查找非均匀fft。

关于情节:我不认为你做了什么明显错误的事情。您的信号由一个周期为100量级的信号组成,因此您可以预期在1/period=0.01附近有一个很强的频率信号。这是您的图表中可见的内容。时域信号不是那么正弦的,所以你在频域中的峰值将是模糊的,如你的图表所示。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54865473

复制
相关文章
使用JPA原生SQL查询在不绑定实体的情况下检索数据
在这篇博客文章中,我将与大家分享我在学习过程中编写的JPA原生SQL查询代码。这段代码演示了如何使用JPA进行数据库查询,而无需将数据绑定到实体对象。通过本文,你将了解如何使用原生SQL查询从数据库中高效地检索数据。
高久峰
2023/08/07
9210
【DB笔试面试599】在Oracle中,如何在不执行SQL的情况下获取执行计划?
♣ 题目部分 在Oracle中,如何在不执行SQL的情况下获取执行计划? ♣ 答案部分 1、“EXPLAIN PLAN FOR SQL”不实际执行SQL语句,生成的计划未必是真实执行的计划。但是,必
AiDBA宝典
2019/09/29
2.6K0
在有EditText的界面 默认情况下不获取焦点(不弹出输入框)
在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustPan|stateHidden.
103style
2022/12/19
1.5K0
在有EditText的界面 默认情况下不获取焦点(不弹出输入框)
我可以在不source脚本的情况下将变量从Bash脚本导出到环境中吗
有没有一种方法可以通过只执行 export.bash 而不 source 它获取 $VAR?
程序熵
2023/09/25
7710
我可以在不source脚本的情况下将变量从Bash脚本导出到环境中吗
Gogs仓库Webhook使用
配置说明,我这里只是用push和版本发布的事件,程序是php,所以我设置了application/x-www-form-urlencoded
苦咖啡
2018/10/25
1.9K0
Gogs仓库Webhook使用
哨兵2号条带号介绍与MGRS矢量文件获取
  本文介绍哨兵2号(Sentinel-2)遥感影像数据的空间分幅规则,并提供军事格网参考系(Military Grid Reference System,MGRS)的.kml格式文件、.shp格式矢量文件的下载方法。
疯狂学习GIS
2023/06/26
8102
哨兵2号条带号介绍与MGRS矢量文件获取
在公司制度不规范的情况下,如何做好测试工作?
遇到这个好机会你还在等什么?如果说这个公司已经足够好了,那他还请你过来做什么?你的能力还足以让公司有更高的提升么?
软件测试君
2019/11/04
1.3K0
在不影响程序使用的情况下添加shellcode
在文章Backdooring PE Files with Shellcode中介绍了一种在正常程序中注入shellcode的方式,让程序以前的逻辑照常能够正常运行,下面复现一下并解决几个小问题。
CN_Simo
2020/08/20
1.1K0
在不更换耳机的情况下,如何让敌人脚步声非常清脆?
1、点击[扬声器] 2、点击[声音] 3、点击[播放] 4、点击[扬声器] 5、点击[属性] 6、点击[增强] 7、点击[环境] 8、点击[设置] 9、点击[铺地毯的走廊] 10、点击[确定]
裴来凡
2022/05/28
9310
在不更换耳机的情况下,如何让敌人脚步声非常清脆?
Jenkins Generic Webhook Trigger 插件使用
1.进入项目设置 => 开发者选项 => Service Hook => 新建Service Hook
游魂
2023/10/17
4410
Jenkins Generic Webhook Trigger 插件使用
【技术种草】在腾讯云使用Webhook自动部署我的多个站点的博客
作者:小傅哥 博客:https://bugstack.cn 一、前言 小傅哥,我在腾讯云搞了三台服务器,维护学校游戏社站点,我麻了! https://cloud.tencent.com/act/dou
小傅哥
2021/11/21
6.5K15
【技术种草】在腾讯云使用Webhook自动部署我的多个站点的博客
【技术分享】使用电报API免费创建个人通知系统
电报是一个消息传递应用程序,类似于WhatsApp和许多其他应用程序。这是一款维护良好的应用程序,由许多功能提供支持,使其比竞争对手更具优势。 今天,我们正在探索 Telegram 的 API。Telegram 具有一个非常简单的 API,几乎可以自动化任何事情——您甚至可以使用它来向您发送消息。
鸣奔博客
2023/03/23
4.1K0
不联网的情况下,使用 electron-builder 快速打包全平台应用
Electron 之所以能够日益风靡,是因为其简单易用且对各个操作平台具有良好的支持。
编程三昧
2022/03/03
3.7K0
不联网的情况下,使用 electron-builder 快速打包全平台应用
不更新TP框架的情况下防止getshell漏洞
最近ThinkPHP框架出现了一个比较严重的漏洞,在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0.23和5.1.31之前的所有版本。 官方也很快提供了解决方案,大大的点个赞。但是只是讲了个重点,没讲太详细,对于一些新手和初学者可能不大方便操作。下面提供一些修复的方法,应该算是比较详细了。
jwj
2022/05/18
7730
Jenkins 与 Bitbucket webhook 的配置和使用
在做 Jenkins 与 Bitbucket 的集成时,需要安装插件:Bitbucket Branch Source,可以通过该插件在 Jenkins 里进行 webhook 的配置。这种方式对于没有 Bitbucket 仓库的管理权限,CI/CD 暂且处于变更比较频繁的阶段,不想麻烦的去申请添加 webhook 的同学来说是非常友好的。即可以不用通过管理员在 Bitbucket 设置里添加 webhook 也可以实现创建 PR 后触发 Jenkins 构建。
Peter Shen
2020/06/12
4.4K0
Jenkins 与 Bitbucket webhook 的配置和使用
Prometheus:警报
1、alertmanager.yml文件 global: resolve_timeout: 5m smtp_smarthost: 'smtp.163.com' smtp_from: '13285921108@163.com' smtp_auth_username: '13285921108@163.com' smtp_auth_password: 'xxxxxxxxxx' wechat_api_url: 'https://qyapi.weixin.qq.com/cgi-bin/'
用户5760343
2020/01/15
5990
Webhook端口使用介绍与演示
在API接口调用的集成项目中,用户调用知行之桥的API接口以给EDI系统推送数据时,经常会有这样的疑问:怎样查看是否调用接口成功?怎样查看数据是否推送成功?推送之后用户端会有怎样的响应提示?
知行软件EDI
2023/01/05
1.9K0
在WebFlux下从ServerWebExchange中获取参数
获取参数方式和web包类似,直接在controller方法参数的位置填上serverHttpRequst,框架即可自动将请求注入,但是这里serverHttpRequst获取的请求仅限于普通请求的body中的内容,以及methed方法这些。但是,前端如果是通过form-data方式传参过来, serverHttpRequst 得到的是body是null。因此必须拿到更上一级的请求内容ServerWebExchange。通过ServerWebExchange获取form-data的参数再加以验证。
Diuut
2022/11/22
12.5K0
常见的降维技术比较:能否在不丢失信息的情况下降低数据维度
本文将比较各种降维技术在机器学习任务中对表格数据的有效性。我们将降维方法应用于数据集,并通过回归和分类分析评估其有效性。我们将降维方法应用于从与不同领域相关的 UCI 中获取的各种数据集。总共选择了 15 个数据集,其中 7 个将用于回归,8 个用于分类。
deephub
2023/02/01
1.5K0
点击加载更多

相似问题

条带Webhook不工作

31

使用PHP从条带Webhook JSON获取数据

223

从条带获取webhook上的异常

11

条带化付款获取付款说明

110

从条带webhook事件检索条带数据

25
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档