Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DFT и IDFT программно для звукового сигнала
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
sergiator
Здравствуйте!
Проблема: с помощью преобразования Фурье преобразую аудио сигнал (речь, файл in.wav в архиве) с временной в частотную форму а потом в обратно во временную.
В результирующем сигнале речь можно разобрать, но присутствует много посторонних звуков (файл out.wav в архиве). Понимаю, что перед каждым преобразованием (или после) нужно применять какие-то фильтры (по-моему, даже называются они оконные).
Объясните популярно, пожалуйста: какие фильтры (название) и в каком месте применять (до или после).

ЗЫ: Скорость преобразования не имеет значения - нужно просто разобраться что к чему. Поэтому использую не FFT, а DFT, код переделал от сюда (обратное) и от сюда (прямое)
sergiator
Цитата(sergiator @ Sep 20 2013, 14:04) *
Здравствуйте!
Проблема: с помощью преобразования Фурье преобразую аудио сигнал (речь, файл in.wav в архиве) с временной в частотную форму а потом в обратно во временную.
В результирующем сигнале речь можно разобрать, но присутствует много посторонних звуков (файл out.wav в архиве). Понимаю, что перед каждым преобразованием (или после) нужно применять какие-то фильтры (по-моему, даже называются они оконные).
Объясните популярно, пожалуйста: какие фильтры (название) и в каком месте применять (до или после).

ЗЫ: Скорость преобразования не имеет значения - нужно просто разобраться что к чему. Поэтому использую не FFT, а DFT, код переделал от сюда (обратное) и от сюда (прямое)


smile3046.gif Так, я натупил, но проблема осталась:
1) натупил: неправильно преобразовал данные из byte pcm (формат входящего файла) в double (необходимого для FFT) и обратно
2) проблема: все равно есть посторонние звуки (файл out2.wav)
ukpyr
попробуйте умножить вх.сигнал на какое-нибудь окно:
http://ru.wikipedia.org/wiki/%D0%9E%D0%BA%...%80%D1%8C%D0%B5
andyp
Вам бы про свертку в частотной области (convolution in frequency domain) почитать.
Corner
Для начала надо понять, что Фурье в лоб для звука не пригодно. Надо преобразовывать с перекрытием. Если берете, для примера, 8192 точки то перекрытие желательно 6144 точки (сдвиг на 2048). И при обратном преобразовании результат надо усреднять по числу перекрывающихся областей (в данном случае по 4-ем).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.