Разрешение по времени и частоте является общеизвестной проблемой, и действительно есть способы ее преодоления. Для аудиосигналов некоторые из наиболее часто используемых методов включают: параметрические методы; адаптивное разрешение (анализ с различными конфигурациями времени / частоты и объединение результатов - Вен Х. и М. Сандлер, «Композитная спектрограмма с использованием нескольких преобразований Фурье»); вейвлеты / разложения на слишком полных основаниях; и использование информации о фазе для извлечения точного местоположения частотных пиков (IFgram).
Тем не менее, похоже, что график, который вы показали, не использует некоторые из этих методов; так что я подозреваю, что это не то, что вы можете искать. Кажется, что есть некоторая «смазанность» на горизонтальной оси (например, при t = 1,2 с), и это является верным признаком того, что анализ был выполнен с большим перекрытием между кусками.
Действительно, длительность порции и количество кадров анализа в секунду не обязательно должны быть связаны друг с другом, если вы позволяете кадрам перекрываться. Поэтому, если вы хотите использовать кадр анализа длиной 40 мс, ваша сетка не обязательно должна быть:
кадр 1: t = 0..t = 40 мс; кадр 2: t = 40 мс ... t = 80 мс
Это вполне может быть:
кадр 1: t = 0..t = 40 мс; кадр 2: t = 10 мс ... t = 50 мс
Это перекрытие может создать иллюзию более высокого временного разрешения без слишком большого уменьшения размера окна FFT. Обратите внимание, что это может помочь только в точном определении местоположения события на оси времени - это не поможет разрешить два события, близких по времени ... Так же, как увеличение размера FFT может помочь в определении местоположения пика частоты, но не в разрешение двух соседних частотных пиков.