Работа с окнами и сжатие без потерь

Я изучаю, как работает FLAC, хотя мой вопрос актуален для любого кодека без потерь.

Интересно, как кодек может быть без потерь, если исходный сигнал умножается на окно, которое не является прямоугольным.

Я думаю, что эта операция изменит поток, который мы не хотим изменять.

Я знаю, что прямоугольное окно имеет ужасную спектральную характеристику (синк, много лепестков), но в чем проблема? Мы не хотим нарушать аудиопоток, и, умножив на что-то отличное от 1, мы это сделаем.

Спасибо.


person baister    schedule 17.11.2013    source источник


Ответы (1)


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

Вы можете использовать (симметричное) окно и применить его к частям аудио, если вы также введете то, что известно как перекрытие. Обычно используется 50% перекрытие. Это означает, что последние 50% вашего предыдущего фрагмента добавляются к первым 50% вашего следующего фрагмента. Это операция без потерь.

person Ronny Andersson    schedule 17.11.2013
comment
Но почему я должен беспокоиться о спектральной утечке? На этом этапе окна я хочу только вырезать поток, не так ли? - person baister; 17.11.2013
comment
Преобразование между временем и частотой (скорее всего, с использованием быстрого преобразования Фурье, БПФ) предполагает, что ваш входной сигнал является периодическим. Большинство сигналов не соответствуют этому (они идеально выровнены по фазе и периодически), поэтому мы обманываем, применяя окно, чтобы минимизировать этот эффект. - person Ronny Andersson; 17.11.2013
comment
Спасибо. Я понял, что вы говорите, и для некоторых приложений (например, аналого-цифровое преобразование) я нахожу это совершенно логичным. Однако, как я до сих пор изучал, на этапе кадрирования нам нужно обрезать сигнал, чтобы получить псевдостационарные, более редактируемые и предсказуемые потоки. Я думаю, что использование прямоугольных окон было бы гораздо более разумным вариантом, потому что нас волнует не частота, а временная область. Где ошибка в моем размышлении? Спасибо еще раз. - person baister; 17.11.2013
comment
В сети есть несколько страниц, которые описывают спектральную утечку лучше, чем я здесь, например, это сообщение в блоге. Если вся ваша обработка после того, как вы разделили сигнал на блоки, выполнялась в временной области, вам нужно только отслеживать ваше начальное состояние(я) между различными блоками обработки. Но поскольку вы будете выполнять обработку в частотной области в своем блоке, вам придется беспокоиться о частотах, и поэтому окно может быть предпочтительным. - person Ronny Andersson; 17.11.2013
comment
Извините, с чего бы flac вообще полагаться на БПФ? Имеет ли это? Аудиосигнал проходит через АЦП (аналогово-цифровой), чтобы получить представление PCM, все во временном пространстве. БПФ будет использоваться в задачах фильтрации, но, насколько мне известно, не используется для кодирования аудиоданных во временной области. Так что никаких окон. - person Charles Pehlivanian; 04.12.2013