500 likes | 637 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 • Frekvensanalyse • Måle frekvenskarakteristik • Kommunikation med pc
Lydtryksmåler Kim Nørmark
Realisation af a-vægtning • Sallen-key (2. orden) • Højpas,nulpunkt i 0 Hz,pol i 20,6 Hz. • Lavpas,pol i 12194 Hz. • RC-led (1. orden) • Højpas,nulpunkt i 0 Hz,pol i 107,7 Hz. • Højpas,nulpunkt i 0 Hz,pol i 737,9 Hz.
Direkte beregning • Dyrt og kompliceret design. • 2 multipliere + integrator. • Kræver stort dynamikområde. • Input: 40 dB (0,1 – 10 V). • Output: 80 dB (0,01 – 100 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 x1[n-2] MPY *+ LTD x1[n-1] MPY *+ LTD x1[n] MPY *+ LTA y1[n-2] MPY *+ LTD Y1[n-1] MPY *+ LTA x2[n-2] MPYA *+ SACH y1[n-1] SACH x2[n] ACC = b2x[n-1] +b1x[n-1] + b0x[n] + a2y[n-2] + (a1/2)y[n-1] + ½LSB ACC = b2x[n-1] +b1x[n-1] + b0x[n] + ½LSB ACC = b2x[n-1] +b1x[n-1] + b0x[n] + a2y[n-2] + 2(a1/2)y[n-1] + ½LSB ACC = 0 + ½LSB ACC = b2x[n-1] + ½LSB
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. • Resultatet udlæses på brugerfladen. • Dermed bliver det lettere for brugeren at tilpasse audiosystemmet til højttalerne og rummet.
Frekvensanalyse metoder • Udsende støj (hvidt eller lyserødt). • Foretage en DFT-analyse af signalet. • Kræver komplicerede regneoperationer på DSP’en. • Har et lineært spring mellem frekvenserne og kræver derfor en høj opløsning • Udsende et sinussweep. • Sammenligne styrken af det optagede signal med en reference. • Her kan eksisterende hardware i form af lydtryksmåleren genbruges til at finde energien i signalet med.
Hardware-blokdiagram over virkemåde • A-vægtet frekvensrespons. • Vanskelig at tolke.
Forskellig opløsning • Frekvensanalysen kan foretages med forskellig opløsning. • Fra 1 til 30 punkter per oktav. • Dvs. 1 til 30 forskellige frekvenser per oktav, afhængig af den valgte opløsning. • F.eks. vil 2 punkter/oktav bevirke at 2 frekvenser logaritmisk fordelt mellem 20 Hz og 40 Hz udsendes.
Frekvenskarakteristik med forskellig opløsning • Frekvenskarak-teristik med 5, 10 og 30 punkter/oktav • Tydelig A-vægtning på frekvenskarak-teristikken.
Equalisering ud fra frekvensanalyse • Frekvensanalyse med 10 punkter/oktav. • Med alle filtre nulstillet. • Forsøg på at equalizere audiosystemet.
Blokdiagram over forbedret 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. Mulige placeringer (6bit)
Koefficientkvantisering • Brugerfladen viser det realiserede og det ideelle filter. • Skalering er baseret på ideelle filtere. Realiseret Ideel Koefficientkvantisering (16bit)
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 2 2 2 Beregning af skaleringsfaktorer • Ændres skaleringsfaktoren, Påvirkes hele filterbanken. +6dB 0dB - 6dB 5,00 4,00 1,00 1,00 0,80 0,20 Endeligt gain: 1 5 0,20 0,10 0,30 0,50 0,25 0,75 2 1
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