2017-05-09 3 views
0

Ich versuche Methode zu verwenden whelch und ich fand, dass die Nullfrequenz anormal istWarum unterdrückt scipy.signal.welch die Nullfrequenz?

import numpy as np 
import scipy.signal as signal 
import matplotlib.pyplot as plt 

n = 100000 
s = np.ones(n) 
f, psd = signal.welch(s, return_onesided=False) 
plt.plot(f, psd) 
plt.show() 

So führen PSD Null ist. Warum unterdrückt scipy.signal.welch die Nullfrequenz?

Antwort

1

Nehmen Sie noch einen Blick auf the docstring for welch Insbesondere beachten Sie die detrend Argument.

Der Standardwert ist 'constant', der den Mittelwert von der Eingabe subtrahiert, bevor das Spektrum berechnet wird. So deaktivieren Sie Detrending- verwenden detrend=False:

In [57]: from scipy.signal import welch 

In [58]: from scipy.fftpack import fftshift 

In [59]: n = 1000 

In [60]: s = np.ones(n) 

In [61]: f, psd = signal.welch(s, return_onesided=False, detrend=False) 

In [62]: plot(fftshift(f), fftshift(psd)) 
Out[62]: [<matplotlib.lines.Line2D at 0x10f8b6dd8>] 

plot

Verwandte Themen