Окно Хэмминга с перекрывающимся питоном
Я пытаюсь реализовать статью « Комплексная оптимизация распознавания подводного акустического шума, излучаемого кораблем, на основе слияния двухмерных элементов» .
Моя самая большая проблема - это преобразование
.wav
файлы в 2d массивы. В статье упоминается
Каждый первоначально записанный сигнал в базе данных оформляется с использованием окна Хэмминга длиной 2048 с перекрытием 50%. При частоте дискретизации fs=52734 Гц продолжительность каждого отсчета составляет примерно 40 мс.
а также
7 уровней разложения WP с помощью вейвлета Symlet четвертого порядка используются для разложения каждой необработанной выборки на 128 поддиапазонов.
Я очень ценю любую помощь в понимании и реализации этого с помощью Python.
1 ответ
Вы можете вычислить перекрывающиеся окна, используя librosa.utils.frame , с window_length = 2048 и hop_length = 1024 (перекрытие 50%). функцию можно вычислить с помощью Оконнуюlibrosa.filters.get_window с window = "hamming"
Каждое окно из функции фрейма умножается на функцию окна. Затем вы можете использовать pywt.wavedec с wavelet = "sym" и level = 7, чтобы получить результат для каждого кадра. Он должен иметь 128 измерений.