DSP Eller MCU för mp3?
-
- Inlägg: 96
- Blev medlem: 12 augusti 2003, 12:11:39
- Ort: Lindesberg
DSP Eller MCU för mp3?
Hej. Jag har funderat ett tag på att experimentera lite med mp3... Tror ni det finns någon som helst möjlighet att använda t.ex en snabbare pic för att koda av mp3? Om man skulle använda den med en extern ADC? Vet att det finns ett antal dsp som funkar, men det vore kul att göra med en pic... Jag är som sagt rätt färsk i elektronikvärlden, så jag vet inte om det här är en helidiotisk fråga.
Betvilar starkt att en PIC skulle klara att decoda mp3, tror det saknas en del i hastighet, kanske även minne... Har iaf aldrig hittills sett något projekt till varken PIC eller AVR som gör något sånnt. Därimot så skulle det säkert gå med någon typ av signalprocessor, men har ingen erfarenhet av dom, så kan inte säga så mycket mer.
Jag tror inte heller någon PIC-krets klarar av det. MP3 bygger på FFT och invers FFT som kräver tunga multiplikationer etc, små microcontrollers kan inte multiplicera direkt. DSP kan nog det samt har andra specialinstruktioner anpassat FFT.
FFT (Fast Fourier Transform) är annars ett ämne man som elektronikinteresserad borde läsa om, man kan göra en massa saker med det. (har läst själv, fast kan inte mycket om det).
'FFT' skapar om samplingar till spektrum, som egentligen är en tabell med sinusfrekvenser och amplitud. MP3 har 576 frekvensband.
'Invers FFT' skapar om spektrumtabellen till samplingar igen.
En Ide med FFT är att spektrum är mycket lättare att processera än samplingar. I MP3 tar man bort saker från spektrum-informationen.
FFT (Fast Fourier Transform) är annars ett ämne man som elektronikinteresserad borde läsa om, man kan göra en massa saker med det. (har läst själv, fast kan inte mycket om det).
'FFT' skapar om samplingar till spektrum, som egentligen är en tabell med sinusfrekvenser och amplitud. MP3 har 576 frekvensband.
'Invers FFT' skapar om spektrumtabellen till samplingar igen.
En Ide med FFT är att spektrum är mycket lättare att processera än samplingar. I MP3 tar man bort saker från spektrum-informationen.
Du kan ju alltid använda VS1001 från VLSI och styra den med AVR. VS1001 är en MP3-avkodare som i stort sett sköter allt som behövs skötas . Finns att köpa på www.jelu.se.
Det skulle väl inte vara omöjligt att göra det med en PIC? det har ju kommit några nya på marknaden. pic 18fxxx nått. de klarar ju upp till 40Mhz. De bygger ju även på RISK arkitektur (som alla andra pic kretsar) som är avsedd för signalbehandling.
Det finns gratis C kompilator för dessa processorer på microchips hemsida mplab c18 tror jag att den heter. så det e väl bara att beställa ett sampel o prova på?
Det finns gratis C kompilator för dessa processorer på microchips hemsida mplab c18 tror jag att den heter. så det e väl bara att beställa ett sampel o prova på?
Jag skulle nog villa säga att det är svårt och till och med omöjligt göra det i real tid....
för det första är pic endast 8-bitars cpu vilket i säg inte skulle vara en begränsning men med till sammans med 40Mhz (=10Mips) vilket ger otillräklig prestanda... inte äns säker att pic ens skulle kunna åtter skapa data från frekvens planet till tidsplanet i mono i 16bitar och 22050Hz med den snabbaste metoden jag känner till FFT, och då skall den också packa upp datan med hjälp av komprimerings algoritm som bygger på hofman-code (stavnig?)...
Snarare en 32bitars eller 16bitars med hårdvare multiplikation på ca 40Mips skulle kunna kanse klara av att avcoda MP3.....
Det bästa försöket jag sett hitils är med FPGA med i byggd AVR som gör ca 20Mips och har största delen FFT implterad i fpga... men den behöver fortfarande en extern DAC.
Så från mitt syn sätt är VS1001 det enklaste och billigaste sättet, men om det är så roligt vet jag inte...
Med andra ord så är slut sattserna ungefär som ovan stånde in lägg...
för det första är pic endast 8-bitars cpu vilket i säg inte skulle vara en begränsning men med till sammans med 40Mhz (=10Mips) vilket ger otillräklig prestanda... inte äns säker att pic ens skulle kunna åtter skapa data från frekvens planet till tidsplanet i mono i 16bitar och 22050Hz med den snabbaste metoden jag känner till FFT, och då skall den också packa upp datan med hjälp av komprimerings algoritm som bygger på hofman-code (stavnig?)...
Snarare en 32bitars eller 16bitars med hårdvare multiplikation på ca 40Mips skulle kunna kanse klara av att avcoda MP3.....
Det bästa försöket jag sett hitils är med FPGA med i byggd AVR som gör ca 20Mips och har största delen FFT implterad i fpga... men den behöver fortfarande en extern DAC.
Så från mitt syn sätt är VS1001 det enklaste och billigaste sättet, men om det är så roligt vet jag inte...
Med andra ord så är slut sattserna ungefär som ovan stånde in lägg...
-
- Inlägg: 96
- Blev medlem: 12 augusti 2003, 12:11:39
- Ort: Lindesberg
-
- Inlägg: 515
- Blev medlem: 31 maj 2003, 10:42:37
- Ort: Helsingborg
jag kan erkänna att jag kan ha fel med att använda PIC för att koda av mp3
men enligt denna länken
http://www.microchip.com/1010/edit/proc ... /index.htm
så verkar det fungera
men enligt denna länken
http://www.microchip.com/1010/edit/proc ... /index.htm
så verkar det fungera
Om man kollar på blockschemat och komponentlistan så är det en extern mp3-decoder och inte PICen som decode;ar, iaf i mina ögon. Orkade dock inte läsa någon text just nu, så jag kan ha fel.dangraf skrev:jag kan erkänna att jag kan ha fel med att använda PIC för att koda av mp3
men enligt denna länken
http://www.microchip.com/1010/edit/proc ... /index.htm
så verkar det fungera
De använder en extern mp3 decoder, nämligen MAS3507D-F10.dangraf skrev:jag kan erkänna att jag kan ha fel med att använda PIC för att koda av mp3
men enligt denna länken
http://www.microchip.com/1010/edit/proc ... /index.htm
så verkar det fungera
Så picen decoder inte mp3 utan streamar den endast till mp3 decodern.
Sedan finns det AVR med inbyggs mp3 decoder men måste ha extern dac, dock tror jag att VS1001 med vanlig AVR blir betydligt billigare...