@interrupt

Как реализовать анализирующий полифазный косинусно модулированный банк фильтров по синтезирующему?

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

Есть задача, по данному синтезирующему банку фильтров (https://github.com/FFmpeg/FFmpeg/blob/master/libav... написать анализирующий. В ATRAC3plus мы имеем разложение на 16 полос. Попробовал адаптировать код из musepack энкодера (https://github.com/Voskrese/libmpc-msvc/blob/maste... на случай произвольного количества полос и произвольной длины прототипа - получил выбросы на прямоугольном сигнале
5db5407967cf8816890840.png
и некоторый алиасинг от 0hz на частоту кратную удвоенной частоте раздела (2756.25 = 2 * 22050 / 16)
5db5424925107751788509.png

Для частот 1000 hz и 1378.125 hz картинка такая:
5db5426cc8413273002170.png

Хотя само разложение более менее похоже на правду.

Можно было бы списать на не perfect reconstruction. Однако ffmpeg без подобных искажений декодирует сигнал после кодирования оригинальным atrac3plus кодировщиком.

Буду благодарен советам как локализовать проблему, или ссылкам что почитать по реализации pqf в коде.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы