Перейти к содержанию
    

Кодирование звука на AVR

Господа, есть задача - транслировать по радиоканалу звук.

Послушав различное качество звука я пришел к выводу что 24 кбит/сек устроят. Меньше не хотелось бы.

 

Посоветовали использовать кодирование звука, дабы слать меньший объем данных. Снизит ли это нагрузку на контроллер?

В общем вопрос сформулирую следующим образом: для 24 кбит/сек и 16 МГц авр-микроконтроллера чем лучше кодировать звук? ПРочих задач у контроллера минимум, поэтогму 95% его загруженность вполне устроит.

 

Что лучше взять ADPCM или MP3 кодек?

В общем подскажите в сторону чего смотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем подскажите в сторону чего смотреть.

на mp3 encode у авр силёнок, пожалуй, не хватит.

еще можно посмотреть на hawkvoice и speex.

хотя они в основном для голоса и с несколько меньшими битрэйтами.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на mp3 encode у авр силёнок, пожалуй, не хватит.

это имеется ввиду если AVR будет сам кодировать MP3 ?

Если поставить VS1003, получится ли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кодирование звука повышает нагрузку на контроллер и снижает нагрузку на канал связи. Про чистый AVR не скажу, 8-битный звук все-таки маловато, а с нормальной исходной разрядностью ему сложновато будет справиться. Если AVR, то наверное, все-таки AVR32.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм... объясните как оно повышает нагрузку на контроллер?

Вот у нас микросхема VS1003, она "слушает" микрофон. Кодирует звук и уменьшает количество информации. ОТдает ее в AVR для последующей передачи. ПОчему данный способ будет медленнее, чем если бы звук тупо оцифровывался АЦП контроллера?

 

То же самое с воспроизведением - насколько я понял, контроллер отправил в VS1003 пакет данных и курит, пока тот его проиграет.

 

Или меня просто не поняли и думают, что я хочу возлоржить саму процедуру кодирвоания на микроконтроллер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

контроллер отправил в VS1003 пакет данных и курит, пока тот его проиграет.

Может, микроконтроллер и кодек и не нужны? ;)

Почему бы не вернуться к чистому радиолюбительству - микрофон + передатчик?

 

Вы суть системы проясните, плз. Что являвяется источником звука, каково быстродействие радиоканала, какова надежность связи?

Какие функции контроллера?

 

Иначе вопросы "ниачём".

Вот моя жена сидит сейчас на диване и рассуждает, хватит двух трубок обоев в комнату на втором этаже, или не хватит.

Я ей стараюсь намекнуть, что не мешало бы подняться и посчитать.

 

Так вот и Вам не мешало бы посчитать на бумажке, а мы уж проверим. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

радиоканал поддерживает 256 кбит/сек

источник звука - микрофон.

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

Почему бы не вернуться к чистому радиолюбительству - микрофон + передатчик?

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

Так что в настоящий момент планируется RFM12BP или cc1100-PA-LNA, контроллер AVR и кодер/декодер речи.

Загрузка контроллера посторонними задачами минимальна настолько, что ей можно пренебречь.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот у нас микросхема VS1003, она "слушает" микрофон. Кодирует звук и уменьшает количество информации. ОТдает ее в AVR для последующей передачи. ПОчему данный способ будет медленнее, чем если бы звук тупо оцифровывался АЦП контроллера?

Это другое дело, но топик-то назвали "кодирование звука на АВР", т.е. кодеком должна быть авр, что ей не по силам. А если это делает профессиональная ИС, то на здоровье!

Хотя для передачи голоса цифрой я все-таки поискал решения из GSM, там битрейт пониже.

 

Да и необходимость цифры тут непонятна. Аналог энергетически и по полосе выгодней

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это другое дело, но топик-то назвали "кодирование звука на АВР",

ну.. виноват.

Я имел ввиду, справится ли АВР с объемом данных, поставляемым кодеком.

Собственно микру уже выбрал VS1003 и пример для ATMega8 нашел. Мне интересно, какой битрейт потребуется радиоканалу, если звук ужимать до "телефонного" качества. Кто-нибудь может примерно прикинуть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Телефонное качество" - это PCM 64 кбит/с, с логарифмической компрессией. Если битрейт меньше - это уже несколько не то... Ну, есть еще ADPCM 32Kбит (DECTовые телефоны), тоже, в некотором роде, "телефонное". Как задача изначально озвучивалась (эпизодически передача данных + голосовой канал) взял бы за основу именно радиостанцию a la LPD, а для передачи данных - низкоскоростной модем. Стыковка с радиостанцией - по аудиовходу-выходу +PTT. Не устраивает готовое решение - ну, взять схемотехнику простой радиостанции за основу. Городить скоростную передачу данных только для голосового канала - разве что из соображений безопасности. В ущерб надежности и дальности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обсудил с заказчиком. Тому в восторге от соображений безопасности. И, как выяснилось, главное собственно, не голос, а данные. Данные можно передавать хоть на 300 бод. Голос - это на крайний случай, так что меньшая дальность по голосу устраивает. Был еще раз рассмотрен вариант с радиостанцией и DTMF и в итоге отвергнут.

 

Скажите, какие преимущества дает MP3 кодирование? Стоит ли брать микросхему VS1003, в которой ADPCM+MP3, причем будет использоваться что-то одно, или же лучше взять бюджетный вариант VS1103, в котором только ADPCM и MIDI ? Стоит то в 3 раза дешевле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите, какие преимущества дает MP3 кодирование?

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

Есть, правда, проприетарный MPEG-2,5, но не факт, что он поддерживается в VS1003.

 

Для сжатия речи обычно применяют специальные кодеки, которые позволяют получить на выходе очень низкий битрейт:

 

MELP: 1.2 кбит/с - 4.8 кбит/с,

Speex: 2 кбит/с - 44 кбит/с,

G.729x: 6.4 кбит/с - 11.8 кбит/с,

G.726: 16 кбит/с,

G.711: 64 кбит/с.

 

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

Изменено пользователем blackfin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм... век живи век учись и дураком помрешь.

ТОлько что узнал, что ADPCM это только кодирование, но еще не сжатие.

Стало быть для приемлемого на слух качества при использовании ADPCM нужно 64 кбит/сек, я правильно понял?. А если использовать указанные вами кодеки... мне не совсем понятно - ваши цифры это диапазоны?

 

И... есьт железячные решения реализующие указанные вами кодеки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стало быть для приемлемого на слух качества при использовании ADPCM нужно 64 кбит/сек, я правильно понял?

 

Вам нужно качество или с головой хватит разборчивости ? Что говорит заказчик ? Я так полагаю, что имеет место вариант 2, тем более, что речевыми данными вы зачем-то собираетесь "засорять" канал, по которому идет телеметрия ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Внесу еще немного сумбура в тему.

Во первых - все-таки можно легко передавать данные поверх голосового канала. Если DTMF не подходит - есть протоколы V21, V23 и другие. Для V23 есть микрухи (например FX604). V21 - можно реализовать на аврке програмно.

 

Далее. ADPCM легко реализуется програмно на AVR. Если взять ATXMega то вообще все здорово должно получиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...