FIR-(delnings)filter i MATLAB

Hur funkar tekniken bakom bra hifi?

Moderator: Redaktörer

Användarvisningsbild
JohanS
 
Inlägg: 810
Blev medlem: 2003-10-03
Ort: Uppsala

FIR-(delnings)filter i MATLAB

Inläggav JohanS » 2004-08-13 12:48

Jag leker lite med ett program som heter BruteFIR som kan implementera FIR-filter i realtid på en musiksignal. Främst är det nog tänkt för att köra digitala delningsfilter via datorn, vilket jag också tänkt göra. Problemet är hur jag ska kunna skapa filtren. Har noterat att det finns en massa funktioner för FIR-filter i Matlab, men jag har inte riktigt de teoretiska kunskaperna för att förstå mig på dem.

Det jag vill göra är alltså att skapa lågpass, högpass och bandpassfilter, kunna bestämma delningsfrekvens och branthet. Allt för 44.100Hz samplingsfrekvens.

Användarvisningsbild
Rydberg
Rörlig
 
Inlägg: 7593
Blev medlem: 2003-08-17
Ort: Ulm, Tüskland

Inläggav Rydberg » 2004-08-13 13:07

Ahhhh, flashback :D , det där labbade man rätt mycket med för ett par år sedan i matlab, hmm kommer dock inte ihåg exakt hur man gjorde.. :?

Har för mig att det var ganska lätt.
Class only looks like arrogance from below.

Användarvisningsbild
JohanS
 
Inlägg: 810
Blev medlem: 2003-10-03
Ort: Uppsala

Inläggav JohanS » 2004-08-13 13:10

FIR1 FIR filter design using the window method.
B = FIR1(N,Wn) designs an N'th order lowpass FIR digital filter
and returns the filter coefficients in length N+1 vector B.
The cut-off frequency Wn must be between 0 < Wn < 1.0, with 1.0
corresponding to half the sample rate. The filter B is real and
has linear phase. The normalized gain of the filter at Wn is
-6 dB.


Det här hittar jag, och kan man använda det verkar det ju inte alltför svårt. Lite svårt att veta om "window method" är rätt väg att gå också om man inget kan om filterteori.

Användarvisningsbild
Rydberg
Rörlig
 
Inlägg: 7593
Blev medlem: 2003-08-17
Ort: Ulm, Tüskland

Inläggav Rydberg » 2004-08-13 13:26

Du kan ju kolla i litteraturen vilken fönsterfunktion du ska använda, hamming, rekt osv de har ju lite olika utseende och styrkor/svagheter beroende på vad man ska använda dem till.

Vi använde ett program som är gjort på Lith (tror jag) som hette kretslab (insticksprogram till matlab), har nog både litteratur och instruktioner till kretslab undanstoppat nu tyvärr.
Class only looks like arrogance from below.

Användarvisningsbild
Svante
Audiot!
 
Inlägg: 37552
Blev medlem: 2004-03-03
Ort: oakustisk

Inläggav Svante » 2004-08-13 16:37

Min rumskompis gjorde exjobb på digitala delningsfilter i matlab och det finns många gropar att falla i där. Han kan nog skicka en kopia till dig. Adress kommer i pm.
Så länge har jag längat efter att loudness war skulle vara över. Nu börjar jag tro att vi faktiskt är där. Kruxet är att vi förlorade.

Användarvisningsbild
JohanS
 
Inlägg: 810
Blev medlem: 2003-10-03
Ort: Uppsala

Inläggav JohanS » 2004-08-13 17:54

Mailar honom på studs! Jag hittade en person på diyaudio.com som gjorde sina filter i Octave. Kommandona han använde verkar vara precis motsvarande de i Matlab.

filter=fir1(antal_taps,delningsfrekvens/22050,typ_av_filter);

ex. lpfilter=fir1(16384,4500/22050,'lowpass');

Någon slags lågpassfilter som man kan plotta upp blir det, men hur brantheten sätts vet jag inte riktigt. Väldigt brant ser det ut iaf.


Återgå till Teknikforum


Vilka är online

Användare som besöker denna kategori: Majestic-12 [Bot] och 14 gäster