- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 scipy.signal.periodogram 中使用的术语感到困惑,即:
缩放:{'密度','频谱'},可选
在计算功率谱密度('密度')之间进行选择
哪里Pxx
如果 x
,单位为 V*2/Hz以 V 为单位测量并计算
功率谱('谱'),其中 Pxx
如果 x
,则单位为 V*2是
以 V 为单位。默认为“密度”
(见:http://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.periodogram.html)
1) 一些测试表明,选项“密度”的结果取决于信号和窗口长度以及采样频率(随着信号长度的增加而增加)。怎么来的?我会说,正是密度不应该依赖于这些东西。如果我采用更长的信号,我应该得到更准确的估计,而不是不同的结果。更不用说对窗口长度的依赖也很令人惊讶。
结果在无限信号的极限处发散,这可能是能量的特征,而不是功率的特征。当长度增加时,周期图不应该收敛到实际的理论 PSD 吗?如果是这样,我是否应该在 signal.periodogram 方法之外执行另一个标准化?
2) 相反,我看到替代选项 'spectrum' 给出了我之前所说的功率谱密度,也就是说,它给出了独立于窗口段和窗口长度并与理论计算一致的结果。例如,对于 Asin(2PIft),两侧解在 -f 和 f 处产生两个峰,每个峰的高度为 0.25*A^2。
关于这个主题有很多文献,但我的印象是也有很多不兼容的术语,所以我将感谢您的澄清。直截了当的问题是如何解释这些选项及其单位。 (我习惯看到标有“功率谱密度”的 V^2/Hz)。
最佳答案
让我们取一个名为 data 的实数数组,长度为 N,采样频率为 fs。我们称时间为 dt=1/fs,T = N * dt。在频域中,频率仓 df = 1/T = fs/N。
功率谱 PS (scipy.periodogram 中的 scaling='spectrum')计算如下:
import numpy as np
import scipy.fft as fft
dft = fft.fft(data)
PS = np.abs(dft)**2 / N ** 2
它的单位是V^2。可以这样理解。类比连续傅里叶变换,信号的能量E为:
PS = np.abs(dft)**2 / N ** 2
对于
功率谱密度PSD (scipy.periodogram 中的缩放=“密度”),需要将 PS 除以 DFT 的频率 bin,df:
PSD = np.abs(dft)**2 / N * dt
这具有 V^2/Hz = V^2 * s 的单位,现在取决于采样频率。这样,在频率范围内对 PSD 进行积分会得到与对 PS 的各个值求和的结果相同。
关于Scipy周期图术语混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22338415/
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我正在尝试将 JSON 发送到我的服务器并作为结果检索 JSON。例如发送用户名和密码并取回 token 和其他内容。 这就是我正在为发送的 HTTP 请求所做的。我现在如何检索同一请求中的内容?
我有以下 xts 矩阵: > options(digits.secs = 6) > set.seed(1234) > xts(1:10, as.POSIXlt(1366039619, tz="EST"
我目前正在开发一个应用程序,当用户到达某个位置时,它会提醒用户。我希望这个应用程序也在后台运行并搜索解决方案。 在 AppStore 中,我发现了一款名为“Sleep Cycle”的应用程序,它可
我想创建一个基于 farbtastic color picker 的颜色选择器。我想要实现的是添加我想要链接到色轮的 RGB slider 。这是我到目前为止所拥有的。 app.controller(
RFC 5545 允许 RDATE 属性具有 PERIOD 数据类型。该数据类型的语义是什么?据我所知,这是未指定的。它会改变事件的持续时间吗?如果时区更改且没有持续时间怎么办? 最佳答案 尽管我
在 CodinGame学习平台,C# 教程中用作示例的问题之一是: The aim of this exercise is to check the presence of a number in a
我听说网上有一本英特尔书,它描述了特定汇编指令所需的 CPU 周期,但我找不到(经过努力)。谁能告诉我如何找到CPU周期? 这是一个例子,在下面的代码中,mov/lock 是 1 个 CPU 周期,x
据我所知,Java GC有次要GC(低成本)和主要GC周期(高成本)。如果对象在本地范围内,则会在 Minor GC 中清理它。如果对象的引用存储在代码中的其他位置,则它会在主 GC 中被清除。 例如
到目前为止,我有一个很好的自旋锁,可以用作 intendend: std::atomic_flag barrier = ATOMIC_FLAG_INIT; inline void lo
晚上好,我将 cycle2 与 prev 和 next 函数一起使用,但我无法将 prev 和 next 函数置于图像下方的中心。我环顾四周,我知道这会很愚蠢,但我就是看不到它。非常令人沮丧。谢谢加里
出于教育目的,我想知道在优化(在不同级别)和编译之后执行函数需要多少 CPU 周期。有没有办法分析代码或可执行文件以获得可重现的答案?我在 64 位 Windows 7 Pro 上使用 Eclipse
我想彻底测量和调整我的 C/C++ 代码,以便在 x86_64 系统上更好地使用缓存。我知道如何使用计数器(我的 Windows 机器上的 QueryPerformanceCounter)来测量时间,
我尝试将一些数据分组到每四周一次的存储桶中,并使用 pd.Grouper(key='created_at', freq='4W')。我希望这些组是这样的,如果我有从 2019-08-26 到 2019
我正在做一个关于随机数的大型学校项目,但我找不到 Math.random() 的句点。我安装了 7.0.800.15 版本,并且正在使用 Windows 10 计算机。我试过用一个简单的程序来确定周期
我正在努力解决我们生产环境中垃圾收集利用率高的问题,我想知道设置一个大的堆大小来保证老年代永远不会被填满是否会阻止触发主要的 GC 周期。 为了实现这一点,我想有一个特定的阈值标记会触发主要的 GC
我想测量在 Python 3 中执行加法运算所需的时钟周期数。 我写了一个程序来计算加法运算的平均值: from timeit import timeit def test(n): for i
我正在寻找一种方法来测量线程上的函数调用所花费的 cpu 周期。 示例伪代码: void HostFunction() { var startTick = CurrentThread.Cur
就 CPU 周期而言,malloc() 的成本是多少?(Vista/OS,最新版本的 gcc,最高优化级别,...) 基本上,我正在实现一个复杂的 DAG 结构(类似于链表)由一些 16B(不太常见)
C/C++ 中的类型转换会导致额外的 CPU 周期吗? 我的理解是,至少在某些情况下应该消耗额外的 CPU 周期。就像从浮点类型转换为整数一样,CPU 需要将浮点结构转换为整数。 float a=2.
我是一名优秀的程序员,十分优秀!