|
MP3 декодер, Помогите разобраться с реализацией |
|
|
|
Apr 10 2012, 07:12
|

Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354

|
Цитата(Kuzmi4 @ Apr 10 2012, 09:03)  Да. это единственное, что пока нашел... честно скажу, что не хватает знания mp3 чтобы связать эти 3 функции... а связки их в этом проекте как раз и нет... чем заполнить header_type я разобрался... а вот со структурой frame_type и в частности sideinfo_type появился затык... откуда брать данные для неё? Правильная последовательность блоков ? входная память под frame -> huffman -> промежуточная память -> IMDCT -> промежуточная память -> filter bank -> память содержащая pcm данные Если кому будет интересен вопрос структуры mp3, то я нарыл вот такую статьюправда оно на испанском... приходится курить гугл переводчик.... но хоть что-то стало проясняться...
Сообщение отредактировал wpost - Apr 10 2012, 11:53
|
|
|
|
|
Apr 15 2012, 08:24
|

Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354

|
Цитата(bav @ Apr 13 2012, 18:32)  может, проще взять рабочие исходники на cpp и по ним сделать проект. исходники на cpp, немного доработав, использовать как референсную модель, добавить обвязку на SC и подсоединять свои модули. Да такую тему тоже рассматривал. нашел даже lame на с++ только там сам черт ногу сломит... Вот нашел первоисточник откуда содран проект c OpenCores http://simple-mp3-soft-ip-core.wikispaces.com/es-huffman.vhdтут букв побольше и исправлены ошибки, в которые я уже успел вляпаться... но нет цельных vhdl файлов, а только их куски. т.е. если скрестить файлы с OpenCores и эти правки может что-то и получится сделать...
|
|
|
|
|
Apr 16 2012, 11:46
|
Знающий
   
Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184

|
Цитата нашел даже lame на с++ только там сам черт ногу сломит... главное, что бы рабочие исходники. поправьте их, как Вы считаете лучше и в путь! Цитата если скрестить файлы с OpenCores и эти правки может что-то и получится сделать... учитывая, что Цитата честно скажу, что не хватает знания mp3 лучше делать по модели. попробуйте для начала перенести прогу на ниос, а там сделайте аппаратные ускорители для тех модулей, которые требуют по-больше ресурсов.
|
|
|
|
|
Jun 2 2012, 21:18
|
Участник

Группа: Участник
Сообщений: 42
Регистрация: 2-06-12
Из: Минск
Пользователь №: 72 138

|
Что нибудь получилось? я тоже хочу сделать MP3 на FPGA, но пока знаний маловато у меня....
|
|
|
|
|
Jun 4 2012, 12:17
|
Профессионал
    
Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942

|
Вообще-то все придумано в неплохом виде вот этими ребятами. На чистом Verilog. Как довесок к MPEG2 декодеру. http://www.ece.mcmaster.ca/~nicola/mpeg.htmlТам же сборка под DE1. Странно, что никто не кинул ссылку. А может это оно и утекло на opencores. UPD: Хотя нет, вряд ли. На opencores на vhdl и какой-то «огрызок» на первый взгляд. UPD2: Для справки. Все ядро mp3 выливается в 600 триггеров @ 4 МГц, обеспечивая частоту семплирования 48 кГц.
Сообщение отредактировал x736C - Jun 4 2012, 12:22
|
|
|
|
|
Apr 11 2016, 17:14
|
Группа: Участник
Сообщений: 6
Регистрация: 8-10-06
Пользователь №: 21 097

|
Господа, кто-нибудь сталкивался с переносом вышеуказанного мп3 декодера (MAC_MP3_Hardware) на Spartan 6? Ломаю голову над тем, что на выходе звук искажённый, дребезжащий (в прикреплённом файле пример того что удалось декодировать). При этом битстрим собрался успешно, без ошибок. Сам mp3_top.v подключён к AXI-Stream обвязке, работоспособность которой была проверена.
Сообщение отредактировал serg GW - Apr 11 2016, 17:19
Прикрепленные файлы
test2.mp3 ( 834.42 килобайт )
Кол-во скачиваний: 12
|
|
|
|
|
Apr 11 2016, 21:35
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 25-02-16
Пользователь №: 90 600

|
Возможно, где перепонения происходят или еще какие ошибки. Предлагаю найти какой рефернсный декодер на С, скормить ему с десяток мп3 фреймов, сохранить промежуточные результаты этапов декодирования, и с ними же прогнать в тестбенчах код декодера, сравнивая. Это более менее позволит локализовать ошибки.
|
|
|
|
|
Apr 12 2016, 07:14
|
Группа: Участник
Сообщений: 6
Регистрация: 8-10-06
Пользователь №: 21 097

|
Да, как-раз это и собираюсь сделать. По той-же ссылке есть MAC_MP3_Software, которое и есть референсный декодер, он как-раз и записывает в файл промежуточные результаты. Буду пробовать каждый блок по отдельности.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|