parametrisk equalizer
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
1
Parametrisk equalizer
Fremlæggelse af gruppe 64123. juni 2004
2
Fremlæggelsesplan
Kim Ngo Indledning
Kim Nørmark Lydtryksmåler
Mikkel Purup Filteralgoritme
Andreas Gregersen Frekvensanalyse
Thomas Thorsen Talrepræsentation
Casper Bonde Afslutning
3
Indledning
Kim Ngo
4
Parametrisk equalizer
Grafisk equalizer Fast inddeling af
frekvensbånd Fastdefineret bredde
Parametrisk equalizer Variabelt inddeling af
frekvenbånd Varierende bredde Filtertype Antal af filtere
5
Eksterne tilslutninger
DSP-kernesystem
Cd-afspiller(Digital)
Lyd
Pc
Forstærker-interface
Lyd-interface
Cd-interface
Pc-interface
Forstærker(Analog)
Parametrisk equalizer
6
Opbygning af systemet
Cd-interface
FiltreForstærker-
interface
Kom.-interface
Pc-interface
Lydtryks-måler
Mikrofon-interface
Cd-afspiller Forstærker
Lyd
Parametrisk equalizer
DSP-interface
Bruger-flade
Filter-beregninger
Pc
DSP-kernesystem
Lyd-interface
7
Analog hardware
DifferentielLine-driver
DifferentielLine-receiver
Mikrofon Kabel
Codec
DSP
Gainjustering
A-vægtnings-filter
RMS-måler
Forstærker-interface
Seriel Kommunikation
Mikrofoninterface
Lydtryksmåler
8
Digital equalizer filter
Peakfilter og shelffilter Implementeres på DSP Indstillingsparametre
Centerfrekvens Bredde (Peakfilter) Gain Mastergain
9
DSP-firmware
Equalizer Modtage samples Filtrering af samples Afspilning af samples
Lydtryksmåling Måle lydtrykket
Frekvensanalyse Måle frekvenskarakteristik
Kommunikation med pc
10
Grafisk Brugerflade
11
Lydtryksmåler
Kim Nørmark
12
Lydtryksmåler
A-vægtnings-filter
Rms-måler
Lydtryksmåler
DifferentielLine receiver
Codec
13
A-vægtningsfilter
14
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.
15
Root mean square (rms)
T
T dttftfrms0
21 )()}({
16
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).
Square(multiplier)
Mean(integrator)
Root(multiplier)
EoVin
17
Tilbagekobling (log-antilog)
T
inTo
T
EV
To
T
EV
To
T
oinTo
dtVE
dtE
dtE
dtEVE
o
in
o
in
0
21
0
||1
0
||1
0
1
||
)]exp[ln(
)]ln(|)ln(|2exp[
2
2
ensretter 2*ln(|Vin|) exp(z) integrator
ln(Eo)
+
-
Vin Eoz
18
Filteralgoritme
Mikkel
19
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.
20
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]
T (16)
Multiplier
P (32)
AR3
x[n-1]
x[n-2]
x[n]
y[n-2]
y[n-1]
b1
b0
a2
½ a1
b2
ACC (32)
ACC = 0 + ½LSBACC = b2x[n-1] + ½LSBACC = b2x[n-1] + b1x[n-1] + b0x[n] + ½LSBACC = b2x[n-1] + b1x[n-1] + b0x[n] + a2y[n-2] + (a1/2)y[n-1] + ½LSBACC = b2x[n-1] + b1x[n-1] + b0x[n] + a2y[n-2] + 2(a1/2)y[n-1] + ½LSB
21
Nuværende instruktionstid
Interrupt11%
Ind- og udlæsning
11%
Filtrering46%
Kontekst22%
Idle10%
Handling InstruktionerInterruptbranch 6+3Sæt continuos mode 1Gem kontekst 13Indlæsning af sample 6/7Filtrering af 1. 2. og 3. 41Filtrering af sidste sektion 12Output til codec 5Genskab kontekst 13Return 4 I alt 104/105
Det vil sige at antallet af instruktioner for en stereosample er 209 ud af 232.
22
Optimering af filteralgoritme
Handling InstruktionerInterruptbranch 6+3Sæt continuos mode 1Gem kontekst 13Indlæsning af sample 6/7Filtrering af 1. 2. og 3. 41Filtrering af sidste sektion 12Output til codec 5Genskab kontekst 13Return 4 I alt 104/105
Det vil sige at antallet af instruktioner for en stereosample er 209 ud af 232.
Handling InstruktionerInterruptbranch 6+3/0Sæt continuos mode 1/0Gem kontekst 13/0Indlæsning af sample 4/4Filtrering af 1. 2. og 3. 41Filtrering af sidste sektion 12Output til codec 5Genskab kontekst 0/13Return 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.
23
Frekvensanalyse
Andreas
24
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.
Formål
25
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.
26
Flowdiagram over frekvensanalysen
StartFiltrering affrekvensen
gennem filtrene
Signaletafspilles I
begge kanaler
Optagede frekvensersammenlignes med
referencen og plottespå brugerfladen
Lydtryksmål-ing foretages
efter fastsat tid
Gain på line-receiverjusteres
Erniveau
korrekt?
Sweepslut?
Frekvensgeneres I DSP
udfrasinustabel
Slut
nej
nej
Resultatet aflydtryksmåling-en sendes til
PC’en
ja ja
27
Hardware-blokdiagram over virkemåde
A-vægtet frekvensrespons. Vanskelig at tolke.
28
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.
29
Frekvenskarakteristik med forskellig opløsning
Frekvenskarak-teristik med 5, 10 og 30 punkter/oktav
Tydelig A-vægtning på frekvenskarak-teristikken.
30
Frekvensanalyse med 10 punkter/oktav. Med alle filtre
nulstillet. Forsøg på at
equalizere audiosystemet.
Equalisering ud fra frekvensanalyse
31
Blokdiagram over forbedret virkemåde
Ikke A-vægtet frekvensrespons. Lettere at tolke korrekt.
32
Talrepræsentation
Thomas
33
Talrepræsentation
DSP Processors
Fixed-Point Floating-Point
16-bit 20-bit 24-bit 32-bit
IEEE 754 Other
Kilde: DSP Processor Fundamentals: Architectures and Features
TMS320C26
34
Koefficientkvantisering
Kun et endeligt antal diskrete nulpunkt- og polplaceringer er realiserbare.
Kvantisering af koefficienter giver ændringer i filterkarakteristik.
Mulige placeringer (6bit)
35
Koefficientkvantisering
Brugerfladen viser det realiserede og det ideelle filter.
Skalering er baseret på ideelle filtere.
Realiseret
Ideel
Koefficientkvantisering (16bit)
36
Filterberegninger
Beregn ideelle koefficienter
Beregn Skalerings-
faktorer
Kvantiser filter-
koefficienter
Ideelt filter
Ideelt skaleret filter
Kvantiseret approximation af ideelt skaleret filter
37
Beregning af skaleringsfaktorer
Ændres skaleringsfaktoren, Påvirkes hele filterbanken.
5,004,001,00
1,000,800,20
0,200,100,30
0,500,250,75
1 5
2 1
11
1
KS
22
11
KS
KS
Endeligt gain: 222KS
+6dB
- 6dB
0dB
38
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.
39
Kvantiseringsstøj
-a1
-a2
b1
b2
b0x[n] y[n]
z-1
z-1z-1
z-1
16bit 16bit32bit 16bit
40
Kvantiseringsstøj
Kvantiseringsstøj akkumuleres gennem filtere: e = e1 + e2 + e3 + e4
e1 til e3 kan minimeres ved at anvende en større ordlængde.
e1 e2 e3 e4
y[n] + ex[n]
41
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.
42
Afslutning
Casper
43
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?
44
Filter frekvenskarakteristik
45
Filter frekvenskarakteristik
46
Lydtryksmåling
Lydtryksområde:60-80 dB.
Test lyd: Pink noise. Midlet over 100
målinger. Maksimal afvigelse:
0,6 dB
47
Frekvenskarakteristikanalyse
48
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.
49
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
50
Demonstration