Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Аудио компресия на говор
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7771
Страница 1 от 2

Автор:  emilvtc [ Съб Апр 24, 2010 9:23 am ]
Заглавие:  Аудио компресия на говор

Някой има ли опит с такова чудо, било за "voice over IP" или др. ? Чудя се дали бих могъл да прекарам аудио стриим Full Duplex през симплекс радио канал 38400bps. Каква ли производителност ще ми трябва за процесора, който ще трябва да компресира/декомпресира в реално време войса?

Автор:  ji4ka [ Съб Апр 24, 2010 2:29 pm ]
Заглавие: 

Сигурно си има готови кодеци за това. Иначе разгледай GSM стандартите. Виж например с какво се занимават в Нокиа:

Прикачени файлове:
Hybrid_MELP_CELP_coding_at_bit_rates_from_6.4_to_2.4_KB_S.pdf [35.71 KiB]
234 пъти

Автор:  MYXATA [ Съб Апр 24, 2010 4:19 pm ]
Заглавие:  Re: Аудио компресия на говор

emilvtc написа:
Някой има ли опит с такова чудо, било за "voice over IP" или др. ? Чудя се дали бих могъл да прекарам аудио стриим Full Duplex през симплекс радио канал 38400bps. Каква ли производителност ще ми трябва за процесора, който ще трябва да компресира/декомпресира в реално време войса?

Кажи за какув проц става дума.. как да ти кажем за производителност:?:
значи MELP работи на 2.4кбпс,има модифициран дето слиза на 2кбпс
има вокодери дето са на 1.5кбпс... но при тях вече се губи разпознаването на говорещия
тази скорост дето си я написал може и гсм кодиране да ползваш..
така че питай конкретно да имаш конкретен отговор

Автор:  rsim [ Съб Апр 24, 2010 5:47 pm ]
Заглавие: 

Аз имам доста опит с VoIP:

най-добрите са:
G.723.1 - 6.3/5.3kb/s
G729a - 8.0kb/s
GSM 6.10 - 13.2kb/s
AMR-NR - 4.75-12.2kb/s
iLPC-20 15.2kb/s

всички са обикновенно с 20ms (iLBC-30 e на 30ms) фреймове на 8kHz (от битрейта можеш да си сметнеш за колко байта става въпрос!)

колкото по-висока компресия - токова по-товарещо процесора

По-долу са мои тестове (от мой софт) на T7200 (2GHz) - всички са с плаваща аритметика!
можеш да си прецениш кой колко товари CPU-то.

за MCU ми се струва, че без 32бит ядро на 50-60MHz няма да минеш
единственно на G729 се сещам за целочислена версия - другите са плаващи.

под 0.1% можеш да приемеш 1ms (време за кодиране/декодиране на 1s)
т.е. 0.4% == 4ms

VoIP codecs benchmark (CPU load [%]):
============================
GSM: 0.4 %
G.729a: 1.5 %
G.723.1: 3.5 %
iLBC-20: 1.9 %
iLBC-30: 1.3 %
AMR-NB[4.75]: 2.4 %
AMR-NB[5.15]: 2.2 %
AMR-NB[5.90]: 2.8 %
AMR-NB[6.70]: 3.0 %
AMR-NB[7.40]: 3.0 %
AMR-NB[7.95]: 3.5 %
AMR-NB[10.2]: 3.0 %
AMR-NB[12.2]: 1.3 %
AMR-WB[6.60]: 3.3 %
AMR-WB[8.85]: 2.5 %
AMR-WB[12.65]: 3.3 %
AMR-WB[14.25]: 2.9 %
AMR-WB[15.85]: 3.7 %
AMR-WB[18.25]: 3.3 %
AMR-WB[19.85]: 3.3 %
AMR-WB[23.05]: 3.7 %
AMR-WB[23.85]: 3.3 %
G726-24: 0.5 %
G726-32: 0.6 %
G726-40: 0.4 %

GSM кодека е най-лек и с достатъчно голяма компресия

Автор:  emilvtc [ Съб Апр 24, 2010 10:57 pm ]
Заглавие: 

Лимитиращия фактор в моят случай е бодрейта на радиоканала. Той е 38400bps и е компромис от много фактори, като радио-реиндж, време за предаване на пакет от данни, консумация на енергия от батериите и др.

Не съм се спрял още на конкретен процесор който да процесва воиса, но ще е някой едночипов контролер без външни рам и ром.

Нямам никакъв опит с компресията на говор и цялата ми информация за сега е от:
http://www.microchip.com/stellent/idcpl ... odeId=2659

Това което се опитвам да си изясня е възможно ли е въобще с указания бодрейт да се мисли за прекарване на говор през радио канала и ако е възможно, какъв перформанс на микроконтролера ми трябва, за да мога правилно да го избера.

Автор:  MYXATA [ Нед Апр 25, 2010 12:47 am ]
Заглавие: 

Ами да може да прекараш глас през такъв радиоканал :!:


аз лично по пристрастие бих ти препоръчал някой сигнален процесор на тексасците. дали 32 битов от 3Х/4Х флоат серията или по-нови, или фикс 16 битови от 54/55 серията вече си е въпрос на избор.
Но дай повече подробности:
кажи сега по-подробно за радио канала - кави са радио средствата?
какви радиостанции ?
каква дистанция трябва да покриваш?
имаш ли изисквания за време за синхронизация, да има досинхронизация, вероятност за влизане в синхронизация...
корекция на грешки - какъв излишък да внася?
ей такива малки въпросчета дето са от голямо значение ;)

Автор:  emilvtc [ Нед Апр 25, 2010 9:09 am ]
Заглавие: 

Фен съм на чипконското радио за суб гигахерцовия обхват СС11хх. Поддържа от 1.2kbps до 500kbps бодрейт. Ползвам го в пакетен режим, като данните в пакет от 63 байта са 58 байта. Мощността на предавателя е +9dBm, а чувствителността на приемника при избрания бодрейт е -103 dB, така че може да си представите за какъв реинж става дума. Не мисля, че това има голяма връзка с въпроса ми.

Когато радиоканала се "активира" приемам, че целият е на мое разположение и съгласно стандатрите - на 4 сек непрекъсната комуникация трябва да осигуря 200мс свободен ефир.
Едното от устройствата може условно да се нарече "мастер" и то да се грижи за синхронизацията и "обръщането" на посоката на предаване в канала. Разбира се гласа ще се предава като стриим и е допустима загубата на пакети при трансфера. Воис енкодера трябва да се справя със загубата, като е допустимо появата на пукане или др. артефакти след декомпресията.

Автор:  zaphod [ Нед Апр 25, 2010 12:04 pm ]
Заглавие: 

Цитат:
Фен съм на чипконското радио за суб гигахерцовия обхват СС11хх.

аз пък не съм. според мен чиповете на тия са бая глухи, не знам как са ги мерили тия чувствителности дето ги пише по документация.

Автор:  bateAz [ Нед Апр 25, 2010 12:49 pm ]
Заглавие: 

zaphod написа:
Цитат:
Фен съм на чипконското радио за суб гигахерцовия обхват СС11хх.

аз пък не съм. според мен чиповете на тия са бая глухи, не знам как са ги мерили тия чувствителности дето ги пише по документация.


Може да си ползвал кофти антени или си имал други RF проблеми. При мен си работят много читаво. Вярно, не съм ги мерил с апаратура, но на ниски ( под 50 kbps ) скорости и липса на смущения се представят доста добре. На пълна мощност на 433, на открито и ненасочени антени, наистина се чуват до 200 метра.
Но пък съм чувал, че тези с интегрирано 8051 вътре са били зле.

Автор:  zaphod [ Нед Апр 25, 2010 3:41 pm ]
Заглавие: 

бе не знам, един друг приятел и той се оплака от тия чипове. възможно е външните ми аналогови компоненти да са били калпави, но съм правил не един предавател/применик и с тая мощност наистина трябва да се чува на 200 метра поне.

Автор:  emilvtc [ Пон Апр 26, 2010 9:40 am ]
Заглавие: 

С китовете на Чипкон и СС1101 реинджя измерен на открито на гребния канал в Пловдив (щото там има отбелязани метрите) е 500-600м, като комуникация без изгубени пакети имам на 350-450м.

Качествения фактор на бобините в изхода на радиото е от голямо значение за реинджа. Тангенс делта на кондензаторите - също. Ако гоните реиндж - точно от тях не бива да пестите.

Всичките тези въпроси са тема за друга дискусия. Би било добре, ако в текущата дискусия обсъдим само въпросите свързани с нея.

Автор:  MYXATA [ Пон Апр 26, 2010 10:29 am ]
Заглавие: 

emilvtc написа:
С китовете на Чипкон и СС1101 реинджя измерен на открито на гребния канал в Пловдив (щото там има отбелязани метрите) е 500-600м, като комуникация без изгубени пакети имам на 350-450м.

Качествения фактор на бобините в изхода на радиото е от голямо значение за реинджа. Тангенс делта на кондензаторите - също. Ако гоните реиндж - точно от тях не бива да пестите.

Всичките тези въпроси са тема за друга дискусия. Би било добре, ако в текущата дискусия обсъдим само въпросите свързани с нея.


Аз пък все си мисля, че и антените и тяхното съгласуване са доста важни за далечината на свръзката(или рейнджа както му викате) :P

Автор:  emilvtc [ Пон Апр 26, 2010 10:55 am ]
Заглавие: 

А-ми тези елементи между изхода на радиот и антената служат за съгласуване на радиото с антената и за преобразуването на балансирания радио изход към небалансиран (несиметричен) на антената (BALUN). Качествения фактор на кръговете както вече споменах е от голямо значение за обхвата. Резултатите са постигнати с антените от китовете...

От прочетеното до момента, май ще ми трябва някакъв воис енкодер като за GSM. Като че ли при него компресията е най-голяма и в моя случай при избрания от мен бодрейт - 20мС воис кадъра ще успея да го предам за под 9мС. което означава, че при свободен ефир ще мога да имам фул дуплекс воис.
Сега вече въпроса е да намеря инфо (а може би и сорсове) на библиотеки за криптирането на войса. Какъв ли процесор (производителност) ще е нужен, за да може в реално време да се кодира/декодира говор във фул-дуплексен режим ? Има ли такива библиотеко за микроконтролери работещи в едночипов режин?

Автор:  woody [ Пон Апр 26, 2010 8:14 pm ]
Заглавие: 

emilvtc написа:
Сега вече въпроса е да намеря инфо (а може би и сорсове) на библиотеки за криптирането на войса. Какъв ли процесор (производителност) ще е нужен, за да може в реално време да се кодира/декодира говор във фул-дуплексен режим ? Има ли такива библиотеко за микроконтролери работещи в едночипов режин?

Криптирането ти е малката беля при тези малки обеми данни. Кодеците ще ти глътнат повечето време, като обикновено енкодерът е доста по-тежък.
Може да се ориентираш грубо колко им дават в MIPS-ове, за сравнение. Което предполага оптимизирана асемблерна имплементация, и наличие на MAC и аритметика с фиксирана запетая (евентуално).

Конкретни библиотеки не знам - пиша си ги при нужда. Ориентирай се към най-лекия кодек, после криптирането ти е лесно.

Автор:  emilvtc [ Пон Апр 26, 2010 8:30 pm ]
Заглавие: 

Грешката е моя. Нямам в предвид криптиране, а компресиране.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/