Grzegorz Niemirowski
Guest
Sat Oct 15, 2011 1:29 pm
Witam.
Potrzebuję kompresować mowę aby przesłać ją po RS-485. Zastanawiam się,
jakiego użyć mikrokontrolera, aby mógł w czasie rzeczywistym wykonywać
kompresję i dekompresję (komunikacja dwustronna). Może jakiś Blackfin i
kompresja MP3? A może da się to zrobić na STM32 korzystając z jakiegoś mniej
skomplikowanego kodeka, np. GSM? Czy ktoś z Was przerabiał temat?
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express:
http://www.grzegorz.net/oe/
Uptime: 3 days, 11 hours, 48 minutes and 6 seconds
BartekK
Guest
Sat Oct 15, 2011 2:05 pm
W dniu 2011-10-15 15:29, Grzegorz Niemirowski pisze:
Quote:
Witam.
Potrzebuję kompresować mowę aby przesłać ją po RS-485.
A dlaczego musisz kompresować? RS-485 bez problemu (w odpowiednich
warunkach) ciągnie takie prędkości, żeby mowę (czyli wystarczy
próbkowanie 8KHz i 8bitów, czyli *8 to 64kbps plus jakiś narzut
protokołu) przesłać na parę kilometrów.
--
| Bartłomiej Kuźniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
Grzegorz Niemirowski
Guest
Sat Oct 15, 2011 2:17 pm
BartekK <sibi@NOSPAMdrut.org> napisał(a):
Quote:
A dlaczego musisz kompresować? RS-485 bez problemu (w odpowiednich
warunkach) ciągnie takie prędkości, żeby mowę (czyli wystarczy próbkowanie
8KHz i 8bitów, czyli *8 to 64kbps plus jakiś narzut protokołu) przesłać na
parę kilometrów.
Też się nad tym zacząłem zastanawiać. Co prawda tam mają być więcej niż dwie
stacje i ma być kilka-kilkanaście rozmów jednocześnie (dane przesyłane w
slotach czasowych) ale chyba faktycznie będzie się mogło obejść bez
kompresji.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express:
http://www.grzegorz.net/oe/
Uptime: 3 days, 12 hours, 54 minutes and 50 seconds
PaweĹ Hadam
Guest
Sat Oct 15, 2011 8:04 pm
W dniu 15.10.2011 16:17, Grzegorz Niemirowski pisze:
Quote:
BartekK <sibi@NOSPAMdrut.org> napisał(a):
A dlaczego musisz kompresować? RS-485 bez problemu (w odpowiednich
warunkach) ciągnie takie prędkości, żeby mowę (czyli wystarczy
próbkowanie 8KHz i 8bitów, czyli *8 to 64kbps plus jakiś narzut
protokołu) przesłać na parę kilometrów.
Też się nad tym zacząłem zastanawiać. Co prawda tam mają być więcej niż
dwie stacje i ma być kilka-kilkanaście rozmów jednocześnie (dane
przesyłane w slotach czasowych) ale chyba faktycznie będzie się mogło
obejść bez kompresji.
Jak potrzeba większej jakości niż 8-bit (przy zachowaniu 8-bitowej
przesyłanej informacji), to można dołożyć aLaw/uLaw. Poprawia stosunek
sygnału do szumu dla cichych partii. Potrzebna moc obliczeniowa
praktycznie zerowa, prosta tablica wystarcza do kompresji.
Pozdrawiam,
Paweł
Grzegorz Niemirowski
Guest
Sat Oct 15, 2011 8:41 pm
Paweł Hadam <p@p.p> napisał(a):
Quote:
Jak potrzeba większej jakości niż 8-bit (przy zachowaniu 8-bitowej
przesyłanej informacji), to można dołożyć aLaw/uLaw. Poprawia stosunek
sygnału do szumu dla cichych partii. Potrzebna moc obliczeniowa
praktycznie zerowa, prosta tablica wystarcza do kompresji.
O, wygląda fajnie. Dzięki.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express:
http://www.grzegorz.net/oe/
Uptime: 3 days, 19 hours, 20 minutes and 40 seconds
Adam Dybkowski
Guest
Sat Oct 15, 2011 9:40 pm
W dniu 2011-10-15 22:04 Paweł Hadam napisał(a):
Quote:
Jak potrzeba większej jakości niż 8-bit (przy zachowaniu 8-bitowej
przesyłanej informacji), to można dołożyć aLaw/uLaw. Poprawia stosunek
sygnału do szumu dla cichych partii. Potrzebna moc obliczeniowa
praktycznie zerowa, prosta tablica wystarcza do kompresji.
To trudno nazwać nawet kompresją, bo "skompresowanie" 12-16 bitowych
próbek do 8-bitowych nie pozwoli zaoszczędzić znacznie pasma.
Proponuję raczej zastosować taniego ARMa i kompresować dzwięk darmowym
kodekiem Vorbis (ogg). Sama biblioteka jest na licencji BSD więc można
ją całkowicie dowolnie używać nawet w rozwiązaniach komercyjnych. Jedną
z lepszych gotowych implementacji jest Tremor.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
elonica.pl
Guest
Mon Oct 17, 2011 10:12 am
Wlasnie,
Czy nie lepiej wziac plyte z ARM-em i linuxem. Podlaczyc konwerter
RS232<->RS485 i wysylac kodowany stream na RS232 ?
----
Bartlomiej Grzeskowiak
On 15 Paź, 23:40, Adam Dybkowski <a1d2y3b4k5o6w...@g1m2a3i4l5.6c7o8m>
wrote:
Quote:
W dniu 2011-10-15 22:04 Paweł Hadam napisał(a):
Jak potrzeba większej jakości niż 8-bit (przy zachowaniu 8-bitowej
przesyłanej informacji), to można dołożyć aLaw/uLaw. Poprawia stosunek
sygnału do szumu dla cichych partii. Potrzebna moc obliczeniowa
praktycznie zerowa, prosta tablica wystarcza do kompresji.
To trudno nazwać nawet kompresją, bo "skompresowanie" 12-16 bitowych
próbek do 8-bitowych nie pozwoli zaoszczędzić znacznie pasma.
Proponuję raczej zastosować taniego ARMa i kompresować dzwięk darmowym
kodekiem Vorbis (ogg). Sama biblioteka jest na licencji BSD więc można
ją całkowicie dowolnie używać nawet w rozwiązaniach komercyjnych. Jedną
z lepszych gotowych implementacji jest Tremor.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Mario
Guest
Mon Oct 17, 2011 1:39 pm
W dniu 2011-10-17 10:12, elonica.pl pisze:
Quote:
Wlasnie,
Czy nie lepiej wziac plyte z ARM-em i linuxem. Podlaczyc konwerter
RS232<->RS485 i wysylac kodowany stream na RS232 ?
----
Bartlomiej Grzeskowiak
Ale płytki z ARMem i linuksem to co najmniej 200-300zł i rozmiary
zbliżone do płyty ITX. Małe - jak DIMM-PC kosztują znacznie więcej a
hucznie zapowiadana Raspberry przesuwana jest na koniec roku i ciekawe
czy będzie faktycznie za 25$. Brak małych i tanich płytek z ARMem pod
linuksa odpowiadających np Arduino. Tzn. tanich i przygotowanych do
realizacji własnych wdrożeń.
ATSD pisz pod cytowanym tekstem i popraw delimiter. Powinny być dwie
kreski i spacja.
--
Pozdrawiam
MD
Andrzej Ekiert
Guest
Mon Oct 17, 2011 4:23 pm
Dnia 15-10-2011 o 15:29:05 Grzegorz Niemirowski
<gnthexfiles@poczta.onet.pl> napisał(a):
Quote:
Witam.
Potrzebuję kompresować mowę aby przesłać ją po RS-485. Zastanawiam się,
jakiego użyć mikrokontrolera, aby mógł w czasie rzeczywistym wykonywać
kompresję i dekompresję (komunikacja dwustronna).
Ja się jak zwykle wtrącę z rozwiązaniem od Microchipa na PIC32 lub
dsPIC33F z kompresją Speex. Taniej raczej tego nie zrobisz.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en554168
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en023610
Więcej o Speex:
http://www.speex.org/
Pozdrawiam,
Andrzej Ekiert
--
http://www.ekiert.com/microchip
Adam Dybkowski
Guest
Mon Oct 17, 2011 7:35 pm
W dniu 2011-10-17 10:12 elonica.pl napisał(a):
Quote:
Czy nie lepiej wziac plyte z ARM-em i linuxem. Podlaczyc konwerter
RS232<->RS485 i wysylac kodowany stream na RS232 ?
A po co do tego Linux? Tania płytka z kilkudziesięciomegahercowym ARMem
7TDMI (albo nawet jakimś małym Cortexem) da radę. Poczytaj o wymaganiach
wydajnościowych algorytmu Vorbis.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.