Plotting a spectrogram using DSP.jl

That helps so much! Playing around with the numbers of samples per fft of the spectrogram made things more clear. The frequency-axis also extends from 0 to fs/2, and so setting y-lims to what I could tell to be the interesting parts based on an FFT of the whole signal turned out to be very helpful as well. It took some tinkering, but the result is great :slight_smile:

My code is now

fs = 44100
number_of_peices = 10_000
samples_per_fft = length(data)÷number_of_peices
spec = spectrogram(data, samples_per_fft; fs)
plot(spec.time, spec.freq, spec.power, ylims=(500, 5e3),
xguide="Time  / s", yguide="Frequency  / Hz")

, where data is a morse signal with some high frequency noise that fades in and out on top. The resulting spectrogram became


, and one can see the morse signl and the noise very clearly.

The only tiny issue now is that there is still noise where the spectrogram seems to say there is none, but perhaps it is just not loud enough. Thanks so much!