WAV файл - делаем FFT - делаем IFFT - сохраняем результат в WAV

Тема в разделе "WASM.A&O", создана пользователем serega28, 15 ноя 2009.

  1. serega28

    serega28 Member

    Публикаций:
    0
    Регистрация:
    26 мар 2007
    Сообщения:
    115
    Адрес:
    Minsk
    Не врубаюсь как это делается. Пробовал kiss fft library, и из Вики тоже, но неполучается.

    Какие надо действия сделать чтобы после IFFT результат получился аналогичным начальному WAV?
    Может уже есть готовые решения посмотреть.
     
  2. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    На N разделить не забыл, т.e. пронормировать ifft?
    и потом, какой в задницу ВАВ? Проверь сначала на четырех числах, потом на восьми...
     
  3. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Ну и потом при приводе к 16 бит целого возможны ошибки округления.
     
  4. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    serega28
    Во первых надо посмотреть есть там деление N. Должно быть, но могли и не сделать.
    А во-вторых числа с плавающей точкой имеют ограничения и при суммировании умножении ошибка накапливается так вот ограничение ошибка в один бит если вести вычисления в числах с двойной точностью ошибка может проявляться если брать 2^17 отсчетов реально немного и больше можно брать без ошибок округления.

    Так что если файл большой, то делать кусочками.
     
  5. serega28

    serega28 Member

    Публикаций:
    0
    Регистрация:
    26 мар 2007
    Сообщения:
    115
    Адрес:
    Minsk
    Ну я поделил. Но того сигнала нет.
    Ну амплитуда другая.

    Вообще, когда я сделал FFT что у меня за цифры появились?
    Беру окно в 256 байт, и что на выходе то???
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    serega28
    Откуда байты??? Надо семплы в реальные (комплексные) числа переводить.