Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ...и снова БПФ.. в сжатие звука? 
:(
    Опции темы
dwr_budr
Дата 8.4.2004, 00:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











День добрый знатоки всяких разных преобразований из time domain в frequency domain!

Извиняюсь за вероятное ламерство вопроса!
Я начинающий в этом деле! Само преобразование меня нисколько не смущает и не пугает, закодить ео если что смогу! Мне интересно другое! Интерпретация результатов таких преобразований!

К примеру БПФ!
Решил зажать песню к слову! Беру первые 512 выборок! БПФ вернет мне 512 комплексных значений (амплитуда и фаза).. так?
И вот собственно вопросы..
- амплитуды каких частот это будут?
- или это еще не готовые амплитуды и еще что то нужно сделать?
- что делать с фазами? (а то как то вместо 512 чисел уже 1024 нарисовалась для хранения)
- как интерпретировать вообще эти результаты и понять какие данные можно выкинуть что бы потом восстановить без ощутимых для слуха потерь? (понимаю /*надеюсь что правильно понимаю*/ что по амплитудам смотреть.. но как уже говорил для меня загадка какие частоты находятся в ответе..)

Может можно пример привести конкретный! Типа вот 8 вхдных значений.. вот 8 выходных и т.п. Такие то игнорим и сохраняем место таким образом..
Или где такой пример можно глянуть?


Спасибо!
  Вверх
dwr_budr
Дата 8.4.2004, 00:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот покапался у вас и нашел ссылочку
http://www.dsp.sut.ru/book/lections/l4/l4_4.htm

Там есть раздел: практический пример.

Ответ про отбрасывания значений начинаяя от N/2 прочитал!

И про вычисление амплитуды SQRT(real^2 + img^2).. вроде так?
И про распределение частот в выходном массиве тоже вроде понял!

Но не пойму все еще что делать с фазами? За счет чего получится сжатие?

Раз N/2 значений игнорим то остается еще N/2 (комплексных) которые и займут по размеру столько же сколько N входных значений!
Или сжатие будет за счет того что в оставщихся N/2 значениях слабые частоты (и их фазы) можно просто занулись и эффективней сохранить уже использую обычные алгоритмы сжатия?




  Вверх
dwr_budr
Дата 8.4.2004, 00:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











И сорри! Не покАпался, а покопался smile.gif
Совсем забываю следить за грамотностью в инете!!
  Вверх
maxim1000
Дата 8.4.2004, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



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

Это сообщение отредактировал(а) maxim1000 - 8.4.2004, 11:53


--------------------
qqq
PM WWW   Вверх
podval
Дата 8.4.2004, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Если нравятся время-частотные преобразования, то сжимать можно вейвлетами.
PM WWW ICQ   Вверх
dwr_budr
Дата 8.4.2004, 21:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Максим1000

Не ну понятно что не дает! Я именно к тому как можно частотную информацию обработать дабы зажать лучше! Вот и спрашивю за счет чего же таки сжимают и как правильно что отбросить что бы потери в качестве не были слышны smile.gif

Более того еще вопрос! Результаты ведь вещественого типа? Ничего если я до целого буду округлять? Слышал про целочисленные преобразования фурье! Они округляют или вообще с целыми работают?

Спасибо!

  Вверх
dwr_budr
Дата 8.4.2004, 22:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Podval

С вейвлетами еще не ковырялся! Может и с ними все организую! Спрашивать если что у тебя можно? smile.gif
  Вверх
sergejzr
Дата 8.4.2004, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Дело насколько я знаю обстоит немного сложнее.
Есть целая теория насчёт того, что человеческое ухо не воспринимает частоты A, если амплитуда частоты B больше на N (существуют таблицы). Такие значения можно сажать на ноль. в итоге получим много нулей подряд.
Ещё: не вероятно, что в сигнале присутствуют ВСЕ возможные частоты, которые воспринимает человеческое ухо. За счёт этого нам становатся не нужны все биты значений оригинального сигнала.

Надеюсь это хоть сколько нибудь поможет.
К сожалению давно уже это было, когда с сжатием разбираться заставляли smile.gif



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
dwr_budr
Дата 8.4.2004, 23:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сергей спасибо!

В мп3 они насколько я знаю именно так и делают.. это кацца masking нзывается! (только они не по всему спектру сразу смотрят а более детально по 32м диапазонам если не ошибаюсь)
По поводу того что это сожнее.. я ни на миг не сомневаюсь! Нужно ж по идее понимать где эти частоты во времени находятся что бы сказать происходит ли этот эффект скрытия или нет! %)

Товарисчи!
Еще комментарии будут? smile.gif Или идеи по написанию революционного компрессора smile.gif))


Как закодю smile.gif Держитесь smile.gif
  Вверх
podval
Дата 9.4.2004, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата(dwr_budr @ 8.4.2004, 22:00)
Podval

С вейвлетами еще не ковырялся! Может и с ними все организую! Спрашивать если что у тебя можно? smile.gif

Нужно! smile.gif

И еще рекомендую зарегистрироваться на форуме, появятся полезные возможности.
Добавлено @ 12:02
Цитата
Слышал про целочисленные преобразования фурье! Они округляют или вообще с целыми работают?

Именно работают! И кстати, не только преобразование Фурье, есть и другие целочисленные.
PM WWW ICQ   Вверх
dwr_budr
Дата 9.4.2004, 20:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











2Podval

Да не вопрос зарегюсь smile.gif Точнее я уже регился когда то smile.gif Просто забыл пароль! И лень было его заново получать smile.gif

  Вверх
sergejzr
Дата 22.4.2004, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Как поживает супер-кодек?
Я тут подумал..
Ты же поток разбиваешь на части-окна и анализируешь спектр окна. Тут то ИМХО маскинг применять и надо. То есть исходишь из того, что все частоты в окне имеют место одноврменно и маскируешь.
Реализацию в вейвлетах не встречал, так что должно быть что то принципиально новое. Попробовать в любом случае стоит! Кстати, podval, как ты думаешь, принесёт что нибудь Zero-Tree в однодимензиональном сигнале?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
dwr_budr
Дата 22.4.2004, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 11.4.2004

Репутация: нет
Всего: 2



2 sergej.z

Поживает :)
Завтра преподу план проекта несу :)
А через недельку начну кодить собственно!
Только FFT вероятно не буду использовать. Игрался с ним и после обработки каждого интервальчика в частотном виде при склеивании на границах получались счелчки..
Как их сглаживать я не знаю (поделитесь если кто знает)

Зато вычитал про MDCT (midified discrete cosine transform). В нем преобразование по своей природе мы делаем на нахлестывающихся друг на друга интервалах, и следовательно в этом факте само сглаживание и заложено! (поправьте если неправ.. лучше знать о неверном предположении заранее :)

Ну а дальше буду разбивать на поддиапазоны и применять маскинг! Как частотный так и временной! (ждите в скорем времени много вопросов :)

Потом квантование и что нить типа адаптивного хаффмана! (это пока такие мысли)

В догонку хочется что б сам формат был фреймованный и игрался как мп3 с любогоместа.. но не думаю что я все успею до 10го июня :)

PS Кстати MDCT как раз в mp3 и используется.. да и в Vorbis'е тоже если ничего не напутал читая :)
PM MAIL   Вверх
maxim1000
Дата 22.4.2004, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата
Только FFT вероятно не буду использовать. Игрался с ним и после обработки каждого интервальчика в частотном виде при склеивании на границах получались счелчки..

Цитата
Зато вычитал про MDCT (midified discrete cosine transform). В нем преобразование по своей природе мы делаем на нахлестывающихся друг на друга интервалах, и следовательно в этом факте само сглаживание и заложено!

ни FFT, ни DCT понятия не имеют обо всем сигнале, на их вход подается просто сигнал фиксированной длины, никто не запрещает подавать на вход FFT кусочки с перекрытием
Цитата
Потом квантование и что нить типа адаптивного хаффмана!

алгоритм Хаффмана оптимален, но в адаптивном случае появляется необходимость очень часто перестраивать дерево кодирования
есть еще арифметическое кодирование, подстройка под изменение распределения там имеет значительно меньшую вычислительную сложность и часто достигает почти тех же результатов, что и Хаффман...
вообще надо определиться с критериями
обычно при разработке кодеков (а особенно супер-кодеков smile.gif ) среди критериев присутствует вычислительная сложность (иногда ради нее даже жертвуют качеством или степенью сжатия)
Цитата
В догонку хочется что б сам формат был фреймованный и игрался как мп3 с любогоместа.. но не думаю что я все успею до 10го июня smile.gif

достаточно сделать так, чтобы ошибка, случайно возникшая где-то всередине, достаточно быстро затухала


--------------------
qqq
PM WWW   Вверх
podval
Дата 22.4.2004, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата(sergej @ 22.4.2004, 00:59)
Кстати, podval, как ты думаешь, принесёт что нибудь Zero-Tree в однодимензиональном сигнале?

А что именно ты хочешь спросить? Только по-русски smile.gif
PM WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.