目录
参考:
Signal processing (scipy.signal) — SciPy v1.9.3 Manual
periodogram
scipy.signal.periodogram(x, fs=1.0, window='boxcar', nfft=None, detrend='constant', return_onesided=True, scaling='density', axis=- 1)[source]
使用周期图估计功率谱密度。
参数
x:array_like
测量值的时间序列
fs:float,可选
x时间序列的采样频率。默认为1.0。
Window:str或tuple或array_like,可选
想要使用的窗口。如果window是字符串或元组,则将它传递给get_window以生成窗口值,即使在默认情况下也是dft。有关窗口和所需参数的列表,请参阅get_window。如果window是array_like,它将直接用作窗口,其长度必须为nperseg。默认为' boxcar '。
nfft:int,可选
FFT的长度。如果为None,则使用x的长度。
detrend:str或function或False,可选
指定如何为每个段趋势化。如果detrend是一个字符串,它将作为类型参数传递给detrend函数。如果它是一个函数,它接受一个段并返回一个有趋势的段。如果detrend为False,则不进行去趋势处理。默认为' constant '。
return_onesided:bool,可选
如果为True,返回真实数据的单边频谱。如果False返回一个双面频谱。默认为True,但是对于复杂的数据,总是返回一个双面谱。
scaling{
‘density’, ‘spectrum’ }, optional
在计算功率谱密度(‘密度’)和计算功率谱(‘频谱’)之间进行选择,其中Pxx的单位是V**2/Hz,其中Pxx的单位是V**2,如果x的单位是V, fs的单位是Hz。默认为' density '
axis:int,可选
计算周期图的轴;默认值是在最后一个轴上(即轴=-1)。
返回
f :ndarray
采样频率数组。
Pxx :ndarray
x的功率谱密度或功率谱。
示例:
from scipy import signal
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.default_rng()
# Generate a test signal, a 2 Vrms sine wave at 1234 Hz, corrupted by 0.001 V**2/Hz of white noise sampled at 10 kHz.
fs = 10e3
N = 1e5
amp = 2*np.sqrt(2)
freq = 1234.0
noise_power = 0.001 * fs / 2
time = np.arange(N) / fs
x =<

最低0.47元/天 解锁文章
913

被折叠的 条评论
为什么被折叠?



