490 likes | 631 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 Gregersen 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 Gregersen • 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 filtere
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 = 0 + ½LSB ACC = ACC+P
Nuværende instruktionstid Handling Instruktioner Interruptbranch 6+3 Sæt continuos mode 1 Gem kontekst 13 Indlæsning af sample 6/7 Filtrering af 1. 2. og 3. 41 Filtrering af sidste sektion 12 Output til codec 5 Genskab kontekst 13 Return 4 I alt 104/105 • Det vil sige at antallet af instruktioner for en stereosample er 209 ud af 232.
Handling Instruktioner Interruptbranch 6+3 Sæt continuos mode 1 Gem kontekst 13 Indlæsning af sample 6/7 Filtrering af 1. 2. og 3. 41 Filtrering af sidste sektion 12 Output til codec 5 Genskab kontekst 13 Return 4 I alt 104/105 Det vil sige at antallet af instruktioner for en stereosample er 209 ud af 232. Handling Instruktioner Interruptbranch 6+3/0 Sæt continuos mode 1/0 Gem kontekst 13/0 Indlæsning af sample 4/4 Filtrering af 1. 2. og 3. 41 Filtrering af sidste sektion 12 Output til codec 5 Genskab kontekst 0/13 Return 0/4 I alt 85/79 I alt 164 instruktioner for en stereosample. Fjernes D/M systemet reduceres dette til 158, svarende til 74 ledige instruktioner – eller 2 ekstra filtersektioner per kanal. 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 ved hjælp af opslag i en forudberegnet sinustabel. • Filtrering af signalet med de givne filtere. • 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 filtere. • Live opdatering af koefficienter. • Lydtryksmåling (max. afvigelse 0,6 dB). • Frekvenskarakteristik vha. sinussweep. • Accepttest godkendt. • Indstille filtere. • Måle a-vægtet lydtryk. • Måle audiosystemets frekvenskarakteristik.
Perspektivering • Tiltag fra fremlæggelsen. • Optimering af filtreringsalgoritmen Flere filtere. • 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