|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.01.2013, 13:46 | #11 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Да, это мы уже выяснили. Застрял на реализации алгоритма декодирования.
В начале идет пилот-тон, или "лидер" из 256 байт 0xFFh. То есть примерно 256*8 = 2048 "широких" импульсов - единиц. По нему вычисляю некую скорость, а если точнее, то интервал в байтах между сменой полярности с положительной на отрицательную. Дальше чего-то не выходит ничего...
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
27.01.2013, 13:48 | #12 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Для начал нужно выяснить, как именно кодируется бит.
|
27.01.2013, 14:19 | #13 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Единичный бит кодируется периодом в 1 мс, нулевой бит кодируется периодом в 0.5 мс. Частота у единицы - примерно 1000 гц, у нуля - 2000 гц соответственно.
На этой картинке выделенная область - это бит "0". За ним большой размах - это "1"
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Последний раз редактировалось Tronix; 27.01.2013 в 14:22. |
27.01.2013, 18:29 | #14 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Ну, тогда осталось измерять длительности импульсов и преобразовывать их в биты.
|
27.01.2013, 20:08 | #15 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Это понятно, не понятно как именно это сделать )
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
28.01.2013, 07:48 | #16 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
А что именно непонятно?
Как измерить или как преобразовать? |
05.02.2013, 19:23 | #17 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Не понятно, как "измерять". Первоначально, пробовал сделать так:
по пилот-тону (2048 импульсов с большим размахом) определить скорость. При этом следующий импульс мерил сменой полярности, то есть прохождением мимо 0x80h (относительного нуля). Далее уже зная скорость, смотрим сменилась ли полярность за указанную скорость. Если да - то это 0 иначе - 1. В принципе, такой подход заработал, но только лишь для двух конкретных аудио записей. И то при условии смещения относительного нуля до границы 0x60h. Почему такое происходит? Потому, как я начинаю мерять импульс не с его начала, а условно говоря - с его середины. Ща попробую изобразить: Вот это нормальный целый импульс: А вот так примерно получается меряет его моя прога: Это как ни странно работает, но только на двух определенных записях. Тот же упомянутый в первой теме MP3 файл таким способом не декодируется, точнее пытается - но с многочиисленными ошибками. Очевидно, что нужно честно полностью огибать полный импульс, но я не могу ваще. Такая хрень получается.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
05.02.2013, 20:33 | #18 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А расстояние между двумя соседними минимумами или максимумами? Или между сменой знака, пропуская одну?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 05.02.2013 в 20:36. |
06.02.2013, 08:02 | #19 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
06.02.2013, 08:30 | #20 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Конечно нет, не забываю. Я конечно нуб, но не настолько )
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос про запись данных в файл. | pinkiller | Общие вопросы C/C++ | 4 | 05.01.2012 15:57 |
Вопрос про MaskEdit и воиспроизведение *.wav | Deis | C++ Builder | 4 | 20.04.2011 20:07 |
Вопрос про воиспроизведение *.wav | Deis | Помощь студентам | 3 | 18.03.2011 17:43 |
Вопрос про MaskEdit и воиспроизведение *.wav в C++ Builder 6 | Deis | Помощь студентам | 0 | 11.03.2011 22:33 |
Вопрос про обработку исключений | Ok-ei | Общие вопросы C/C++ | 17 | 19.08.2009 22:49 |