1
순수한 사인 함수의 스펙트럼 플롯을 얻으려고합니다. 함께 그 전체 신호의 fft 음모를 보여주고 싶습니다. 시간이 정해져있는 같은 신호를 다루고 있기 때문에 봉우리가 같은 주파수에있을 것으로 기대하고 있습니다.matplotlib로 순수한 부비동의 스펙트로 그램 만들기
코드
samplingFrequency = 32.
frequency = 4 #frequency of the sinus wave
t = arange(0,20,1/samplingFrequency) #time intervals with period 1/sampling frequency
y = cos(2*pi*frequency*t)
Y = fft.fft(y) #standard fft on the whole signal
frequencyAxis = fft.fftfreq(len(Y),1/samplingFrequency) #adjusting the x axis
#PLOTTING
fig, (ax1,ax2) = plt.subplots(nrows=2, ncols=1)
ax1.specgram(y, Fs = samplingFrequency)
ax2.stem(frequencyAxis,Y,linefmt='r--', markerfmt='ro')
플롯 그러나 스펙트로 그램이 위치에 제 아이디어 라인을 나타내는
전체의 신호의 FFT는 4. 피크 예상대로 오류는 무엇입니까?
업데이트 다음 버전을 사용 하였다
- 하기 matplotlib '1.1.1'
- NumPy와 '1.6.2'
- 파이썬 2.7.3
스펙트로 그램은 4시에 선을 그려주기 때문에이 결과 (Numpy 1.7.1 및 matplotlib 1.2.1)를 복제 할 수 없습니다. Btw, 스크립트에 오타가 있습니다. 'freqency' 대신에'frequency' 라인을 사용합니다. – hooy
파이썬 2.7.4에서 numpy 1.7.1, matplotlib 1.2.1, 제대로 작동 –
업데이트 후에 작동합니다. 당신이 대답에 대해 말한 것을 형성한다면, 나는 그것을 받아 들여 해결 된 것으로 표시 할 것입니다. – TheMeaningfulEngineer