diff --git a/step_response_specto.py b/step_response_specto.py index fe50312..ae6d9ab 100644 --- a/step_response_specto.py +++ b/step_response_specto.py @@ -55,12 +55,29 @@ for idx, dataset in enumerate(datasets): print(data.shape) #plt.plot(time, data[0]) # V(t) #plt.show() - nfft = 2**10 - spec, freqs, times = specgram(data[0], Fs=1.0/(time[1]-time[0]), detrend='mean', NFFT=nfft, noverlap=nfft//10) + nfft = 50000 + nfft1 = 5000 + spec, freqs, times = specgram(data[0], Fs=1.0/(time[1]-time[0]), detrend='mean', NFFT=nfft, noverlap=nfft//2) + spec1, freqs1, times1 = specgram(data[0], Fs=1.0 / (time[1] - time[0]), detrend='mean', NFFT=nfft1, noverlap=nfft1 //2) + dbspec = 10.0*np.log10(spec) # in dB + dbspec1 = 10.0 * np.log10(spec1) # in dB print(np.min(dbspec), np.max(dbspec)) - plt.imshow(dbspec, cmap='jet', origin='lower', extent=(times[0], times[1], freqs[0], freqs[-1]), aspect='auto', vmin=-80, vmax=-30 ) + #plt.imshow(dbspec, cmap='jet', origin='lower', extent=(times[0], times[-1], freqs[0], freqs[-1]), aspect='auto', vmin=-80, vmax=-30) + plt.imshow(dbspec1, cmap='jet', origin='lower', extent=(times1[0], times1[-1], freqs1[0], freqs1[-1]), aspect='auto', vmin=-80, vmax=-30 ) # interpolation, vmin, vmax # plot decibel as function of frequency for one time slot: wieso auflösung von frequenzen schlechter wenn nfft hoch? - plt.show() -embed() \ No newline at end of file + # wird frequenzauflösung besser bei höherem nfft, auch da bei nfft hoch df klein und somit hohe auflösung? + # zeitliche auflösung schlechter mit größerem nfft + + #for k in range(len(times)): + #plt.plot(freqs, dbspec[:,100], label = '0') + #plt.plot(freqs1, dbspec1[:, 100], label = '1') + df = freqs[1] - freqs[0] + df1 = freqs1[1] - freqs1[0] + print(df) + print(df1) + plt.legend() + plt.show() + embed() +