DSP for Dummies

Hur funkar tekniken bakom bra hifi?

Moderator: Redaktörer

Användarvisningsbild
CJNE
 
Inlägg: 1222
Blev medlem: 2005-05-02
Ort: Söderhamn

DSP for Dummies

Inläggav CJNE » 2005-12-19 11:20

Jag har börjat intressera mig för DSP och skulle vilja förkovra mig lite i ämnet.
Det finns en bok som man kan ladda hem stora delar av gratis från nätet som heter The Scientist and Engineer's
Guide to Digital Signal Processing
och den verkar vara bra.
Finns det fler tips på läsning?

Det är alltså DSP för audiosignaler som är det primära intresset och mina matematikkunskaper är begränsade till N/V matte på gymnasiet som jag säkert har glömt minst häften av.
Litteratur för att förbättra matematikkunskaperna i de för DSP relevanta områdena vore kanske också bra. :roll:

Användarvisningsbild
bchi
 
Inlägg: 124
Blev medlem: 2003-10-06

Re: DSP for Dummies

Inläggav bchi » 2005-12-19 12:59

Vill man lära sig DSP så tror jag det krävs kunskap om Fouriertransformen, framförallt den tidsdiskreta varianten. Men innan man ger sig på det kommer nog kunskaperna om differentialekvationer att behöva bättras på lite. Z-transformen är nog bra att ha lite koll på också.
Efter det är det väl bra att lära sig lite om hur F-transformen implementeras också, dvs läsa på om FFT-algoritmen.

När man är klar med den biten är det nog dags att ge sig på upp/ner-sampling och allt vad det innebär, kanske gå på kvantisering också.

Hmm... det blev ju en del det här. Det är möjligt att det finns genvägar och att man inte behöver kunna allt så grundligt men det kanske någon annan har tips på i så fall :)

Böcker vet jag inte riktigt.. jag har väl ett par kursböcker som kanske kan rekommenderas om det skulle vara av intresse.

Användarvisningsbild
CJNE
 
Inlägg: 1222
Blev medlem: 2005-05-02
Ort: Söderhamn

Inläggav CJNE » 2005-12-21 23:54

Tack för svar bchi!

Har läst lite mer i den där PDF boken och den verkar faktiskt täcka in ganska mycket verkar det som. Kul att lära sig nya saker :)
Vad är det för kurser du har läst som handlat om DSP? Om du tycker något i kurslitteraturen var bra så berätta gärna vad.

Användarvisningsbild
lilltroll
 
Inlägg: 1697
Blev medlem: 2005-01-03

Inläggav lilltroll » 2005-12-22 00:06

Vad vill du göra med DSP:en ?

Om du skaffar ett GUI baserat programeringsverktyg till din DSP, (rekomenderar inte Simulink i MATLAB till nybörjaren) så kan du göra bas funktioner utan att ha stenkoll på matematiken bakom.

Förutom matematiska teorier, (som dock är MYCKET användbara) så är det bra att ha koll på grunderna i A/D D/A omvandling samt förståelse för din hårdvara som DSP:n sitter monterad på.

Vill du bygga återkopplade system i realtid från yttre sensorer, så är detta viktigt.

Användarvisningsbild
lilltroll
 
Inlägg: 1697
Blev medlem: 2005-01-03

Inläggav lilltroll » 2005-12-22 00:42

Har spejat igenom några kapitel.

Kul bok som inte är jättesvår, dock så är den inte helt upp to date ~1998, det har hänt mycket sedan dess på hårdvaru och mjukvarusidan.

Någon som vet någon mycket mera avancerad DSP bok?

Jag kan nog redan det mesta som står där 8)

Användarvisningsbild
CJNE
 
Inlägg: 1222
Blev medlem: 2005-05-02
Ort: Söderhamn

Inläggav CJNE » 2005-12-22 01:14

lilltroll skrev:Vad vill du göra med DSP:en ?


Jag vill förstå hur den fungerar :)
Det var hur man gör algoritmer för att modifiera auidiosignaler (vill göra en mjukvarucrossfeed) som jag började fundera på.
Det är alltså hela området DSP som jag vill lära mig mer om, inte specifikt hårdvarukretsen.
Alltså ADC/DAC, FIR och sånt :)

Användarvisningsbild
E
 
Inlägg: 22717
Blev medlem: 2005-05-02
Ort: <hist.> ä. vikt

Inläggav E » 2005-12-22 01:16

CJNE skrev:(vill göra en mjukvarucrossfeed)

Men kompis - det tänkte ju jag göra! :D

Mvh E*
Faktiskt.io – ingenting obekvämt!

Användarvisningsbild
CJNE
 
Inlägg: 1222
Blev medlem: 2005-05-02
Ort: Söderhamn

Inläggav CJNE » 2005-12-22 01:17

lilltroll skrev:Kul bok som inte är jättesvår, dock så är den inte helt upp to date ~1998, det har hänt mycket sedan dess på hårdvaru och mjukvarusidan.

Mmm, man anar att den inte är riktigt purfärsk, men den borde ju ge en del bra baskunskap iallfall för den som inte är så insatt (än).

lilltroll skrev:Jag kan nog redan det mesta som står där 8)

Det ska jag försöka mig på också :P

Användarvisningsbild
lilltroll
 
Inlägg: 1697
Blev medlem: 2005-01-03

Inläggav lilltroll » 2005-12-22 01:19

CJNE skrev:
lilltroll skrev:Vad vill du göra med DSP:en ?


Jag vill förstå hur den fungerar :)
Det var hur man gör algoritmer för att modifiera auidiosignaler (vill göra en mjukvarucrossfeed) som jag började fundera på.
Det är alltså hela området DSP som jag vill lära mig mer om, inte specifikt hårdvarukretsen.
Alltså ADC/DAC, FIR och sånt :)


Tänkte du inhandla ett DSP kort också?

Användarvisningsbild
CJNE
 
Inlägg: 1222
Blev medlem: 2005-05-02
Ort: Söderhamn

Inläggav CJNE » 2005-12-22 01:19

E skrev:
CJNE skrev:(vill göra en mjukvarucrossfeed)

Men kompis - det tänkte ju jag göra! :D

Mvh E*


Aha vad kul! :)
Blir det en Öhman då eller?

Pluggar du sånt här?

Användarvisningsbild
CJNE
 
Inlägg: 1222
Blev medlem: 2005-05-02
Ort: Söderhamn

Inläggav CJNE » 2005-12-22 01:23

lilltroll skrev:Tänkte du inhandla ett DSP kort också?


Jag vet inte, jag inbillar mig att man borde kunna implementera ganska mycket med en vanlig dator?
Men det vore ju kul med lite hårdvara, har du något att rekommendera? Dyra saker?

Är det assembler som gäller?
Har man gjort en reklamskylt med en 8051'a i assembler borde man väl kunnna få bukt med en DSP också 8) ;)

Tusen frågor, spännande ämne som sagt.

Användarvisningsbild
lilltroll
 
Inlägg: 1697
Blev medlem: 2005-01-03

Inläggav lilltroll » 2005-12-22 01:46

CJNE skrev:
Jag vet inte, jag inbillar mig att man borde kunna implementera ganska mycket med en vanlig dator?


Jo, men du får inte ner delayen till us i datorn. Men det kanske inte gör något i din tilläpning. Winows är kanske inte att rekomendera även om det går.

CJNE skrev:Men det vore ju kul med lite hårdvara, har du något att rekommendera? Dyra saker?

Är det assembler som gäller?
.


Gamla kort kan vara billiga. S3 brukar skänka gamla kort till behövande. Men då måste du ha en dator med ISA buss i värsta fall. Men snart fås nog gamla PCI kort också.

Räkna annars med minst 20 000 kr för hårdvaran.

Assembler om du vill, men det går att komma undan lindrigare.

Användarvisningsbild
E
 
Inlägg: 22717
Blev medlem: 2005-05-02
Ort: <hist.> ä. vikt

Inläggav E » 2005-12-22 02:20

CJNE skrev:Aha vad kul! :)

Ja!
CJNE skrev:Blir det en Öhman då eller?

Nix. Hade tänkt mig minst två! A och S.
CJNE skrev:Pluggar du sånt här?

Näe. Men jag hade nog för avsikt att göra det - och gjorde det till slut, men det var för sent, då jag redan tråkats ut av alltför lång skolgång och nu möttes av en halvkass högskoleutbildning. Började programmera i Qbasic :) i 5:e klass eller så, men har egentligen helt tappat intresset - fast nu känner jag att kanske det vore kul att göra något igen...

Tänkte lära mig lite Assembler (kan inget), om det nu passar till en Winamp-plugg? Vill ju minimera CPU-belastning. Någon bra Assembler-bok eller webbkälla? lilltroll?

Mvh E*
Faktiskt.io – ingenting obekvämt!

Användarvisningsbild
lilltroll
 
Inlägg: 1697
Blev medlem: 2005-01-03

Inläggav lilltroll » 2005-12-22 03:48

E skrev:
CJNE skrev:Aha vad kul! :)

Ja!
CJNE skrev:Blir det en Öhman då eller?

Nix. Hade tänkt mig minst två! A och S.
CJNE skrev:Pluggar du sånt här?

Näe. Men jag hade nog för avsikt att göra det - och gjorde det till slut, men det var för sent, då jag redan tråkats ut av alltför lång skolgång och nu möttes av en halvkass högskoleutbildning. Började programmera i Qbasic :) i 5:e klass eller så, men har egentligen helt tappat intresset - fast nu känner jag att kanske det vore kul att göra något igen...

Tänkte lära mig lite Assembler (kan inget), om det nu passar till en Winamp-plugg? Vill ju minimera CPU-belastning. Någon bra Assembler-bok eller webbkälla? lilltroll?

Mvh E*


Nej fy, Assembler på motorola 68000 skrämde livet ur mig. Har förträngt allt ... nästan
Min barndomskompis var dock labbasse i Assembler träsket.

Användarvisningsbild
Style
 
Inlägg: 4536
Blev medlem: 2004-01-17

Inläggav Style » 2005-12-22 10:53

assembler på en 6502 eller 6800 är hanterbart och går att göra snabb kod i men för en modern arkitektur med piping och grejer kan jag garantera att vilken kompilator som helst gör mer optimal kod. C++ är dessutom bra mycket trevligare miljö
Dogmatisk Mac-Taliban

Användarvisningsbild
CJNE
 
Inlägg: 1222
Blev medlem: 2005-05-02
Ort: Söderhamn

Inläggav CJNE » 2005-12-22 11:03

Style skrev:assembler på en 6502 eller 6800 är hanterbart och går att göra snabb kod i men för en modern arkitektur med piping och grejer kan jag garantera att vilken kompilator som helst gör mer optimal kod. C++ är dessutom bra mycket trevligare miljö

Absolut.
Men för ett mer specialiserat chip som en DSP kanske det kan finnas en poäng med det. Men jag antar att det finns bra specialicerade högnivåspråk alternativt c-bibliotek även för dessa som kan generera lika effektiv kod.

Jag skulle vilja använda Java men det är nog inte att tänka på om man vill hålla nere latency på acceptabla nivåer…. (har jag fel? hoppas jag har fel :) )

Användarvisningsbild
silvervarg
 
Inlägg: 1228
Blev medlem: 2005-03-28
Ort: Linköping

Inläggav silvervarg » 2005-12-22 18:59

Jag skulle vilja använda Java men det är nog inte att tänka på om man vill hålla nere latency på acceptabla nivåer…. (har jag fel? hoppas jag har fel)


Om du vill göra saker i realtid (vilket du troligen vill när vi pratar DSP) så är det högst olämpligt att välja något språk som har garbadge collection eftersom exekveringen kommer att stanna en stund varje gång du får GC.
Om du skriver kod som aldrig allokerar minne så kommer du aldrig att få GC, så om du kan ta denna begränsning så undviker du problemet.

Språk som kör i virtual machine är oftast mindre bra val när man skall anropa hårdvara. Anledningen är att anrop ut ur den virtuella maskinen kostar lite tid, men detta kan du möjligen ta som nackdel.

C eller C++ brukar vara det vanligaste valet, och då ges normalt möjlighet att inlina assembler om det skulle behövas.


Återgå till Teknikforum


Vilka är online

Användare som besöker denna kategori: Bing [Bot], lemmts och 27 gäster