2017-01-21 1 views
3

scipy.signal.spectrogram을 호출 한 후 해당 세그먼트에 대한 다른 주파수의 강점을 확인할 수 있습니까?signal.spectrogram 주어진 세그먼트에 대해 최대 주파수를 찾으십시오

즉 다음 실행 후 : this 등의 스펙트로 그램을 생성

fs, data = wavfile.read(waveFile)  

sampleFreqs, segmentTimes, sxx= signal.spectrogram(data, fs, nperseg=256, noverlap=128, nfft=512, window=('hamming')) 

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12,4))  
ax1.pcolormesh((len(segmentTimes)*segmentTimes/segmentTimes[-1]), sampleFreqs, 10*np.log10(sxx)) 
ax1.set_title('Spectrogram'); 
ax1.set_xlabel('Segment') 
ax1.set_ylabel('Frequency') 

.

sxx에서 10 번째 세그먼트에 가장 강한 빈도를 찾을 수 있습니까?

건배, 데이비드

답변

2

numpy.argmax에서보세요. 데이터가 충분히 깨끗해 보이므로 필터링이 필요하지 않습니다.

+0

감사합니다. 나는 스펙트로 그램과 일치하는 (segmentTimes, sampleFreqs) sxx의 모양을 기대했지만 실제로 모양은 (sampleFreqs, segmentTimes)였습니다. 이제 나는 내가 예상 한 값을 결정할 수 있음을 깨닫는다. –

관련 문제