490 likes | 640 Views
Parametrisk equalizer. Fremlæggelse af gruppe 641 23. juni 2004. Fremlæggelsesplan. Kim Ngo Indledning Kim Nørmark Lydtryksmåler Mikkel Purup Filteralgoritme Andreas Gregers Frekvensanalyse Thomas Thorsen Talrepræsentation Casper Bonde Afslutning. Indledning. Kim Ngo.
E N D
Parametrisk equalizer Fremlæggelse af gruppe 64123. juni 2004
Fremlæggelsesplan • Kim Ngo • Indledning • Kim Nørmark • Lydtryksmåler • Mikkel Purup • Filteralgoritme • Andreas Gregers • Frekvensanalyse • Thomas Thorsen • Talrepræsentation • Casper Bonde • Afslutning
Indledning Kim Ngo
Parametrisk equalizer • Grafisk equalizer • Fast inddeling af frekvensbånd • Fastdefineret bredde • Parametrisk equalizer • Variabelt inddeling af frekvenbånd • Varierende bredde • Filtertype • Antal af filter
Digital equalizer filter • Peakfilter og shelffilter • Implementeres på DSP • Indstillingsparametre • Centerfrekvens • Bredde (Peakfilter) • Gain • Mastergain
DSP-firmware • Equalizer • Modtage samples • Filtrering af samples • Afspilning af samples • Lydtryksmåling • Måle lydtrykket • Sende lydtryk til pc • Frekvensanalyse • Måle frekvenskarakteristik • Kommunikation med pc
Lydtryksmåler Kim Nørmark
Sallen-Key 2. ordens højpas,dbl. nulpkt i 0 Hz,dbl. pol i 20,6 Hz. To 1. ordens højpas,nulpkt i 0 Hz,pol i 107,7 / 737,9 Hz. 2. ordens lavpas,dbl. pol i 12194 Hz
Direkte beregning • Dyrt og kompliceret design.2 multipliere + integrator. • Begrænset dynamikområde. Output: 100000:1 (0,001 – 100 V)Input: 100:1 (0,1 – 10 V)
Filteralgoritme Mikkel
Implementering af differensligning Y[n] = b0x[n] + b1x[n-1] + b2x[n-2] + (a1/2)y[n-1] + (a1/2)y[n-1] + a2y[n-2] • På grund af filtreringsinstruktioner ændres fortegn på a-koefficienterne. • a1 er halveret og akkumuleres to gange på grund af skalering.
Illustrering af filtreringsalgoritme ZALR NUL LT X2R1 MPY *+ LTD X1R1 MPY *+ LTD X0R1 MPY *+ LTA Y2R1 MPY *+ LTD Y1R1 MPY *+ LTA X2R2 MPYA *+ SACH Y1R1 SACH X0R2 ACC = ACC+P ACC = 0
Nuværende instruktionstid Handling Instruktioner Sæt continuos mode 1 Gem kontekst 13 Indlæsning af sample 6/7 Filtrering af 1. 2. og 3. 45 Filtrering af sidste sektion 12 Output til codec 5 Genskab kontekst 13 Return 4 I alt 99/100 • Herudover bruger interruptrutinen 6+3 instruktioner, hvilket bringer antallet af instruktioner for en stereosample op på 217.
Handling Instruktioner Sæt continuos mode 1 Gem kontekst 13 Indlæsning af sample 6/7 Filtrering af 1. 2. og 3. 45 Filtrering af sidste sektion 12 Output til codec 5 Genskab kontekst 13 Return 4 I alt 99/100 Herudover bruger interruptrutinen 6+3 instruktioner, hvilket bringer antallet af instruktioner for en stereosample op på 217. Handling Instruktioner Sæt continuos mode 1/0 Gem kontekst 13/0 Indlæsning af sample 4/4 Filtrering af 1. 2. og 3. 45 Filtrering af sidste sektion 12 Output til codec 5 Genskab kontekst 13/0 Return 4/0 I alt 97/66 Hvis D/M fjernes fra systemet, vil det formindske antallet af instruktioner for en stereosample til 169. Hvilket giver 48 flere instruktioner. Optimering af filteralgoritme
Frekvensanalyse Andreas
Formål • At kunne måle frekvenskarakteristikken for equalizeren, højttalerne samt lytterummet ved hjælp af et sinussweep • Visuel frekvensrespons • Dermed bliver det lettere for brugeren at tilpasse audiosystemmet til højttalerne og rummet
Virkemåde • Sinussignal genereres i DSP'en på baggrund af en tabel • Filtrering af signalet med de givne filtre • Filtreret signal udsendes i begge kanaler • Audiosignalet opfanges via lydtryksmåleren • Den næste sinusfrekvens genereres osv.
Blokdiagram over virkemåde • A-vægtet frekvensrespons • Vanskelig at tolke
Forskellig opløsning • Frekvensresponsen kan foretages med forskellig opløsning • Fra 1 til 30 punkter per oktav • Tydelig A-vægtning på frekvenskarak-teristikken
Equalisering ud fra frekvensanalyse • Frekvensanalyse med 10 pkt/oktav • Med alle filtre nulstillet • Forsøg på at equalizere audiosystemet
Blokdiagram over ideel virkemåde • Ikke A-vægtet frekvensrespons • Lettere at tolke korrekt
Talrepræsentation Thomas
Talrepræsentation DSP Processors Fixed-Point Floating-Point 16-bit 20-bit 24-bit 32-bit TMS320C26 IEEE 754 Other Kilde: DSP Processor Fundamentals: Architectures and Features
Koefficientkvantisering • Kun et endeligt antal diskrete nulpunkt- og polplaceringer er realiserbare. • Kvantisering af koefficienter giver ændringer i filterkarakteristik.
Koefficientkvantisering • Brugerfladen viser det realiserede og det ideelle filter. • Skalering er baseret på ideelle filtere. Realiseret Ideel
Filterberegninger Beregn ideelle koefficienter Ideelt filter Beregn Skalerings- faktorer Ideelt skaleret filter Kvantiser filter- koefficienter Kvantiseret approximation af ideelt skaleret filter
1 × = × S K 1 1 × S K × = 1 1 × S K 2 2 × = S K 4 2 2 Beregning af skaleringsfaktorer • Ændres skaleringsfaktoren, Påvirkes hele filterbanken. +6dB 0dB - 6dB 0,2 0,2 0,8 0,2 0,2 0,8 Endeligt gain: 1 1 4,0 1,2 0,4 1,0 0,3 0,1 2 2
Koefficientkvantisering • Det er ikke trivielt at udvikle en algoritme der forhindrer overflow som følge af koefficientkvantisering. • Ved at anvende en større ordlængde kan problemet minimeres. • 20bit mindsker problemet. • 24bit eliminerer problemet.
Kvantiseringsstøj 16bit 16bit 32bit 16bit
Kvantiseringsstøj e1 e2 e3 e4 x[n] y[n] + e • Kvantiseringsstøj akkumuleres gennem filtere: e = e1 + e2 + e3 + e4 • e1 til e3 kan minimeres ved at anvende en større ordlængde.
Talrepræsentation • Repræsentation af filterkoefficienter i 16bit giver problemer ved koefficientkvantisering. • Med 24bit repræsentation elimineres problemet med koefficientkvantisering. • Med 24bit repræsentation formindskes kvantiseringsstøjen betydeligt.
Afslutning Casper
Accepttest • Test områder: • Filter frekvenskarakteristik: • Overensstemmelse mellem teoretiske filtre og de implementerede? • Lydtryksmåling: • Er systemet i stand til at måle korrekt lydtryk inden for 60-80 dB? • Frekvenskarakteristikanalyse: • Er det muligt at måle frekvenskarakteristikken for det equalizerede audiosystem?
Lydtryksmåling • Lydtryksområde: 60-80 dB. • Test lyd: Pink noise. • Midlet over 100 målinger. • Maksimal afvigelse: 0,6 dB
Konklusion • 4 brugerdefinerede filtre. • Live opdatering af koefficienter. • Lydtryksmåling (max. afvigelse 0,6 dB). • Frekvenskarakteristik vha. sinussweep. • Accepttest godkendt. • Indstille filtre. • Måle a-vægtet lydtryk. • Måle audiosystemets frekvenskarakteristik.
Perspektivering • Tiltag fra fremlæggelsen. • Optimering af filtreringsalgoritmen Flere filtrer. • Frekvensanalyse uden a-vægtningsfilter. • 24 bit koefficienter og signalbehandling. • Andre perspektiver. • Studie projekt. • Moderne DSP. • Nyere Kommunikationsinterface. • Stand alone enhed til Hi-fi anlæg. • Ingen PC tilsluttet ved normal drift • Gemmer koefficienter mv. • Fjerne overflødig HW til udvikling