Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм кодирования речевого сигнала для слабых MCU
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Halfback
Есть микроконтроллер Силабс с ядром С51 (Si1000). Тактовая частота 25МГЦ. Максимальная частота выборки АЦП 300КГц, разрядность 10 бит (8бит). Нужно закодировать сигнал с электретного микрофона для передачи по радиоканалу со скоростью не более 4кбит/сек.
То, что ядро контроллера слабое - более чем понятно, с STM32 конечно проще sm.gif . Но что есть то есть. На студийное качество звука не претендую. В принципе хочу собрать рацию для обмена речевыми сообщениями + служебных данных.
Какие будут предложения как кодировать? Изобретать велосипед не хочется, может есть готовые для употребления на Си алгоритмы? Заранее спасибо!
AHTOXA
Так вот же рядом тема имеется.
polyname
Цитата
Так вот же рядом тема имеется.
на контроллер посмотрите - вряд ли он такое потянет.
а потянет он скорее всего максимум uLaw и ADPCM.
EDICи от Телесистем с успехом используют 2- или 3-битный ADPCM на PIC-ах
_3m
Цитата(Halfback @ Sep 7 2012, 09:31) *
Есть микроконтроллер Силабс с ядром С51 (Si1000).
...
Нужно закодировать сигнал с электретного микрофона для передачи по радиоканалу со скоростью не более 4кбит/сек.
То, что ядро контроллера слабое - более чем понятно

4 килоБита ???
Предолжений не будет. Для указанного потока процессор неадекватен.
Начиная с 18 килобит можно поговорить.

Fat Robot
Нуу.. Зачем же Вы так резко... бубнилку какую-нибудь можно сделать:
1bit ADPCM, входная частота отсчетов < 4 ksps.

На моей памяти следующая оценка:
Реализация 2-, 3-, 4-bit ADPCM при 8 ksps на входе (G.726) на ADSP-2101 (ASM) потребляла 4 MIPS на 1 канал (сжать или разжать). По затратам памяти не вспомню, но что-то весьма гуманное.

Чем хорош ADPCM: При запаковке и распакове используется один и тот же набор функций, и для этих задач тебуются примерно равные ресурсы. Для малобюджетного речевого полудуплекса - самое то.

Но.. Если вопрошающий посмотрит, как и в каких интересных условиях тестируются кодеки для тактических радиостанций и попробует эти тесты повторить то, возможно, немного опечалится, получив результат.

Цитата(_3m @ Sep 7 2012, 17:02) *
4 килоБита ???
Предолжений не будет. Для указанного потока процессор неадекватен.
Начиная с 18 килобит можно поговорить.
blackfin
Цитата(Fat Robot @ Sep 7 2012, 18:50) *
Нуу.. Зачем же Вы так резко... бубнилку какую-нибудь можно сделать:
1bit ADPCM, входная частота отсчетов < 4 ksps.

А для начала можно протестировать уже сделанные "бубнилки":samples.
Fat Robot
Это скорее демонстрация технических возможностей, имеющая, скорее всего, мало отношения к реальным условиям применения. Ну и потом затрат производительности/памяти нигде не приводится, но подозреваю, что не мало.

Для тестирования надо хотя бы в метро (как в вагоне, так и в шумном переходе) или в машинке в этот кодек поговорить и посмотреть на результат.

Посмотрите, как Raytheon тестирует: в шумовой обстановке вертолета.
DRUID3
OpenLPC не? Все время интересовало сколько мипс он откусит от 8-битки...
Tano
Немного похоже на то, что ищите:
http://www.silabs.com/Support%20Documents/...lDocs/AN278.pdf
но надо подработать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.