[an error occurred while processing this directive]
Присмотрись к ADPCM (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено birthday 22 августа 2002 г. 10:58
В ответ на: Вопрос о сжатии речи отправлено sos 22 августа 2002 г. 00:10

>как сжать оцифрованную речь 10 бит так, чтобы потом разжать

Проще всего воспользоваться ADPCM алгоритмами. Например, IMA ADPCM (16<->4) реализуется простейшей 16-и битной арифметикой, никаких умножений и т.п. У Microchip описана реализация приложения в 00643b.pdf + 00643.zip. Исходники на С,так что проблем с переносом не будет.

> и впихнуть в 4 или 2 бит ЦАП.

Хм. Зачем такой огород городить? Вполне достаточно аппаратного или программного PWM на 10-бит с частотой 2-4 раза выше частоты дискретизации.

>хочется на АВРе

Не знаю, как у AVR обстоят дела с аппаратными PWM, но подозреваю, что если уж на PIC проблем нет, то у AVR тоже есть все шансы. В худшем случае сгодится и программная реализация.

>обще какие соображения по поводу оптимального сжатия ( разборчивость речи\размер ) применительно к контролерам?

Конечно, 16-и или 10-и битный сэмпл это красиво, но в жизни хватает и 8-и. Легко упаковывается в 3-х битный код, да и вся арифметика 8-и битная, быстрая и маленькая. Например, у меня получилось, что при ADPCM (8<->3) декодере, софт I2C и аппаратном PWM, на 6-и мегагерцовом PIC16F (1.5 MIPS), требуется ~ 100us на сэмпл. То есть, 8000 8-и битных сэмплов в секунду и 3Кбайта/с битрэйт легко реализуются почти на любом PIC-е. Заняло все это меньше 400-от слов программной памяти. И звук не сильно отличается от несжатого PCM. Вообще-то качество самому придется оценивать, слишком здесь все субъективно.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru