Отправьте статью сегодня! Журнал выйдет 9 августа, печатный экземпляр отправим 13 августа
Опубликовать статью

Молодой учёный

Синхросжатие спектрограмм нестационарных сигналов

Технические науки
17.06.2022
63
Поделиться
Библиографическое описание
Грачев, М. А. Синхросжатие спектрограмм нестационарных сигналов / М. А. Грачев, М. И. Зенцов. — Текст : непосредственный // Молодой ученый. — 2022. — № 24 (419). — С. 96-98. — URL: https://moluch.ru/archive/419/93141/.


Проведены испытания метода синхросжатия (synchrosqueezing) кратковременного преобразования Фурье на существенно нестационарных сигналах. На испытанных сигналах синхросжатие улучшало визуальную резкость изображения, но для улучшения разрешения оказалось не эффективно.

Ключевые слова: short-time Fourier transform, synchrosqueezing, спектрограммы, нестационарные сигналы.

Кратковременное преобразование Фурье (Short-Time Fourier Transform, STFT) широко используется для частотно-временного анализа сигналов, позволяя строить двумерные спектрограммы. Недостатком STFT является то, что для него разрешение по времени и разрешение по частоте — взаимно обратные величины, поэтому невозможно их максимизировать в одной спектрограмме. На практике это может приводить к визуальной размытости спектрограмм и затруднять их интерпретацию. В последние годы разработан метод обработки данных STFT, называемый синхросжатием (synchrosqueezing) [1, 2, 3]. Цель данной работы состояла в проверке эффективности синхросжатия для случая резко нестационарных сигналов. Была использована библиотека ssqueezepy [3] и файлы данных, полученных от датчиков вибраций. Рассмотрим необходимые фрагменты программы на Python. Функция ssq_stft вычисляет STFT и проводит синхросжатие:

from ssqueezepy import ssq_stft

...

# длина БПФ, длина окна, частота дискретизации

n_fft = 512

win_len = n_fft // 1

fs = 500.0

# прочитать сигнал из файла

f = open('H:\\Vibro\\FridgeY_21804_.txt')

signal_1d: ndarray = np.loadtxt(f, dtype=float)

f.close()

# вычислить спектрограммы

Tsx, Sx, ssq_freqs, *_ = ssq_stft(signal_1d, n_fft=n_fft, win_len=win_len,

window='blackmanharris', fs=fs)

# показать спектрограммы

signal_2d_show(np.flipud(Sx), dynamic_range=1000, colormap='gnuplot2')

signal_2d_show(np.flipud(Tsx), dynamic_range=1000,

colormap='gnuplot2')

...

На рис. 1 приведен пример сигнала от датчика виброускорения.

Вибрация при выключении компрессора холодильника

Рис. 1. Вибрация при выключении компрессора холодильника

В момент времени 10 с размыкается электрическая цепь питания компрессора, после чего происходит развитие и последующее затухание вибрации всей конструкции холодильника.

На рис. 2 показана спектрограмма этого сигнала, полученная традиционным методом STFT при частоте дискретизации 500 Гц, длине БПФ 512 и динамическом диапазоне отображения 60 дБ. Видно, что весь переходный процесс занял около 8 с и проходил в несколько этапов. До выключения компрессор создавал почти синусоидальную вибрацию на частоте чуть меньше 50 Гц. При выключении компрессора сначала наблюдается кратковременная высокочастотная вибрация, связанная с электрическим размыканием цепи двигателя. Далее двигатель в течение примерно одной секунды быстро снижает скорость и останавливается. При этом накопленная энергия поочередно отдается механическим колебаниям всей конструкции, начиная от их верхних гармоник и заканчивая основной гармоникой с частотой приблизительно 6 Гц. Затем колебания на нескольких гармониках постепенно затухают уже при остановленном двигателе.

Спектрограмма STFT

Рис. 2. Спектрограмма STFT

На рис. 3 показана спектрограмма, обработанная синхросжатием (Fourier-based SynchroSqueezing Transform, FSST). Сравнение с предыдущей позволяет отметить, что в данном случае синхросжатие мало что может добавить к приведенному выше анализу переходного процесса. Более узкие спектральные линии на стационарных участках сигнала, возможно, позволяют более точно визуально оценить их частоты.

Спектрограмма FSST

Рис. 3. Спектрограмма FSST

Можно предположить, что применение синхросжатия к спектрограммам резко нестационарных сигналов не дает существенного улучшения разрешения, хотя и полезно для визуального восприятия изображения.

Литература:

  1. Oberlin T., Meignen S., Perrier V. The Fourier-based synchrosqueezing transform / 2014 IEEE international conference on acoustics, speech and signal processing (ICASSP). — IEEE, 2014. — С. 315–319.
  2. Meignen S., Oberlin T., Pham D. H. Synchrosqueezing transforms: From low-to high-frequency modulations and perspectives / Comptes Rendus Physique. — 2019. — Т. 20. — №. 5. — С. 449–460.
  3. Synchrosqueezing in Python [Электронный ресурс] / John Muradeli. — URL: https://github.com/OverLordGoldDragon/ssqueezepy (дата обращения: 10.03.2022).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
short-time Fourier transform
synchrosqueezing
спектрограммы
нестационарные сигналы
Молодой учёный №24 (419) июнь 2022 г.
Скачать часть журнала с этой статьей(стр. 96-98):
Часть 2 (стр. 89-169)
Расположение в файле:
стр. 89стр. 96-98стр. 169

Молодой учёный