Главная » Программирование звука » Преобразования Фурье

0

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

Инженеры  называют  их  временной  областью  (time  domain)  и  частотной  областью  (frequency  domain).  B  первой  звуковой  сигнал  выглядит  как  последовательность  дискретных  значений.  При  таком  подходе  можно  легко  отрегулировать амплитуду  звука  (просто  промасштабировав  каждую  выборку),  произвести  микширование   нескольких   звуковых   сигналов   (сложить   выборки)   или   реализовать задержку  звукового  сигнала.  B  частотной  области  звуковой  сигнал  выглядит  как набор  сложенных  вместе  частот.  При  подобном  подходе  легко  выделить  определенные  компоненты,  такие  как  «верхи»  или  «басы»,  и  манипулировать  ими  по отдельности.

Главным   инструментом   для   преобразований   между   двумя   представлениями, является  так  называемое  преобразование  Фурье  (Fourier  Transform),  названное  так по  имени  французского  математика  Жана  Батиста  Фурье  (1768-1830).  Оно  затрагивает  довольно  сложную  область  математики.  K  счастью,  можно  достаточно хорошо  разобраться  в  практическом  применении  преобразования  Фурье,  не  вникая  в  более  специфичные  математические  подробности.  B  этой  главе  я  продемонстрирую  основные  свойства  синусоидальных  волн  и  покажу,  как  их  превратить в  метод  эффективного  вычисления  частотного  спектра  сигнала.  Несмотря  на  то что я буду рассказывать  об преобразованиях  Фурье «во всей их красе», не беспокойтесь, если ваши знания математики слегка прихрамывают: основные мысли достаточно просты.

Основы преобразования Фурье

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

Одной из типичных областей применения преобразования Фурье является сжа-

тие звука. Компрессор MPEG, например, преобразует дискретное представление

звука в частотное, так как последнее легче упаковывать. Декомпрессор MPEG распаковывает  частотную  информацию,  а  затем  при  воспроизведении  использует  обратное преобразование Фурье для перевода спектра обратно в отсчеты.

Еще   одна   область   применения     обработка   звукового   сигнала.   Например, треск  и  щелчки,  характерные  для  старых  записей,  состоят  преимущественно  из высоких  частот.  После  преобразования  звуковых  отсчетов  в  частотную  информацию  выделить  и  удалить  подобные  помехи  гораздо  легче.  Затем  проводится  обратное  преобразование  в  отсчеты  для  дальнейшей  обработки,  хранения  или  проигрывания.

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

Однако  какими  бы  преимуществами  не  обладала  частотная  область,  у  нее есть  и  недостатки.  B  реальных  сигналах  частотный  спектр  постоянно  меняется. Спектр,  вычисленный  по  преобразованию  Фурье,  явно  не  отражает  это  изменение.  Поэтому  первое  обычно  используется  для  обработки  небольшого  блока  отсчетов   от  32  до  1024  дискрет  за  один  раз.  Меньшее  количество  отсчетов  дает меньшее частотное разрешение. Если два сигнала близки по частоте, для того чтобы  их  различить,  придется  использовать  большой  блок  отсчетов.  Однако  большие блоки  отсчетов  размывают  информацию  о  времени.  Устранение  треска  и  щелчков из старых записей сложный процесс, так как вам одновременно нужна и частотная, и временная информация.

Преобразование,  открытое Жаном  Батистом Фурье,  всего  лишь одно  из  множества   подобных   преобразований,   применяемых   при   обработке   аудиосигналов. Оно   описывает   непрерывные   сигналы,   то   есть   такие,   которые   используются в  электронных  аудиосистемах.  Дискретное  преобразование  Фурье,  ДПФ  (Discrete Fourier Transform, DFT), о котором я расскажу в этой главе, это тот же самый подход в применении к дискретным сигналам. K другим широко используемым преобразованиям    частот    относятся:    косинусное    преобразование    (Cosine    Transform) и дикретное косинусное преобразование (Discrete Cosine Transform, DCT).

Вы  часто   будете  слышать  об  алгоритмах   быстрого  преобразования  Фурье, БПФ  (Fast  Fourier  Transform,  FFT).  Помните,  что  речь  идет  просто  о  семействе быстрых  методов  вычисления  ДПФ.  B  настоящее  время  известно  множество  различных алгоритмов БПФ, отличающихся тонкостями реализации.

Источник: Кинтцель Т.  Руководство программиста по работе со звуком = A Programmer’s Guide to Sound: Пер. с англ. М.: ДМК Пресс, 2000. 432 с, ил. (Серия «Для программистов»).

По теме:

  • Комментарии