estimation and evaluation of reduced length equalization...

130
Estimation and Evaluation of Reduced Length Equalization Filters for Binaural Sound Reproduction Gruppe 741 17. december 2004

Upload: others

Post on 11-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Estimation and Evaluation of Reduced Length Equalization

Filters for Binaural Sound Reproduction

Gruppe 741

17. december 2004

.

Aalborg Universitet

Institut for Elektroniske Systemer

Fredrik Bajers Vej 7 DK-9220 Aalborg Øst Telefon +45 96 35 87 00

Titel: Estimation and Evaluation of Reduced Length Equalization Filters

for Binaural Sound Reproduction

Tema: Stokastisk signalanalyse

Projektperiode: 2. september 2004 - 17. december 2004

Projektgruppe:

741

Gruppemedlemmer:

Andreas Popp

Daniel Klokmose Nielsen

Esben Theill Christiansen

Jakob Sandholt Klemmensen

Michael Mørkeberg Løngaa

Christian Have Pedersen

Søren Birk Sørensen

Vejleder:

Jakob Jeppesen

Publikationer: 10Antal sider iArbejdsblade: 120

Bilag: Cd-romAfsluttet: 17/12-2004

Synopsis

The objective of this study was to estimate two equalizationfilters, which flatten the frequency response of the repro-duction chain used for binaural sound reproduction. Thesefilters should be of a lower order than the reciprocal of theheadPhone Transfer Function (PTF) - the optimum filter.The PTFs were obtained from measurements on two he-adphones (Beyerdynamic DT990 Pro (DT990) and Mona-cor MD-300 (MD300)). These measurements were perfor-med using the Maximum Length Sequence System Ana-lyzer. Three different model structures and four differentestimation methods were used to estimate the parametersof the equalization filters. The chosen models were ARX,ARMAX and OE; the parameter estimation methods cho-sen were PEM-LS, PEM-WLS, PEM-RLS and Steiglitz-McBride. The estimated filters for the DT990 were furtherevaluated by conducting a 3 Alternatives Forced Choice li-stening test. The four estimated equalization filters had or-ders that were significantly lower than the optimum equa-lization filter. For the DT990 the order was reduced to 24;for the MD300 the order was reduced to 35. Both filters forthe DT990 were found using the ARMAX model and thePEM-RLS estimation method. The filters for the MD300were found using the OE model and the Steiglitz-McBrideestimation method. The listening test conducted showed noaudible difference.

.

Forord

Denne arbejdsbladssamling er udarbejdet af gruppe 741 på Institut for Elektroniske Systemerved Aalborg Universitet. Den er skrevet som dokumentation for det udførte arbejde i forbindelsemed projektet på 7. semester.

Aalborg d. 17. december 2004

———————————— ————————————

Andreas Popp Esben Theill Christiansen

———————————— ————————————

Daniel Klokmose Nielsen Jakob Sandholt Klemmensen

———————————— ————————————

Michael Mørkeberg Løngaa Christian Have Pedersen

————————————

Søren Birk Sørensen

t’

i

.

Indholdsfortegnelse

1 Projektbeskrivelse 1

I Referater af artikler 4

2 Fundamentals of Binaural Technology 5

2.1 Introduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Fritfelts transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 Lytning med hovedtelefoner . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4 Binaural teknik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5 Equalisering til højttalere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.6 Processering til afspilning med højttalere . . . . . . . . . . . . . . . . . . . . . 8

2.7 Ordliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Transfer characteristics of headphones measured on human ears 10

3.1 Resume/referat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2 Introduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 Metoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4 Results/Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.5 Konklusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Transfer-Function Measurement with Maximum-Length Sequences 13

4.1 Introduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2 Basic Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3 Noise Immunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.4 Non-linear effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.5 MLS coherence function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.6 A comparision of TDS and MLS methods . . . . . . . . . . . . . . . . . . . . 17

iii

Indholdsfortegnelse

4.7 Reverberation time versus sequence period . . . . . . . . . . . . . . . . . . . . 17

4.8 Envelope calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.9 MLS instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.10 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5 Evaluation and Comparison of Metods... 19

5.1 Resume/referat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.2 Intoduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.3 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5.4 Results/Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

II Dokumentation 23

6 Dataopsamling og præprocessering 24

6.1 Manual til måling af PTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.2 Præprocessering af data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

7 Minimum phase 33

7.1 Teori omkring minimum phase . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8 Direkte invers filter 37

8.1 MatLab-eksempel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.2 Direkte invers filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

9 Frequency warping 45

9.1 Teori omkring warping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

9.2 Anvendelse af warping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

10 Parameterestimering 54

11 Parametriske modeller 56

12 Parameterestimeringsmetoder 60

12.1 Prediction Error Methode (PEM) . . . . . . . . . . . . . . . . . . . . . . . . . 60

12.2 Least squares estimering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

12.3 Steiglitz-McBride iterativ estimering . . . . . . . . . . . . . . . . . . . . . . . 65

12.4 Konklusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

iv

Indholdsfortegnelse

12.5 Valg af estimeringsmetoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

13 Implementation af parameterestimeringsmetoder 68

13.1 Least-Square . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

13.2 Weighted least square . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

13.3 Steiglitz-McBride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

13.4 Prediction-Error-Method Recursive-Least-Square . . . . . . . . . . . . . . . . 76

14 Beregning af parametre 83

14.1 Beregningsresultater for DT990 . . . . . . . . . . . . . . . . . . . . . . . . . 85

14.2 Plots af maximum afvigelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

14.3 Simulation log, DT990 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

14.4 Simulation log, MD-300 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

14.5 Udvælgelse af filtre til lyttetest på DT990 hovedtelefonen . . . . . . . . . . . . 102

14.6 Udvælgelse af filtre for MD300 hovedtelefonen . . . . . . . . . . . . . . . . . 107

15 Lyttetest 110

15.1 Testmetode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

15.2 Design af testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

15.3 Fremgangsmåde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

15.4 Resultater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

16 Konklusion 118

Litteraturliste 119

v

.

Projektbeskrivelse 1Denne projektbeskrivelse har til formål at gøre det klart for gruppens medlemmer, hvad projektetindeholder. Hypotese, fremgangsmåde og test vil blive beskrevet overordnet i dette dokument.

Projektforslag: Equalization of headphones for 3D sound

Projekttitlen er blevet ændret til: Estimation and Evaluation of Reduced Length EqualizationFilters for Binaural Sound Reproduction.

One way to obtain a true 3D sound reproduction with the perception of di-rection and distance to the original sources preserved, is by reproduction of binau-ral recordings. Binaural recordings are made in the ears of the listener or by use ofan appropriate mannikin, and the reproduction is best done by use of headphones,which assures a total channel separation. However, headphones are designed forother purposes, e.g. the reproduction of traditional stereo recordings, and does notmeet the requirements for reproduction of binaural recordings without additionalequalization.

OBJECTIVE: To implement and evaluate a method for headphone equalization,considering the variation across headphone types and capsules, and possibly con-sidering the variation across the human listeners. It is proposed to implement anequalization procedure, which is based on an ARMA model of the system transfer,possible comparing the equalization filter with the “straight forward” inverse filterthat can be obtained by making a minimum phase approximation of the amplitudeof the FFT of the impulse response, assessing 1) the quality of the filter(s) obtai-ned, 2) implementational efficiency, 3) complexity in the design procedure (e. g.necessity for weighting functions, manual manipulation, etc). Proposed by JakobJeppesen

1.0.1 Problembaggrund - forudsætninger

Problemet består i, at binaural gengivelse kræver et fladt frekvensrespons under overførsel, så-ledes at der er korrekt gengivelse fra indgangen til øregangen på kunsthovedet til øregangensindgang på lytteren. Forskellige modeller af hovedtelefoner har meget forskellige overførselska-rakteristikker til øregangen, hvorfor det ønskes muligt at implementere et filter, som man kansætte foran sin hovedtelefon. Overførselskarakteristikken varierer desuden en del fra person tilperson. Dette filter skal implementeres i realtid, hvorfor der ønskes at finde frem til implementa-

1

Kapitel 1. Projektbeskrivelse

tionsmetoder, som er optimerede til realtidsimplementation i forhold til det direkte inverse filter.Dette kræver en opstilling af en model for overførslen.

1.0.2 Hypotese

H0 : Det er ikke muligt at høre forskel på 3 forskellige implementationeraf equaliseringsfiltre til equalisering af høretelefoner til 3D lyd.

Ha : Der er muligt at høre forskel.

1.0.3 Fremgangsmåde

Målinger: Måle impulsresponset for eheadphone til pearcanal for 5 af gruppens medlemmer på 2forskellige hovedtelefon modeller. Det vil sige impulsrespons fra spændingen på hørete-lefonens terminaler til lydtrykket ved øregangen. Der tages 3 stk. af samme model, og dermåles både for venstre og højre kanal.

Preprocessing: Signalet bliver lavpas-filtreret af måle systemet inden det bliver midlet over16 målinger. En målesekvens er på 4095 samples men forkortes ned til 256 samples,hvilket svarer til 5.33 ms., da signalet herefter kun indeholder information om efterklang.Minimum phase findes af målesekvensen, sekvensen båndpasfiltreres og inverteres. Indenparameter estimeringen bliver impulsresponset filtreret med et “frequency warping filter”.Desuden beholdes det oprindelige impulsrespons, således kan det warpede estimeredefilter sammenlignes med det uwarpede estimerede filter.

Equalizing: Opstille modelstruktur, som skal lede til parameterestimering ud fra målinger.Dette skal lede til et equaliseringsfilter med færre tappe end det lange inverse filter.

Dette filter vil blive testet mod det direkte inverse filter ved en 3AFC-test, for at finde udaf, om det er muligt at høre forskel. Denne test vil formentlig ikke blive udført på begge2 hovedtelefon modeller, da vi ikke forventer at få tid til dette. Vi forventer at finde enkilde, som vi kan støtte os til ved afgrænsning til een parameterestimeringsmetode.

1.0.4 Test - lyttetest

3 AFC Alternative forced choice

Ole K. Andersen bemærkede i mail flg.:

Den svære diciplin er nu at designe dette eksperiment for objektivt at kunne evaluere hypotesen. En mådeville være at foretage nogle pilotforsøg for endeligt at fastsætte parametre og samtidig få en fornemmelse af, hvorstor variation der er på effektparametrene (udfaldet af lyttetesten). Baseret på dette kan I så fastlægge den optimalelyttest (hvor stor skal N være - power analyse baseret på spredningen i parametrene - og hvilke(t) parametre skalsystematisk varieres) for at teste hypotesen. Måske er de tre filtre ens ved een type lyd/styrke og forskellig vedandre konditioner. Dette er vigtigt at belyse og standardisere for at kende testens forudsætninger og begrænsninger.Måske kan I ikke nå hele vejen igennem, men I jeres projekt virker det, som om I har en god mulighed for atdesigne et godt eksperiment til test af hypotesen. Resten er jo reelt trivielt gentagelsesarbejde.

2

1.0.5 Projektstruktur

Blokdiagram over de væsentlige opgaver i projektet.

PTF PreprocessingFrequency

warping x kandidat

filtre

x kandidat

filtre

Invers filter

sound generatorTest generator Test filter

Test resultatHypotesetestdata

Filter længde ( orden. )Estimations modelEstimations metodeWarpingError

Filter evaluation parameters

MLLSA målinger

Figur 1.1: Blokstruktur af flowet i projektarbejdet. Først måles impulsresponset mellem øret og hovedtele-

fonen, hvoraf PTF udledes. Der foretages så preprocessering, som giver et midlet PTF, hvoraf

der estimeres forskellige filtre. Tilsidst udvælges filtre til hypotese test

3

Referater afartikler

I

4

Fundamentals of BinauralTechnology 2Titel “Fundamentals of Binaural Technology“

Forfatter Henrik Møller

Årstal 1991

Buzzwords Binaural Technology,

Abstract “This article reviews the fundamental ideas of the binaural recording technique. Amodel is given that describes the sound transmission from a source in a free field, throughthe external ear to the eardrum. It is shown that sound pressures recorded at any pointin the ear canals–possibly even a few millimeters outside and even with a blocked earcanal–can be used for binaural recordings, since they include the full spatial informationgiven to the ear.

The sound transmission from a headphone is also described. It is shown how the correcttotal transmission in a binaural system can be guaranteed by means of an electronic equa-lizing filter between the recording head and the headphone. The advantage of an openheadphone is stated. It is shown that a certain degree of loudspeaker compatibility can beachieved, if the equalizer is divided into a recording side and a playback side. A methodfor true reproduction of binaural signals through loudspeakers is also described.

A number of topical and prospected applications of binaural technology are mentioned.Some of these utilize computer synthesis of binaural signals, a technique which is alsodescribed.”

2.1 Introduktion

Hovedformålet med artiklen er, at give et overblik over de metoder der kan bruges til optagelseog afspilning of binaurale signaler

Optagelse af binaurale signaler foretages med små mikrofoner i øregangene på enten med etsåkaldt kunsthoved (Kunstkopf) eller på et normalt menneske.

Afspilning foretages med høretelefoner for at sikre den eksakte gengivelse, hvilket ikke er mu-ligt med almindelige højttalere.

Et at de store problemer med BiT (Binaural Teknik), er bestemmelse af lyde direkte forfra ellerbagfra. Nogle gange kan disse lyde endda forekomme at komme inde fra hovedet. Det er endnuikke endegyldigt klart hvorfor disse fænomener forekommer, en forklaring kan være forskellepå opbygningen af menneskets hoved osv.

5

Kapitel 2. Fundamentals of Binaural Technology

For korrekt gengivelse af det binaurale signal, er det vigtigt at høretelefonen er korrekt equali-seret.

2.2 Fritfelts transmission

Den korrekte spatiale oplevelse opnås når den direkte samt alle reflektioner er tilstede samtidigt.

Når et menneske skal bestemme afstand og retning til en lydkilde bruges følgende ledetråde.

• Farvning, når ingen af de nedenstående er tilstede.

• Tidsforskelle, gælder for de mellemste frekvenser.

• Faseforskelle, gælder for de laveste frekvenser.

• Amplitudeforskelle, gælder for de højeste frekvenser.

BiT har til opgave at gengive signalerne ved trommehinderne korrekt. Det er ligegyldigt hvordanhørelsen udtrækker information om afstand og retning. Dette skal dog bruges til at bedømmeden acceptable tolerance i et binauralt system.

Transmissionsledningsanalogi kan benyttes, når bølgelængden er meget større end diameterenpå øregangen. Dvs. frekvenser op til 10 kHz.

Der defineres nogle lydtryk, som er givet ved følgende:

• p1: Lydtryk hvor midtpunktet af personens hoved ville være.

• p2: Open circuit lydtryk ved indgangen til øregangen, hvor øregangen er blokeret.

• p3: Lydtryk ved indgangen til øregangen.

• p4: Lydtryk ved trommehinden.

Forholdet mellem P2 og P3 er givet ved,

P3

P2=

Zear_canal

Zear_canal +Zradiation(2.1)

hvor Zradiation er impedansen af det omgivende rum, set fra øregangen, og Zear_canal er impedansenaf øregangen.

En lydkildes placering i forhold til lytterens hoved er defineret ved afstanden, r, azimuthvinklen,φ og elevationsvinklen, θ.

Der defineres forskellige HTF’er, som er følgende: P4P1

, P3P1

og P2P1

, som alle er afhængige af r, φog θ. Ved r ≥ 2 m er HTF uafhængig af r.

Overføringsfunktionerne giver en komplet beskrivelse, indeholdende refleksioner fra skuldremm, retning osv. Propagationer fra p2, p3 til p4 er uafhængige af lydkildens placering, hvorforp2, p3 og p4 indeholder hele spatialinformationen til øret. Der er diskussion om hvor vidt denneen-dimensionelle transmission starter allerede lidt uden for øregangen eller ej.

Skal monaural FT og interaural TF med?

6

2.3. Lytning med hovedtelefoner

2.3 Lytning med hovedtelefoner

Binaurale signaler gengives oftest med hovedtelefoner. Dette sikrer at der undgås crosstalk ogreflektioner fra rummet.

For hovedtelefoner defineres følgende:

• P5: Open-circuit lydtryk ved indgangen til øregangen.

• P6: Lydtryk ved indgangen til øregangen.

• P7: Lydtryk ved trommehinden.

• Zheadphone: Impedans set ud i fra indgangen til øregangen, skabt af hovedtelefonen.

• Eheadphone: Spænding på hovedtelefonens terminaler.

For hovedtelefoner benyttes følgende PFT’er, P7Eheadphone

, P6Eheadphone

og P5Eheadphone

, der ikke indeholderafhængighed af afstand og retning til lydkilden. PFT’erne findes for både højre og venstre side.

Der gælder følgende ligheder med det frie felt.

P7

P6=

P4

P3(2.2)

p6

p5=

Zear_canal

Zear_canal +Zheadphone(2.3)

P3/P2

P6/P5=

Zear_canal +Zheadphone

Zear_canal +Zradiation(2.4)

Åbne hovedtelefoner er hovedtelefoner, som ikke forstyrrer Zradiation , dvs. Zheadphone ≈ Zradiation

hvorfor (2.4) reduceres til P3/P2 ≈ P6/P5

2.4 Binaural teknik

Ved optagelse af binaurale signaler, benyttes ofte et kunsthoved. Signalet sendes gennem etfilter, G, til lytterens hovedtelefon. Mikrofonen placeres på tre forskellige måder.

Alle tre metoder kræver kalibrering af hovedtelefonen ved bestemmelse af den tilhørende PTF.

2.4.1 Optagelse ved trommehinden

Filteret har en overføringsfunktion som er givet ved,

GA =1

M1 · [P7/Eheadphone](2.5)

hvor M1 er mikrofonens overføringsfunktion.

Den korrekte overførsel opnås, hvis kredsløbet kompenserer for mikrofonens følsomhed ogPTF’en.

7

Kapitel 2. Fundamentals of Binaural Technology

2.4.2 Optagelse ved indgangen til åben øregang

Filteret har overføringsfunktionen,

GB =1

M1 · [P6/Eheadphone](2.6)

Også her opnås den korrekte overførsel, hvis kredsløbet kompenserer for mikrofonens følsom-hed og PTF’en.

2.4.3 Optagelse ved indgangen til blokeret øregang

Filteret har en overføringsfunktion,

GC =Zear_canal +Zheadphone

Zear_canal +Zradiation·

1M1 · [P5/Eheadphone]

(2.7)

hvor den første del af udtrykket forsvinder ved brug af åbne høretelefoner.

Kalibreringen gør, at mikrofonens overføringsfunktion skal tages i betragtning. G beregnes udfra,

G =M2

M1·

Eheadphone

Emicrophone(2.8)

hvor M1 er overføringsfunktionen for mikrofonen brugt ved optagelse, M2 overføringsfunktio-nen for mirkofonen brugt ved kalibrering.

Ved optagelse skal der tages højde for, om mikrofonen forstyrrer lydfeltet. Dette er ikke nød-vendigt ved måling ved indgangen til blokeret øregang. Der opstår fejl, hvis der ikke anvendesåbne høretelefoner.

2.5 Equalisering til højttalere

Filteret G kan deles op i to filtre, G = G′ ·G′′, hvor filtrene vælges, så frekvensresponset er fladtmellem de to filtre. G kan opdeles enten ved fritfelts equalisering eller diffustfelts equalisering.

Ved ikke helt, hvor meget der skal med herfra?

2.6 Processering til afspilning med højttalere

Der kan genereres kunstig crosstalk, som fjerner den naturlige crosstalk. Denne typer systemervirker kun i "anechoic"ske rum, og placeringen af lytterens hoved er meget kritisk.

2.7 Ordliste

• Timbre: Farvning, overtoner til lyd mm.

8

2.7. Ordliste

• Spatial effect: Opdeling i flere kilder/mikrofoner. Stereo, binaural retningsbestemmelse.

• Binaural recording: Betyder at de to input til hørelsen bliver gengivet korrekt.

• HTF: Head Transfer Function eller Head-related Transfer Function, normalt p4/p1.

• PTF: HeadPhone Transfer Function

9

Transfer characteristics ofheadphones measured onhuman ears 3Title “Transfer characteristics of headphones measured on human ears”

Forfattere Henrik Møller, Dorte Hammershøi, Clemen Boje Jensen, Michael Friis Sørensen

Årstal 1995

Buzzwords PTF, PDR, MLS

Abstract “For 14 headphones and 40 human subjects, transfer functions were measured fromthe voltage at the headphone terminals to the sound pressure at the entrance to the blo-cked ear canal. For all headphones the frequency responses were characterized by smoothfluctuations at low frequencies and rather individual high-Q resonances at high frequen-cies. Data were also obtained on the headphones’ acoustical loading of the ear canal.The main objective of the inverstigation was an evalution of the headphones as a meansfor the reproduction of binaural signals, but the transfer functions were also comparedwith design goals adequate for the reproduction of normal stereo recordings.”

3.1 Resume/referat

Ordliste

PTF Phone Transfer Function. Overføringsfunktion fra en hovedtelefons indgangsterminalertil indgangen ved en blokeret ørekanal.

PDR Pressure Divsion Ratio. Forhold mellem trykket ved ørekanalen med hovedtelefon ogingen.

MLS Maximum Length Sequence

FEC Free air Equivalent Coupling

3.2 Introduktion

Formålet er at vurdere 14 hovedtelefoners formåen til reproduktion af binaural lyd. For binauralesystemer er det vigtig at have den korrekte transmision fra optagelse til afspilning. Hovedtele-fonerne bedømmes på deres egenskaber som FEC hovedtelefoner.

Der opstilles en transmissionsmodel fra lydgiver til trommehinden. Denne model er tidligereanvendt i “Fundamentals of Binaural Technology“ af Henrik Møller.

10

3.3. Metoder

G =1

M ·P5/Eheadphone·

Zearcanal +Zheadphone

Zearcanal +Zradiation(3.1)

PTF = P5/Eheadphone (3.2)

PDF =Zearcanal +Zheadphone

Zearcanal +Zradiation(3.3)

G =1

M ·PTF·PDR (3.4)

“Binaural recordings may be made at any point in the ear canal, ...” For PDF lig 1 er det enFEC hovedtelefon. M er målemikrofonens impedans, og den vil ofte have en flad frekvenska-rakterstik. “The sound field created by the combination of loudspeaker and room is called thereference field”. “Even when measurements are made in the ear canal, results are normally gi-ven as the deviation between the sound obtained from the headphone and that from the referencesound field”.

Formålet specificeres til at bestemme PTF og PDF for 14 kommercielle hovedtelefoner på 40forsøgspersoner.

3.3 Metoder

To mikrofoner af forskellig type anvendes til hhv. målinger ved en lukket og åben ørekanal. Deranvendes 48 kHz samplingsfrekvens og en MLS længde på 4095 samples. “The first 256 sampleswere used in the postprocessing, giving a frequency resolution of 187,5 kHz”. Påvirkningenfra målemikrofon og måleudstyr blev fjernet. SNR opgives til typisk 70 dB. De forskelligePDR blev beregnet ved en kompleks division i frekvens domænet mellem trykforholdet fundetuden hovedtelefon og P6

P5med hovedtelefon. Sidstnævnte er trykforholdet mellem en åben (P6)

og en lukket ørekanal, målt ved indgangen til øret. Lydtrykmålinger uden hovedtelefon blevforetaget i en anden undersøgelse. PTF’erne blev fundet ved en Fourier transformation af detmålte impulsrespons. Denne blev målt vha. MLS-teknikken.

3.4 Results/Discussion

Venstre og højre kanal er generelt næsten ens.

3.4.1 PTF

“At frequencies up to a few kHz, the [PTF] curves are relatively smooth, and the resonances areof a low-Q nature. Above 8 kHz all responses are dominated by narrow peaks and dips”. “Forall headphones the responses show considerable variations between subjects”.

En sammenligning mellem forsøgspersonerne ved en lukket ørekanal viser en klar struktur optil mindst 7 kHz. Mellem 7 og 12 kHz er det stadig muligt at se en struktur, men ved frekvenser

11

Kapitel 3. Transfer characteristics of headphones measured on human ears

over 12 kHz er variationerne for store. Ved en åben ørekanal er det kun muligt at se en klarstruktur op til 2 kHz.

3.4.2 PDR

Små ændringer i hovedtlf- og hovedposition kan give give spikes ved højere frekvenser, hvilketgiver en for stor usikkerhed for PDR over cirka 7 kHz. Over 2 kHz ses individuelle variationer,men med klare fællestræk for hver hovedtelefon.

Alle hovedtelefoner i forsøget kan betragtes som FEC hovedtlf. i området op til 2 kHz.

En egnet equalisering af en hovedtelefon kunne være den reciprokke af den målte middel-PTF.Da hørelsen er mest følsom over for “peaks” fremfor “dips” i frekvensdomænet, kunne en mid-ling af PTF’erne beregnes udfra “sound power” for at give en større fejlvægtning til “peaks”.

3.5 Konklusion

PDF’erne er pålidelige op til 7 kHz. MLS viste sig brugbar. Alle hovedtlf var karakteriseret vedlangsomme fluktuationer ved lave frekvenser, og kraftige individuelle høj-Q resonanser ved højefrekvenser. Det viste sig fordelagtigt at anvende målinger fra en lukket ørekanal. En individuelequalisering er at foretrække for hver bruger af en hovedtlf. Kun een hovedtlf. kunne betragtessom en FEC hovedtlf. Hvis en middel afvigelse på 4 dB er acceptabel kan alle de 14 testedebetragtes som FEC hovedtlf.

12

Transfer-FunctionMeasurement withMaximum-Length Sequences 4Titel “Transfer-Function Measurement with Maximum-Length Sequences”

Forfatter Douglas D. Rife og John Vanderkooy

Årstal 1989

Buzzwords Maximum length sequences...

Abstract "A comprehensive analysis of transfer-function measurement based on maximum-length sequences (MLS) is presented. MLS methods employ efficient cross correlationbetween input and output to recover the periodic impulse response (PIR of the systembeing measured. For perfectly linear noiseless system, the PIR so obtained os shown tobe identical to the systems response to a simple periodic square pulse. In the face ofexternal noise and nonlinearities, the MLS approach is shown to as robust as time-delayspectrometry (TDS). Like TDS, MLS methods are also capable of rejecting or selectingnonlinear (distortion) components when measuring weakly nonlinear systems. An MLScoherence function is defined that is not unlike the coherence function usuallyassociatedwith dual-channel FFT analyzers. Finally, a new low-cost instrument based on the IBM-PC makes MLS measurements generally available ad affordable"

4.1 Introduktion

Brugen af Maximum-length sequences (MLS) til analyse af overføringsfunktioner af lineæresystemer er ikke ny, MLS har dog kun været anvendt til specifikke applikationer, såsom rumak-kustik. MLS metoden har vist sig at være praktisk anvendelig og støjrobust !?. Binær MLS er enpseudo vilkårlig to-niveau sekvens af længden L = 2N − 1, N er Integer. Dette giver en impulsunder cirkulær autokorrelation. Udviklingen af nye instrumenter har gjort det muligt at opnå etbredere og mere teoretisk dybdegående eksperimetgrundlag vha. MLS metoden. Det viser sig, atMLS metoden i nogle tilfælde er at foretrække fremfor dual-channel fast Fourier transformation(FFT) og time-delay spectrometry (TDS). Ydermere kan MLS teknikken forbedres med forbe-handlingsteknik (preemphasis and preaveraging), således at de overordnede støj præstationer forMLS metoden er bedre end disse for TDS metoden. Periodisk pulse testing (PPT* forkortelse idette referat) er en metoden der anvendes for at opnå et acceptabelt sinal/støj forhold ift. enhedsimpulsen, og mange af resultaterne fra denne metoden kan overføres til MLS, MLS metodenhar dog bedre signal/støj- og forvrængningsegenskaber. Det vises i artiklen, at disse to metoder(Periodisk pulse testing (PPT) og MLS) er ækvivalente for perfekte lineære støjfrie systemer. Iulineære systemtilfælde er det for PPT metoden ikke muligt at adskille de lineære og ulineærekomponenter, men for TDS og MLS metoden er dette muligt. MLS metoden er mere fleksibel

13

Kapitel 4. Transfer-Function Measurement with Maximum-Length Sequences

og giver lov til flere varianter af tidsvinduer end TDS metoden. MLS metoden sammenlignesmed den statistiske FFT metode, hvor transfer funktionen findes vha. coherence funktionen.Denne coherence funktion kan også defineres og udregnes for MLS metoden. Maximum-lengthsequences kan anvendes til enhver applikation, hvor systemets impulssvaret eller transfer funk-tionen skal måles præcist i et minimum af tid under ugunstige forsøgsforhold.

4.2 Basic Theory

4.2.1 Time aliasing and the Periodic Impulse Response

Periodic unit-sample sequences of period L. δ′ = 1,n mod L = 0 og 0 otherwise

h(n) er impulsesvaret (IR) og h’(n) er det periodiske impulssvar (PIR) Sammenhængen mellemPIR og IR kan bestemmes vha. linær foldning af delta’ med h(n):

y′(n) =∞

∑k=−∞

δ′(k) ·h′(n− k) =∞

∑k=−∞

h′(n− kL) (4.1)

Denne proces kaldes også time aliasing.

Spectrum af en periodisk sekvens:

X(n) =∞

∑k=−∞

x′(k) · e−2 jπnk′N (4.2)

4.2.2 MLS Measurement in Discrete Time

4.2.3 Minimum Measurement Time

Normal påtrykkes en fuld MLS periode til stabilisering af systemet og derefter pårtykkes enperiode til MLS måling.

4.2.4 DC-coupled Systems

MLS er periodisk i perioden L: L = 2N −1 "The important property of an MLS is that its periodicautocorrelation is essentially a periodic unit-sample sequence."

φss(n) = s′(n) ·φ · s′(n) =1L

+L−1

∑k=0

s′(k)s′(k +n) (4.3)

φ er en enhedspuls under cirkulær autokorrelation og: φss(0) = 1,φss(n) = −1L ,0 < n < L

Renormalisering af dette:

Ωss(n) = s′(n) ·φ · s′(n) =1

L+1·

L−1

∑k=0

s′(k)s′(k +n) (4.4)

14

4.3. Noise Immunity

og: Ωss(0) = 1L+1 ,Ωss(n) = −1

L+1 ,0 < n < L

Så:

Ωss(n) = s′(n) ·φ · s′(n) = δ′(n)−1

L+1(4.5)

MLS påtrykt LTI system med PIR h’(n) giver system output y’(n)

y′(n) = s′(n)⊕h′(n) =L−1

∑k=0

s′(k)h′(n− k) (4.6)

Den periodiske krydskorrelation er også normaliseret:

Ωnn(n) = s′(n) ·φ · y′(n) =1

L+1+

L−1

∑k=0

s′(k)y′(n+ k) (4.7)

substituering:

Ωnn(n) = s′(n) ·φ · (s′(n)⊕h′(n)) =L−1

∑k=0

Ωss(n) ·h′(n− k) (4.8)

Det ses at, den periodiske krydskorrelation mellem output og input er lig med foldningen afautokorrelationssekvensen Ωss og systemets PIR.

4.2.5 Continuous-Time System

MLS skal konverteres til analog form, når metoden bruges til Continuous-Time System og tildette anvendes en mapping funktion kaldet comb(t).

4.3 Noise Immunity

4.3.1 PDF of a Filtered MLS

MLS PDF er 0 undtagen ved +1 og -1, hvor det er en impulse med arealet 0.5. PDF af en lineærfiltreret MLS sekvens antager tilnærmelsesvist en gausisk fordeling. Specielt hvis sekvens pe-rioden er lang og impulssvaret varer længere end et par samples. Dette gælder dog ikke for et"Identity filter [h’(n) = delta’(n)]"eller et "matched filter"

4.3.2 Excitation Crest Factor

SNR comparitions: MLS kontra TDS, hvilket metoden der har de bedste SNR egenskaber erstærkt afhængigt af systemet.

15

Kapitel 4. Transfer-Function Measurement with Maximum-Length Sequences

4.3.3 Preemphasis

"Preemphasis"er en fordel når støj spektrummet ikke er fladt. For de fleste akustiske eksperi-menter, gælder det at støj spektrummet ikke fladt, pga. rum støj er rig på lav frekvent energi. Enforbehandling i form af en form for lavpas filtrering vil forbedre de lavfrekvente SNR egenska-ber.

4.3.4 Preaveraging

En midling af flere perioder af systemsvaret før udregning af krydskorrelation forbedre ogsåSNR egenskaberne.

4.3.5 Trasient Noise Immunity

MLS metoden er modstandsdygtig overfor støj trasienter af alle slags. ( Akustiske støjkilder )"Clicks, pops, footsteps, coughs"ol. vil blive transformeret til mild støj, fordelt over hele PIRperioden

4.4 Non-linear effects

4.4.1 Modelling Weak Nonlinearities

Man kan modellere svage ulineariteter i ellers lineære systemer, ved at repræsenterer ulinearite-ten som en sum af overførringsfunktioner,

H( f )+H( f1, f2)+ ...+H( f1, ..., fn)

(4.9)

hvor H( f ) er en lineær første ordens overførringsfunktion, og H( f1, f2) er en 2. ordens overfør-ringsfunktion som sammen med H( f1, ..., fn) udgør ulineariteten, som ønskes modelleret.

4.4.2 Phase Randomization

I MLS kan man ikke skelne mellem de frekvenser, der skabes af den lineære del og de inter-modulationsfrekvenser, der bliver skabt af de ulineære komponenter. I ulineariteten bliver derskabt mange nye frekvenser, men de frekvenser som er forskellige fra demodulatorernes bliversorteret fra. Men de frekvenser der ligger oven i de lineære frekvenser, bliver ikke sorteret fra,da demodulatorerne ikke kan kende forskel på en frekvens skabt af den lineære eller den uli-neære del. Forskellen ligger i at de lineære frekvenser ikke ændrer fase ved demodulation, dade i forvejen er i fase med demodulatoren. De ulineære frekvenser er ikke i fase og de får enny, tilfældig fase ved demodulation. Hvis et signal får gjort sin fase tilfældig, bliver dette signalstationært og dets middelværdi og varians bliver tidsinvariante. Energien vil derfor blive fordeltuniformt over hele måleperioden. En måde at undertrykke ulineariteterne på, er at før-filtrereMLS signalet, så det får en Gaussisk PDF.

16

4.5. MLS coherence function

4.4.3 Seperability of Linear and Intermodulation Components

Man kan separere den lineære og den ulineære del, ved at se på den initierende del af impulsre-sponset, som den lineære del og halen som den ulineære del. Det kan man, da et impulsresponsfor et lineært system har en transient natur, og derfor vil have en koncentration af energi istarten. Et ulineært impulsrespons vil derimod have en uniform fordeling af energien. En totaladskillelse er derfor kun mulig, hvis man lader måletiden, og dermed impulsresponset, gå imoduendelig.

4.4.4 Experimental Verification

Ved simulering kan man se at fasen ikke bliver helt tilfældig, men tilnærmelsen er god nok. Derbliver vist at resultatet bliver bedre, med en længere MLS, og at fasen på støjen bliver meretilfældig.

4.5 MLS coherence function

Definition af et mål for hvor godt MLS måler overførringsfunktionen og derefter en sammenlig-ning mellem statistiske og deterministiske målemetoder, med den konklusion at deterministiskemetoder er både hurtigere og mere præcise.

4.6 A comparision of TDS and MLS methods

Sammenligning af MLS med en anden deterministisk målemetode, TDS. Det konkluderes atMLS er bedst (sjovt nok).

4.7 Reverberation time versus sequence period

Omhandler refleksioner ved måling af højtalere

4.8 Envelope calculation

Mere om højtaler måling og rumakustik

4.9 MLS instrumentation

Omhandler implementering på 386 processor med henblik på en billig løsning. Hvilke tiltagman kan gøre for at få algoritmerne til at køre bedre.

17

Kapitel 4. Transfer-Function Measurement with Maximum-Length Sequences

4.10 Conclusions

MLS er et alternativ til ellers gængse metoder til måling af systemers overførringsfunktioner.MLS måler det periodiske impulsrespons og dette kan betragtes lig med impulsresponset, hvisMLS perioden er lig med eller længere en systemets IR. Ellers kan der opstå tids aliasering.Der kræves to fulde MLS perioder til en måling. Der er ingen DC i en MLS måling, og dermedundgås DC-offset. MLS er mere immun overfor støj end TDS, hvis der før-filtreres med et pinknoise filter. Dette giver også en Gassisk PDF, som er ønsket for at undertrykke ulineariteter.Ulineariteter kan fjernes ved at vælge en MLS periode der er meget længere end systemets IR.Herefter vil starten af det målte IR svare til systemets IR.

18

Evaluation and Comparison ofMetods... 5Titel ”Evaluation and Comparison of Metods for Real Time Equalization of Stereo Headphones

for Binaural Reproduction.”

Forfatter Henrik A. Nielsen, Klaus R.Pedersen, Ronni M. Petersen, Kristian H. Sørensen, Mi-kael Sørensen (gruppe 740).

Årstal 2003.

Buzzwords Binaural sound, headphone equalization, parametric transfer function estimation,frequency warping.

Abstract “The objectiv of this study is to experimentally evaluate various metods for transferfunction estimation, in order to find a method that makes it possible to estimate a headP-hone Transfer Function (PTF) with the fewest parameters. In addition, frequency warpingis tested to investigate whether it will improve the estimation. MLSSA-measured PTFimpuls responses from a previous study were used as experimental test data. To comparethe performance of the different methods a log-magnitude error tolerance of ±1 dB waschosen due to practical hearing aspects. The final goal is designing a filter that will beused in the reproduction of binaural sound recordings. The filter designed is based onthe estimation from the optimal method. The results showed that the optimum estimationmethod are mostly found in the frequency-domain where filter orders as low as 19 wereachieved for the best method.”

5.1 Resume/referat

5.2 Intoduction

Indtroduktionen tager udgangspunkt i artiklen “Fundamentals of binaural technology” skrevetaf Møller, der forklarer, at høretelefonen skal have et flat frekvensrespons for at lyden blivergengivet korrekt. Tidligere har Møller fundet “HeadPhone Transferfunction”(PTF) på 14 for-skellige høretelefoner, der hver blev testet på 40 forskellige personer. Denne undersøgelse, somer beskrevet i artiklen “Transfer characteristics of headphones measured on human ears” viste,at ingen af de målte høretelefoner havde et flat frekvensrespons. Yderemere viste undersøgelsenogså, at PTF varierede mellem hver testperson, hvorfor det vil være optimalt, at equalizerendesignes til den enkelte bruger. Ud fra målinger af PTF for tre forskellige høretelefoner påfire forskellige testpersoner, dokumenterer Toft, at det ikke er muligt at konstruere et genereltfrekvensrespons, der er flat nok til brug af 3d lyd. Det er derfor nødvendigt at konstruere en

19

Kapitel 5. Evaluation and Comparison of Metods...

equalizer til samtlige høretelefonmodeller. Derfor undersøges det, hvorvidt det er muligt at kon-struere et mindre ressourcekrævende filter end det ’direkte inverse’ filter.

Hovedformålet med denne undersøgelse er: Evaluere og sammenligne forskellige parametresmodeleringsmetoder ved design af equalizer, for at finde det equalizer system, der kan beskrivesved færrest parametre. Derudover vil før- og efterprocesseringsmetoder blive undersøgt.

5.2.1 Equalizer design

I artiklen betegnes equalizeren som det “inverse system”, defineret ved:

Heq(z) =1

PTF(5.1)

Når et system inverteres, er det vigtigt, at alle polerne ligger inden for enhedscirklen for at sikrestabilitet.

5.2.2 Design and evalution criteria

I dette afsnit opstilles en række kriterier for at kunne evaluere og sammenligne de forskelligemetoder.

• Da det ikke er muligt at høre lyde på under 1dB (og i praksis op til 2dB) forudsættes det,at et flat frekvensrespons er opnået, hvis responset ikke varierer mere end ±1dB.

• Da øret ikke opfatter “low level components” omkring “high level components” i signalet,vægtes equalizer “paeks” højere end “dips”.

• Da øret opfatter lyde logoritmisk er det vigtigere, at fejl i de lave frekvenser vægtes højereend fejl i de høje frekvenser.

• Pga. høretelefonens fysiske opbygning og ørets båndbredde, sættes systemets båndbreddefra 50 Hz til 20 kHz.

5.2.3 Goal of this investigation

I artiklen vælges tre forskellige katekorier af parameter-estimeringsmetoder: Prediction errormethods (PEM), least squares (LS) og weighted least squares (WLS). De valgte metoder er:

• PEM LS

• PEM Recursive LS

• PEM Nonlinear LS

• Prony

• Shanks

• Steiglitz-McBride

• Weighted steiglitz-McBride

20

5.3. Methods

• Wieghted nonlinear LS

Alle parameterestimeringsmetoderne vil blive testet med og uden frequency warping.

5.3 Methods

5.3.1 Data

De udleverede data, der er brugt, består af målinger fra tre forskellige høretelefoner på 4 forskel-lige testpersoner, foretaget med målesystemet MLSSA. Disse var fortaget med en samplingsfre-kvens på 44,1 kHz og et anti-aliasingfilter på 20 kHz, hvor hver måling var en midling over 16målinger. Dette gav 4095 samples for hver høretelefon.

5.3.2 Preprocessing

For at fjerne effekten af MLSSA-systemets anti-aliasingfilter og store varitioner preprocesse-res dataen. For at fjerne de store variationer i de individuelle målinger bliver der foretaget enmidling af signalerne. Både midlingen og fjernelsen af AA-filteret gøres i frekvensdomænet, dadet betegnes som værende den mest effektive metode til at undertrykke udønskede variationer.Da parameterestimeringsmetoderne kræver et impulsrespons som input rekonstrueres impulsre-sponset ud fra det midlede frekvensrespons.

5.3.3 Frequency warping

Da mennesket opfatter lyde logoritmisk ved forskellige frekvenser, er det valgt at benytte “frequencywarping”, da dette kan være en fordel ved brug af systemer til audio. Til forskel fra et all-passfilter, som har en forstærkning på 1 ved alle frekvenser, kan et “frequency warping” filter styrefasen ved ændring af filterets parametre. Warped filtre er mere beregningstunge end almindeligfiltre, men filtre, der har en høj opløsning ved lave frekvenser har ofte poler, der ligger samlettæt ved enhedcirklen. Ved at benytte et warped filter vil polerne ligge uniformt fordelt og det be-virker, at filteret bliver mindre følsomt overfor parameternøjagtighed og kvantiseringsstøj. Dettegør det muligt at implementere filtre med en højere orden end almindelige filtre.

Da der i denne undersøgelse bruges filterordener over 30, benyttes “frequency warping”.

5.3.4 Model identification

Til at bestemme hvilken systemmodel der beskriver PTF bedst benyttes en metode kaldet Box-Jenkins. På baggrund af denne vælges at benyttes ARMA-modellen, repræsenteret ved (5.2).

H(z) =B(z)A(z)

=∑q

m=0 bmz−m

1+∑pn=1 anz−n

(5.2)

21

Kapitel 5. Evaluation and Comparison of Metods...

5.3.5 Parameter estimation

Der kigges på tre forskellige overordnede metoder til at estimere parametrene: Prediction Er-ror Method (PEM), Least Squares filters (LS filters) og Weighted Least Squares Filters (WLSfilters).

PEM er baseret på den optimale one-step predictor og estimere parametrene ved at minimereerror-funktionen givet ved (5.3).

E = −1

2 ·n

N−1

∑n=0

|y(n)− y(n,Θ)|2 (5.3)

Der kigges på både en analytisk løsning, PEM Least Squares (PEM-LS), og en rekursiv løsning,PEM Recursive Least Squares (PEM-RLS).

Ved LS filters kigges på metoderne Prony, Shanks og Steiglitz-McBride (STMCB). Endeligt kig-ges der for WLS filtrene på weighted STMCB (WSTMCB) og Weighted Nonlinear LS (WNLS).Ved WNLS benyttes to forskellige metoder; W(k) opdateres efter et givet antal iterationer (me-tode 1) og W(k) opdateres efter hver iteration (metode 2).

Metoderne bedømmes ud fra hvor godt de opfylder kravet om ±1 dB.

5.3.6 Method test

Der testes desuden to metoder til at bestemme ordnen. Den første er “Grid search”, hvor pholdes fast og q, jf. (5.2), øges indtil et tilfredsstillende estimat opnås. Den anden metode var enkombination af et overestimat og pol-nulpunkts cancellation.

5.4 Results/Conclusion

Overordnet kommer de frem til, at den bedste metode til at estimere parametrene er WNLSmetode 1, da der her blev opnået den laveste orden for alle tre PTF’er. Derudover gav de metoderder arbejdede i frekvensdomænet de bedste resultater. PEM-metoderne og Prony og Shanksmetoderne gav i de fleste tilfælde ikke brugbare resultater. Desuden blev der fundet ud af, atfrekvenswarpingen ikke forbedrede resultaterne.

Det blev fundet at Grid-metoden var bedst til at bestemme ordnen. Denne metode er dog megettidskrævende og en optimering af denne ville derfor være ønskværdig.

Gruppen kommenterer at det ville være bedre hvis der var blevet arbejdet med mere måledataend det var tilfældet. De kommenterer også der burde have været lyttetest for at teste funktiona-liteten af equaliseringsfiltrene.

22

Dokumentation

II

23

Dataopsamling ogpræprocessering 66.1 Manual til måling af PTF

Tidspunkt: 25. oktober 2004, 8.30 - 10.30

Sted: Akustik lytterum B4-107

6.1.1 Måleudstyr

Apparat Mærke AAU-nummer

MLSSA System 26827

4-kanals hovedtelefonforstærker Behringer HA 4400 52602

Measuring Amplifier Brüel&Kjær Type 2636 08717

Miniature elektret mikrofon Sennheiser KE-4-211-2 [1] SN 106

Hovedtelefon Beyerdynamic DT 990 Professional 2036-5& 2036-6 & 2036-9

Hovedtelefon Monacor MD-300 AAU nummer ej tilgængeligt

6.1.2 Opsætning af MLSSA system

De nedenstående indstillinger markeret med [*] er anvendt af [1], de resterende er valgt i sam-arbejde med gruppens vejleder.Acquisition:

• Mode: Cross Correlation

• Længde:∗ 4095 samples

• Samplingsfrekvens:∗ 48 kHz

• Concurrent pre-averaging:∗ 16 gange1

• Auto range: Enabled

Anti-aliasing filter:

• Type: Chebyshev

1Ifølge [2] givet denne pre-averaging en 12 dB forbedring af SNR

24

6.1. Manual til måling af PTF

• Båndbredde: 20 kHz

• Forstærkning: 2 (+− 2,5 volts range)

Clock generator 48 kHz

Beyerdynamic DT990Monacor HD-300

1 meter

MLSSA system

Mikrofon strømforsyning

KE-4-211-2Sennheiser

Type 2636

B & KMeasuring Amp.

HA 4400

HT-ampBehringer

Figur 6.1: Måleopstilling

6.1.3 Placering af mikrofoner

Anvend “EAR earplugs” til at montere målemikrofonerne i (for at opnå at ørekanalen er luk-ket) [3, s. 193]: Brænd et passende fordybning i proppen med en loddekolbe. Placer mikrofoneni proppen, og dernæst proppen i øret.

6.1.4 Placering af hovedtelefoner

Forsøgspersonen skal selv placere hovedtelefonerne på hovedet [1, s. 211 venstre]. Målingengentages 3 gange med samme hovedtelefon og imellem hver måling skal hovedtelefonen tagesaf og på igen. Hver måling skal have et tilhørende filnavn som følger skemaet i tabel 6.1.6. Dader generelt ikke er forskel mellem venstre og højre øre, vælges det kun at opsamle data for detvenstre [1, s. 207 n th].

Begge kanaler af hovedtelefonen måles, derfor vendes hovedtelefonen om, så højre kanal spilleri venstre øre2.

2Ved Monacor HT var det ikke muligt at måle begge kanaler på venstre øre pga. HT’s udformning, derfor place-redes mikrofonen i højre øre

25

Kapitel 6. Dataopsamling og præprocessering

6.1.5 Placering af testperson

Testpersonen er som vist på figur 6.1 placeret 1 meter fra nærmeste objekt, værende borde,vægge og loft. Den efterklang, der vil optræde i målingerne vil bevæge sig 2 meter, i formel 6.1ses antallet af samples hvorefter efterklangen optræder (Der er rundet op/ned til nærmeste potensaf 2).

t =s

clyd=

2 m333 m

s

= 6 ms

nsamples = fs · t = 48 kHz ·6 ms = 288 samples ≈ 256 samples (6.1)

6.1.6 Måleskema

Person y

1H1yx 1H2yx 1H3yx 1H4yx 1H5yx 1H6yx

2H1yx 2H2yx 2H3yx 2H4yx 2H5yx 2H6yx

3H1yx 3H2yx 3H3yx 3H4yx 3H5yx 3H6yx

Tabel 6.1: Format <målenr. for hoxedtlf>H<hoxedtlf nr.><personnr. y=a,b,c,d,e><x = h (højre) eller v (ven-

stre) kanal>

Person Navn Hovedtlf. Type

a Jakob Sandholt Klemmensen H1 Beyerdynamic AAU-lbr: 2036-5

b Christian Have Pedersen H2 Beyerdynamic AAU-lbr: 2036-6

c Daniel Klokmose Nielsen H3 Beyerdynamic AAU-lbr: 2036-9

d Esben Theill Christiansen H4 Monacor MD-300 “1”

e Søren Birk Sørensen H5 Monacor MD-300 “2”

H6 Monacor MD-300 “3”

Tabel 6.2: Personer og hovedtelefoner

6.1.7 Resultater

I figur 6.2 ses to impulsresponser, et for hver af de to hovedtelefoner der blev benyttet undertesten. Der er i alt fundet 90 impulsresponser for hver hovedtelefon. Der er fundet 45 impulsre-sponser for hver hovedtelefonskanal, da højre og venstre kanal/øre antages at være symmetriskskal dette udgøre den samlede PTF for en hovedtelefon vha. midling. Som tidligere nævnt be-nyttes der kun 256 samples, til videre behandling, hvilket svarer til de første 5,33 ms, dette giveren effektiv frekvens opløsning på 187.5 Hz.

26

6.1. Manual til måling af PTF

Der benyttes 2048 samples ved FFT, hvilket giver en frekvensopløsning på 23,4375 Hz. I gra-ferne er der kun vist de første 96 samples, hvilket svarer til de første 3 ms. da responset over 96samples stort set er lig nul.

0 0.5 1 1.5 2 2.5 3−0.4

−0.2

0

0.2

0.4 Beyerdynamic

Tid [ms]

V/V

0 0.5 1 1.5 2 2.5 3−0.4

−0.2

0

0.2

0.4 Monacor

Tid [ms]

V/V

Figur 6.2: Impulsrespons for hovedtelefonerne, måling 10 er benyttet i alle respons, dvs. 1. måling for

person D

I figur 6.3 ses frekvensrespsonet for MLSSA systemet samt forstærkerens højre og venstre kanal.Det ses at Chebyshev filteret i MLSSA systemet har 3 dB knækfrekvens ved 21,5 kHz.

Hvis der kigges nærmere på frekvensresponset for de 2 hovedtelefoner ( 6.4) ses det, at op til ca.6-7 kHz er kurvene relativt “bløde,” området over 6-7 kHz er præget af flere “peaks” og “dips”og desuden er der meget større variation mellem målingerne for en given hovedtelefon.

Kurveformerne minder indenfor hver hovedtelefonkanal meget om hinanden, der kan fore-komme offset forskelle, men der ses ens frekvenskarakteristikker op til området omkring 6-7kHz. Offset forskelle kan opstå som følge af flere forskellige parametre. Da den samme mikro-fon er brugt til alle målinger kan mikrofonens følsomhed afskrives som grund til offset forskelle.Derimod må man formode at de forskellige testpersoner har forskellige ører, hvilket medførerat afstand fra hovedtelefon til mikrofon ikke er den samme. Desuden kan øreproppen som mi-krofonen er monteret i, glide en smule ud under forsøget, dette medfører kortere afstand tilmikrofonen.

27

Kapitel 6. Dataopsamling og præprocessering

102

103

104

−40

−30

−20

−10

0

10

20

filter og forstærkerens venstre kanal

Frequency [Hz]

dB V

/V

102

103

104

−40

−30

−20

−10

0

10

20

filter og forstærkerens højre kanal

Frequency [Hz]

dB V

/V

Figur 6.3: Frekvensrespons for højre og venstre kanal af forstærkeren samt Chebyshev filteret i MLSSA

systemet

28

6.2. Præprocessering af data

6.2 Præprocessering af data

Dette afsnit omhandler behandlingen af måledata før parameterestimeringen foretages. Dvs.behandlingen i vores tilfælde omhandler de data vi fået som output fra MLSSA systemet.

Det følgende er skrevet med udgangspunkt i [4, Kap. 14]. Der nævnes flere forskellige muligeproblemer med målt data, disse kan findes ved inspektion af måledata, og fjernes før viderebehandling.

1. Høj- og lavfrekvente forstyrrelser.

2. Tilfældige spikes, eg. outliers.

3. Manglende data og ikke-kontinuerte data.

4. Offset.

Dvs. at de data der er tilrådighed skal inspiceres og i henhold til ovenstående filtreres, modifice-res, eller forkastes.

6.2.1 Fremgangsmåde

I vores tilfælde bevæger vi os fra den ovenstående beskrivelse af præprocessering og nærmeros vores egen definition på præprocessering. Dog er Måledata blevet inspiceret og det er blevetkonkluderet, at hverken høj- eller lavfrekvente forstyrrelser er tilstede i data. Det kan diskutereshvorvidt der er outliers imellem vore data, men det vurderes ikke at have nogen videre effekt pådet endelige resultat. Desuden optræder der ikke spikes og ved gennemgang af data ser det udsom om al data er kontinuert.

Det næste skridt er, at vi skal have fundet to PTF’er:

1. Beyerdynamic

2. Monacor

Hver måling består af 4095 samples, det er dog kun nødvendigt at bruge 256 af disse jf. 6.1 detteskulle samtidig fjerne efterklang fra målerummet samt interiør. Derfor udtrækkes kun disse framålesættet.

Førend en midling kan foretages skal følgende fjernes fra målekæden:

• Chebyshev filteret introduceret i MLSSA systemet

• Forstærkeren

• Mikrofonen3

3Alle tre er omtalt i Målemanualen, der er foretaget målinger for både MLSSA system og forstærker. Desuden ermikrofonens følsomhed blevet oplyst til at være 0.302 V/Pa målt ved 1 Pa 1 kHz og 94 dB SPL.

29

Kapitel 6. Dataopsamling og præprocessering

Forstærkeren og Chebyshev filteret fjernes i samme ombæring. Ved at måle impulsresponset forforstærkeren fås et udtryk for forstærker og MLSSA system, dette kan således affoldes fra detmålte impulsrespons af hele kæden. Og det ønskede impulsrespons frembringes.

Vi bevæger os over i frekvensdomænet ved at udføre en 2048 punkts FFT, og herefter kom-pleks divideres det målte frekvensrespons med forstærkerens og MLSSA systemets samledefrekvensrespons.

102

103

104

−40

−30

−20

−10

0

10

20

Beyerdynamic

Frequency [Hz]

dB r

e. 1

Pa/

V

102

103

104

−40

−30

−20

−10

0

10

20

Monacor

Frequency [Hz]

dB r

e. 1

Pa/

V

Figur 6.4: De to midlede PTF’er

PTF ( f ) =Hmeasured( f )

HMLSSA,amp( f )(6.2)

Der kan nu foretages en midling, dette gøres ved flg.:

|PTFj| =1N

n

∑i=1

(|PTFij| (6.3)

∠PTFangle,j =1N

n

∑i=1

∠PTFij (6.4)

(6.5)

Heraf ses det at både amplitude og vinkel bliver midlet hver for sig. I figur 6.4 plottes kun

30

6.2. Præprocessering af data

amplituden som er opgivet i dB relativ 1 Pa/V, den fede linie er midlede PTF mens de reste-rende er alle målte PTF’er. Den stiplede linie illustrerer Chebyshev filteret samt forstærkerensfrekvensrespons4 .

Stabilitet, båndbegrænsning og invers PTF

Før PTF’en kan inverteres skal det sikres, at dette ikke medfører instabilitet. Dette gøres ved attrække minimum fase ud af frekvensresponset (se Minimum fase arbejdsbladet). Det må forven-tes at hovedtelefonerne er dæmpet ved lavere frekvenser, og en invertering medfører et tilsva-rende gain. Dette kan have uheldige konsekvenser for hovedtelefonen, og derfor båndbegrænsesde inverterede PTF’er.

Beyer Dynamic hovedtelefonerne er forholdvis flade i området 50 Hz til 20 kHz. Omkring 20kHz falder amplituden for PTF kraftigt, og under 50 Hz ligeledes. Det vælges derfor at bånd-pasfiltrere den inverse PTF med høj- og lavpasfiltre med knækfrekvenser på hhv. 35 Hz og 20kHz (Butterworth 3. ordens).

PTF’en for Monacor hovedtelefonerne viser en hældning på ca. 9 dB/oktav fra 50 til 200 Hz, ogdvs. at forstærkningen under 50 Hz vil blive forholdvis kraftig. For ikke at overbelaste hovedte-lefonerne sættes knækfrekvensen for højpasfilteret til 50 Hz. Knækfrekvensen for lavpasfilteretvælges igen til 20 kHz. Orden for højpasfilteret vælges til 3 for at modsvare hældningen på 9dB/oktav.

Effekten af båndpasfiltrene ses af figur 6.5 for henholdsvis Beyer Dynamic og Monacor.

0.05 0.1 0.2 1 2 10 20−20

−15

−10

−5

0

Frequency response of the window used to bandwidth limit H

f [kHz]

[dB

]

Window used in BeyerdynamicWindow used on Monacor

Figur 6.5: t

PTF’en inverteres:Heq(z) =

1PTF

(6.6)

I figur 6.6 (Beyer Dynamic) og figur 6.7 (Monacor) ses frekvensresponset for det midlede PTFog den inverse af den midlede PTF, imellem disse ses det resulterende frekvensrespons når PTFog Heq(z) ganges sammen.

4p7/databehandling/preprocessing.m indeholder matlab koden til ovenstående.

31

Kapitel 6. Dataopsamling og præprocessering

0.05 0.1 0.2 1 2 10 20−15

−10

−5

0

5

10

15Frequency response of the PTF and the inverse filter

f [kHz]

[dB

]

PTFHH

BWPTF*H

BW

0.05 0.1 0.2 1 2 10 20

−1

0

1

Frequency response of the filtered impulse response

f [kHz]

[dB

]

Figur 6.6: Beyerdynamic DT990.

0.05 0.1 0.2 1 2 10 20

−20

−10

0

10

20

Frequency response of the PTF and the inverse filter

f [kHz]

[dB

]

PTFHH

BWPTF*H

BW

0.05 0.1 0.2 1 2 10 20

−1

0

1

Frequency response of the filtered impulse response

f [kHz]

[dB

]

Figur 6.7: t

32

Minimum phase 77.1 Teori omkring minimum phase

Frekvensresponset af et LTI system giver ikke en unik karakteristik af systemet. Hvis et systemskal være kausalt og stabilt kræver det at polerne ligger indenfor enhedscirklen, nulpunkterne erder derimod ingen restriktioner på hvad angår stabilitet og kausalitet [5, Kap 5.6 s.240]. I nogleproblemstilllinger er det nødvendigt at udlede det inverse LTI system med krav om stabilitet ogkausalitet. For et system, hvor det inverse system skal udledes, kræver det at både polerne ognulpunkterne ligger indenfor enhedscirklen. Systemer med disse krav kaldes minimum phasesystemer.

7.1.1 Minimum phase

For ethvert stabilt kausabelt LTI system gælder ligningen [5, kap.5.6 s.240]

H(z) = Hmin(z)Hap(z) (7.1)

Komponenterne i ligningen beskrives [5, Kap 5.6 s.241]

- Hmin: Minimum phase komponenten indeholder alle poler og nulpunkter i H(z) der liggerindenfor enhedscirklen, samt nulpunkter der er konjugerede reciprokke af nulpunkterne iH(z) der ligger udenfor enhedscirklen.

- Hap: All-pass komponenten indeholder alle nulpunkter i H(z) der ligger udenfor enheds-cirklen, samt poler til udligning af de reflekterede konjugerede reciprokke nulpunkter iHmin.

Der gives et eksempel for et system med nulpunkter udenfor enhedscirklen, hvor minimumphaseog all-pass komponenten findes:

33

Kapitel 7. Minimum phase

H(z) =1−3z−1 +2.5z−2

1−0.5z−1

Nulpunkter: Z = 1.5− i0.5 og 1.5+ i0.5

Poler: P = 1 og 0.5

H(z) =(1− (1.5− i0.5)z−1)(1− (1.5+ i0.5)z−1)

1−0.5z−1

H(z) = 2.5 ·(z−1 − (0.6+ i0.2))(z−1 − (0.6− i0.2))

1−0.5z−1

(7.2)

Så bliver: Hmin = 2.5 ·(1− (0.6+ i0.2)z−1)(1− (0.6− i0.2)z−1)

1−0.5z−1 (7.3)

Og all-pass komponenten: Hap =(z−1 − (0.6+ i0.2))(z−1 − (0.6− i0.2))

(1− (0.6+ i0.2)z−1)(1− (0.6− i0.2)z−1)

Og så fås: H(z) = Hmin ·Hap ⇔

H(z) =2.5 · (1− (0.6+ i0.2)z−1)(1− (0.6− i0.2)z−1)(z−1 − (0.6+ i0.2))(z−1 − (0.6− i0.2))

(1−0.5z−1)(1− (0.6+ i0.2)z−1)(1− (0.6− i0.2)z−1)⇔

H(z) =2.5 · (z−1 − (0.6+ i0.2))(z−1 − (0.6− i0.2))

(1−0.5z−1)⇔

H(z) =(1−3z−1 +2.5z−2)

(1−0.5z−1)

Minimum phase systemet har samme frekvensrespons som det originale system se figur 7.1 oger samtidig stabilt i sin inverterede form. Ved filter modeller med nulpunkter udenfor enheds-cirklen, kan minimum phase teknikken anvendes til at realisere frekvensresponset fra det inversefilter.

7.1.2 Cepstrum analysis og homomorphic deconvolution

Transformation af et signal til dens cepstrum er en homomorphic transformation. Homomor-pic filtrering er en teknik der kan anvendes til adskillelse af minimumphase og all-pass kom-ponenterne i signaler ind i filteret. Ved equalization af høretelefoner til afspilning af 3D lyder overføringsfunktionen for høretelefonerne (PTF) målt og effekten fra høretelefonerne ønskesequalizeret. Equalizeringen gøres vha. et direkte inversfilter, som findes ved at invertere PTF’en.Et stabilt inversfilter kan findes ved at invertere minimumphase af PTF’en og homomorphic fil-trering kan anvendes til netop at udlede minimumphase af PTF’en. Filtreringsmetoden opdelerPTF’en i minimumphase og all-pass komponenter ved brug af cepstrum. Definitionen af kom-

34

7.1. Teori omkring minimum phase

0 50 100 150 200 250 300 350 400−10

0

10

20

30

Frequency. response for H(z), Hmin

(z), Hap

(z)

Frequency HzG

ain

dB

H(z)H

minH

ap

0 50 100 150 200 250 300 350 400−4

−2

0

2

4

Phase response for H(z), Hmin

(z), Hap

(z)

Frequency Hz

Rad

ians

H(z)H

minH

ap

Figur 7.1: Øverste plot viser frekvensresponset af H(z), Hmin(z) og Hap(z). Grafen for H(z) og Hmin(z)overlapper hinanden som forventet. Nederste plot viser faseresponset for H(z), Hmin(z) og

Hap(z).

pleks cepstrum og real cepstrum findes i [5, kap.12.1 s.769].

X(z) = log[X(z)] (7.4)

x[n] =1

Z π

−πlog(X(eiω))eiωdω (7.5)

cx[n] =1

Z π

−πlog|X(eiω)|eiωdω (7.6)

X(z) er logaritmisk transformation af input frekvensresponset, x[n] er det komplekse cepstrumaf input sekvensen, og cx[n] er cepstrummet. Minimumphase komponenten kan udledes af cep-strummet vha. frekvensinvariant lineær filtrering. Hilbert relationen er givet i [5, kap.12.6.1s.782]. Minimumphase udledes vha. cepstrum som i ligningnen 7.7

xmin[n] = cx[n]lmin[n] (7.7)

Hvor:

lmin = 2u[n]−δ[n] (7.8)

Opdelingen af inputsekvensen i en minimumphase og all-pass komponent vha. homomorphicfiltrering implementeres som vist i 7.2.

Undersøgelser peger på at når equaliserings filtre laves ved kun at invertere minimumphasekomponenten, så vil effekten af allpass komponenten ikke kunne opfattes ( høres ) [6, Paper 2s.46]. Derfor er det valgt at lave det direkte inverse filter som et minimumphase filter, hvor derså ses bort fra allpass komponenten. Minimumphase filteret udledes efter princippet vist i 7.2og matlab koden er vist i 7.1.3

35

Kapitel 7. Minimum phase

Fourierx[n]

Fouriertransform

InverseFouriertransform

Fouriertransform

Inverse

transform

FourierInverse

transform

X(ejw) xmin[n]

Xap(ejw)

lmin[n]

e(∗)log|∗|

cx[n] xmin[n] Xmin(ejw) Xmin(ejw)

xap[n]

X

÷

Figur 7.2: Cepstrum transformationen foregår i frekvensdomænet, derfor fourier transformeres x[n] og

derefter cepstrum transformeres X( f ) som derefter invers fourier transformeres. Det ses at

real cepstrum cx[n] foldes med lmin for at opnå x[n]min. x[n]min findes ved invers cepstrum trans-

formation af x[n]min i frekvensdomænet og derefter invers fouriertransformeres dette. xap[n] er

invers fouriertransformation af Xap( f ), der er givet af relationen Xap(eiω) = X(eiω)Xmin(eiω)

7.1. Blok-

diagrammet ses i [5, Kap. 12.6 s.784]

7.1.3 Matlab kode

function Xmin = minphase(X)

len = length(X);

temp=rem(len,2); % Var. to adjust lmin

cx =ifft(log(abs(X))); % Real part of complex cepstrum

% Construct linear phase signal: lmin = 2*u(n)-delta(n)

linphase = [1,2*ones(1,((len+temp)/2)-1)...

,1,zeros(1,(len-temp)/2-1)];

Xmin = zeros(size(X)); % Declare output vector

% Multiply linear phase with cepstrum to get minimum phase of cepstrum

Xmin = exp(fft(linphase’.*cx)); % Minimum phase Frequency response

36

Direkte invers filter 8I det følgende vil først blive beskrevet en metode til at finde et kausalt FIR-filter, der kan benyttessom det direkte inverse filter til Headphone Transfer Function (PTF). Metoden tager udgangs-punkt i [7].

Metoden kombinerer least squares inversion med nul’te ordens regularisering og beskrives udfra et eksempel på anvendelse af cross-talk-cancellation ved multikanals lyd [7]. Der er givet etsæt af S højttalere, hvormed der skal produceres et lydfelt på R punkter så præcist som muligt.Der benyttes en 2x2 matrix af digitale filtre til at kompensere for rumrespons og højttalernesrespons. Der er observeret T indgangssignaler.

Vi skal finde de optimale filtre, Hm,A(z). Vi har givet overføringsfunktionen fra højttaler tilindgangen på øregangen, givet ved C(z). Matrix, A(z), er målet, dvs. den ønskede overførings-funktion. I figur 8.1 er opstillet et blokdiagram, hvor de relevante signaler og filtre indgår. m ermodelleringsdelayet.

z−m

A(z)

C(z)

u(z) +

-

w(z)

e(z)

d(z)

Hm,A(z)

v(z)

Figur 8.1: Blokdiagram for deconvolutionsproblemet.

For at få det hele på plads defineres her formaterne på filtermatricerne. Hvert enkelt element imatricerne er kausale sekvenser for filtre af endelig længde:

A(z) =

A11(z) · · · A1T(z)...

. . ....

AR1(z) · · · ART(z)

C(z) =

C11(z) · · · C1S(z)...

. . ....

CR1(z) · · · CRS(z)

37

Kapitel 8. Direkte invers filter

Hm,A(z) =

H11(z) · · · H1T(z)...

. . ....

HS1(z) · · · HST(z)

I vores tilfælde er kun målt een overføringsfunktion, PTF. Derfor sættes S = R = T = 1. Denmålte overføringsfunktion betegnes med C(z). Det ønskede frekvensrespons betegnes med A(z),men da der ønskes et fladt frekvensrespons sættes A(z) = 1. Det ønskede inverse filter betegnesH0,I(z).

8.0.4 Exact Squares Deconvolution

Exact Squares Deconvolution er den teori, som algoritmen er baseret på. De udregnede optimalefiltre er stabile, men ikke nødvendigvis kausale eller af endelig længde [7].

Der defineres en Cost-funktion,

J(e jω∆) = eH(e jω∆)e(e jω∆)+βvH(e jω∆)v(e jω∆) (8.1)

hvor 0 ≤ β < ∞ er regulariseringsparameteren, ∆ er samplingsfrekvensen og ω er vinkelfrekven-sen.

Hvis det antages, at A(z) er identitetsmatrix, dvs. at vi ønsker en flad frekvensrespons, findesden generelle Cross-Talk-Cancellations-Matrix som

H0,I(z) =[CT (z−1)C(z)+βI

]−1CT (z−1) (8.2)

Sammenhængen mellem H0,I(z) og H0,A(z) er givet ved:

H0,A(z) = H0,I(z)A(z) (8.3)

Hvis β er for lille, vil der komme skarpe peaks i frekvensresponset, og hvis β er for stor, går detud over nøjagtigheden af deconvolutionen. Oftest vil en afvigelse fra den optimale βo på ±20%være lige så godt, og acceptable resultater opnås tit for 0,2βo til 5βo.

8.0.5 Fast Deconvolution Using Regularization

Der vises hvordan man udregner en matrix af optimale causale FIR-filtre med Nh koefficienter.

Der benyttes zero-padding for at undgå effekter af cirkulær foldning. Hvis dette problem heltskal undgås, bør benyttes uendeligt lange zero-paddede sekvenser.

Nh skal være stor nok til, at vigtige detaljer ikke forsvinder ved samplingen i frekvens-domænet.Et godt startgæt er ca. 4S ·Nc, hvor Nc er antallet af samples i C(z).

Når (8.2) er samplet med en FFT kan denne omskrives til,

H0,I(k) =[CH(k)C(k)+βI

]−1CH(k) (8.4)

38

8.1. MatLab-eksempel

hvor k er det k’te frekvensindex, dvs. det svarer til frekvensen exp( j2πk/Nh).

For at udregne impulsresponset for de kausale filtre hm,A(n) benyttes algoritmen, som er angiveti følgende steps:

1. Udregn C(k) (er givet ved vores PTF’er)

2. For enhver af de Nh værdier af k udregnes H0,A(k) ved (8.4).

3. Udregn h0,A(n) ved en Nh punkts invers FFT af H0,A(k).

4. Der implementeres et modelleringsdelay ved et cyclisk skift med m for hver af elemen-terne h0,A(n).

Det anbefales at benytte m = Nh/2.

8.0.6 Conclusion

Det konkluderes at metoden er hurtig og let at implementere. Det er kun brugbart når der kanbenyttes lange filtre og der ikke er for store HW-restriktioner.

Regularisering virker ved at sikre, at de optimale filtre går mod nul hurtigt nok til at sikre, at derikke opstår bivirkninger ved cirkulær foldning.

8.1 MatLab-eksempel

I det følgende er givet et MatLab-eksempel, “fastdeconv.m”. Det er baseret på en måling afimpulsrespons med MLSSA-systemet. Impulsresponset er en af de sekvenser, som belv målti laboratoriet d. 25/10. Konklusionen på eksemplet er skrevet in-line i det følgende afsnit. Påfigur 8.2 ses impulsresponset, der er benyttet i eksemplet.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5−0.4

−0.2

0

0.2

0.4Impulse response

t [ms]

10−1

100

101

−40

−20

0

20

40PTF

f [kHz]

[dB

]

Figur 8.2: Indgangssignalet. Øverst ses impulsresponset målt fra hovedtelefon til mikrofon i øret. Nederst

ses PTF’en og det inverse filter, H0,I(z). PTF’en er den fuldt optrukne linie.

Reguleringsparameteren, β, blev i eksemplet fastsat til 10−5. Det blev observeret, at det gikkraftigt ud over nødagtigheden af foldningen, hvis β blev valgt for stor. Der blev ikke observeretproblemer ved for lille β.

39

Kapitel 8. Direkte invers filter

Det blev også observeret, at modelleringsdelayet m måske burde tilpasses. Det var nødvendigtat beskære impulsresponset i den midterste del af figur 8.3, for at opnå en pæn frekvensrespons,når det målte impulsrespons blev filtreret.

10−1

100

101

−5

0

5Combination of H and C

f [kHz]

[dB

]

0 5 10 15 20 25−20

0

20Impulse response of the filter

t [ms]

10−1

100

101

−10

0

10Frequency response of the filtered impulse response

f [kHz]

[dB

]

Figur 8.3: Øverst ses frekvensresponset, når H0,I(z) ganges på PTF’en. I midten ses impulsresponset,

h0,I(z). Nederst ses den fouriertransformerede af det målte signal.

Det ses også af figuren, at der var problemer ved de lavere frekvenser, men dette skyldes regu-lariseringsparameterens indvirkning.

Af problematiske ting ved metoden er, at det er nødvendigt med en del tilpasning for at findeden rigtige β, samt den rigtige beskæring af impulsresponset, h0,I(z) for hvert enkelt signal.Det konkluderes, at der skal skaffes mere viden om regulariseringsparameterens indvirkning ogfastsættelse af denne.

I det nedenstående er inkluderet MatLab-koden. Alle programlinier, som omhandler plotning afdata er fjernet.

clc

clear all

format long

%% We are using data measured on group members

load(’/afs/ies.auc.dk/group/04gr741/public_html/filer/maaledata/mdata.mat’)

y = mdata(1).data1,1(:,2); % Loads data measured on Jakob, Earphone 1, Measurement 1, Channel 2

N = 2*512; % Number of points in the FFT

L = 200; % Window length

fs = 48000;

sprintf(’Effective frequency resolution (determined by the rectangular window): \n %f [kHz]\n’,2*fs/L/1000)

t = (1/fs)*(0:(L-1));

40

8.2. Direkte invers filter

fftkom = fft(y(1:L),N);

f=fs*(0:(N/2-1))/N/1000;

%%% Using fast deconvolution as described by Ole Kirkeby

%% Step 1 - we are using the PTF.

C = fftkom(1:N/2);

%% Step 2 - H is calculated with a given beta

beta = 0.00001;

H = (((conj(C).*C)+beta).^(-1)).*conj(C);

% The combination of C and H is plotted

H2 = H.*C;

%% Step 3 - the inverse FFT of H produces filter.

% it is necessary to create a symmetric filter transfer function before

% applying the inverse FFT

filter = ifft([H’ H(1) conj(fliplr(H(2:N/2)’))],N);

m = N/2;

%% Step 4 - the modelling delay is implemented

h = [filter((m+1):N) filter(1:m)];

%%% Evaluation of the filter

%% The FIR-filter is created by using the filter-function filter2

%% where h are the b-filter coefficients

b = [h(300:length(h)) h(1:299)];

filtered = filter2(b,y’);

% Frequency spectrum of the filtered impulse response

fftkom = fft(filtered(1:length(filtered)),N);

f=fs*(0:(N/2-1))/N/1000;

8.2 Direkte invers filter

I forlængelse af forrige afsnit vil her blive udledt og vist impulsresponserne for det inverse filtertil de målte og derefter midlede PTF’er. H0,I(z) vil i det følgende blive betegnet H. Beregnin-gerne er udført i MatLab med filen “inversefilter.m”.

Metoden er den samme som i foregående afsnit med den tilføjelse, at den fundne H er båndpas-filtreret med filteret, der er vist i figur 8.4.

Metoden er benyttet på den midlede PTF, og resultaterne er vist på figur 8.5 for Beyer Dynamic

41

Kapitel 8. Direkte invers filter

0.05 0.1 0.2 1 2 10 20−20

−15

−10

−5

0

Frequency response of the window used to bandwidth limit H

f [kHz]

[dB

]

Figur 8.4: Vinduesfunktion som benyttes til filtrering af H. MatLab-funktionen window(@tukeywin,N,R)

er benyttet. Der er benyttes en R på 0,008 for den lavfrekvente del og en R på 0,2 for den

højfrekvente del.

og figur 8.6 for Monacor. PTF’erne var beregnet med en FFT-længde, N, på 2048 punkter,som indeholdt et symmetrisk frekvensspektrum. De viste PTF’er er derfor afbilledet ved 1024punkter.

Der blev benyttet algoritmen, der er beskrevet i afsnit 8.0.5. Der blev forsøgt med forskelligeværdier for β, og det blev fundet, at β = 0,01 for Beyerdynamic DT 990 passede, mens β =

0,001 passede bedre for Monacor.

0.05 0.1 0.2 1 2 10 20−15

−10

−5

0

5

10

15Frequency response of the PTF and the inverse filter

f [kHz]

[dB

]

PTFHH

BW

PTF*HBW

0 2 4 6 8 10 12 14 16 18 20−0.5

0

0.5Impulse response of the inverse filter

t [µs]

Figur 8.5: Fast deconvolution algoritmen for Beyerdynamic DT990. β blev sat til 0.01.

Som Kirkeby beskrev, var det nødvendigt at foretage et cirkulært skift for at få et “pænt” im-pulsrespons. Skiftet på m = N

2 = 1024 punkter sikrede, at filterets impulsrespons fik lov til at“ringe ud”.

Filteret blev evalueret ved at tage den inverse FFT af det midlede impulserespons. Dette blevdernæst filteret med koefficienterne fra filterets impulsrespons med funktionen “filter”

Det ses af figurerne 8.7 og 8.8, at hvis filter-funktionen benyttes på det midlede PTF, opnås deren tilnærmelsesvis lineær frekvenskarakteristik i det hørbare frekvensområde. Dette accepteres,

42

8.2. Direkte invers filter

0.05 0.1 0.2 1 2 10 20

−20

−10

0

10

20

Frequency response of the PTF and the inverse filter

f [kHz]

[dB

]

PTFHH

BW

PTF*HBW

0 2 4 6 8 10 12 14 16 18 20−0.5

0

0.5Impulse response of the inverse filter

t [µs]

Figur 8.6: Fast deconvolution algoritmen for Monacor. β blev bestemt til 0.001.

0.05 0.1 0.2 1 2 10 20−15

−10

−5

0

5

10

15Frequency response of the PTF and the inverse filter

f [kHz]

[dB

]

0.05 0.1 0.2 1 2 10 20

−1

0

1

Frequency response of the filtered impulse response

f [kHz]

[dB

]

Figur 8.7: Evaluering af det inverse filter for Beyer Dynamic DT990.

43

Kapitel 8. Direkte invers filter

da dæmpningen ligger udenfor det område, som det antages at høretelefonerne arbejder indenfor.

0.05 0.1 0.2 1 2 10 20

−20

−10

0

10

20

Frequency response of the PTF and the inverse filter

f [kHz]

[dB

]

0.05 0.1 0.2 1 2 10 20

−1

0

1

Frequency response of the filtered impulse response

f [kHz]

[dB

]

Figur 8.8: Evaluering af det inverse filter for Monacor.

For Monacor hovedtelefonen på figur 8.8 har det været lidt sværere at opnå en lineær frekvenska-rakteristik. Dette kan skyldes, at det var nødvendigt at gøre β mindre end ved Beyerdynamic.Måske kan β gøres endnu mindre, men dette kræver et mere “hidsigt” filter.

44

Frequency warping 99.1 Teori omkring warping

I konventionelle DSP systemer er frekvensskalaen lineær i forhold til hertz skalen, dette medfø-rer en ensartet frekvens resolution fra DC til Nyquist raten ( fs

2 ). Dette skyldes z−1 som forsin-ker signal komponenter ved alle frekvenser ligeligt, nemlig med 1

f s . IIR filtre kan designes såde fokusere deres indvirkning i et frekvensområde, dog vil det være ønskværdigt at kunne værei stand til at designe et digitalt filter direkte på en anden skala. Frequencywarping teknikkenbruges til at transformere frekvensskalaen om til en skala efter ønske. Først gennemgås psyko-akustiske skalaer og deres udledning i afsnit 9.1.1. All-pass filteret der anvendes til at “Warpe”signaler på uensartede frekvensskalaer gennemgås i afsnit 9.1.2 og Al-pass filterets implemen-tering i FIR og IIR vises i afsnit 9.1.3. Tilsidst et eksempel på et WFIR filter i afsnit 9.2.

9.1.1 Psyko akustisk skala

Det menneskelige auditoriske system er ulineært og tidsvariant. Opfattelsen af frekvenserne ilyd ( Frekvensanalysen ) foregår i øresneglen i øret se fig. 9.1.

Figur 9.1: Øresneglens ( cochlear ) placering ift. den eksterne ørekanal [8]

Øresneglen er fyldt med væske og er delt i to på langs af basilarmembranen se fig. 9.2. Mem-

45

Kapitel 9. Frequency warping

branen er hægtet på siderne i øresneglen. Lyd der kommer ind af det ovale vindue i øresneglensætter gang i en stående bølge langs membranen. Indsnævringen af membranformen bevirkerat amplituden af den stående bølge ikke er ensartet langs membranen, men derimod vokser am-plituden indtil et bestemt punkt på membranen, hvorefter bølgen hurtigt flader ud. Punktet påmembranen, hvor amplituden af den stående bølge opnår sit maksimum er bestemt af den ind-komne lydbølges frekvens. Basilarmembranen er dækket af masser af små hår, hvor hårsækkeneer forbundet til et nervebundt. Når basilarmembranen bøjes som følge af indkomne lydbølger,så påvirkes hårene på membranen. Hårene exciterer det tilknyttede nervebundt, som så senderlydinformationen til hjernen. For denne lydinformation gælder der, at en samling af exciteredenerveceller er istand til at gengive en rimelig kopi af den aktuelle lydbølge i øresneglen [9, ].

Figur 9.2: Øresneglen er her blevet “rullet” ud, så spiralformen er blevet til en lang tragt. Basilarmembra-

nens placering er angivet.[9]

Desuden er de påvirkede hårcellers position på basilarmembranen i høj grad korreleret medlydbølgens frekvens. En kompleks lydbøgle i øresneglen vil derfor resultere i lydinformationerindeholdende et frekvens spektrum af denne lydbølge.

Der er forskellige beskrivelser af sammenhængen mellem den indkomne lydbølges frekvensog positionen på basilarmembranen i øresneglen [10, kap.1 ] . Greenwood introducerede engenerel skala se lig.(9.1). Scharf udarbejdede en skala udfra en filtermodel af det auditoriskesystem, også kaldet Bark skalaen se lig.(9.2). ERB ( Equivalent Rectangular Bandwidth ) selig.(9.3) skalaen er en kortlægning af frekvens-position forholdet, hvor skalaen er udarbejdetvha. psykoakustiske lytte forsøg.

fGreenwood = 165.4 · (100.06x −1)

xGreenwood =1

0.06· log10

(f −165.4

165.4

)

(9.1)

d fdx

= 22.9 ·100.06x

x er positionen i øresneglen og f er den tilsvarende frekvens d fdx beskriver båndbredden ift. et

1mm stykke i øresneglen

∆ fCB = 25+75

[

1+1.4

(f

kHz

)2]0.69

(9.2)

vCB = 13arctan

(

0.76f3

kHz

)

+3.5arctan

(f

7.5kHz

)2

46

9.1. Teori omkring warping

∆ fCB er båndbredden. vCB er positionen i øresneglen.

∆ fERB = 24.7+0.108 · fc

xERB = 21.3log10

(

1+f

229

)

(9.3)

fERB = 229 ·(

10x

21.3 −1)

∆ fERB båndbredden af det ekvivalente rektangulære filter ved centerfrekvens fc xERB er positio-nen i øresneglen og fERB er den tilsvarende frekvens. ERB skalaen ses i figur 9.3

0 5 10 15 20 250

1

2

3

4

5

kHz

pos.

in c

ochl

ear

(mm

)

ERB skala

pos vs. freq

0 0.5 1 1.5 2 2.5 3 3.5 4 4.50

5

10

15

20

25

pos. in cochlear (mm)

kHz

freq vs. pos

Figur 9.3: ERB skala plottet vha. formel 9.3

Disse skalaer kan anvendes til evaluering af de frekvens warpede filtre som udledes, disse filtresskala karakteristik bør tilnærme sig Greenwoods, Barks eller ERB skala, derved sikres at detfrekvens warpede filter har en skala der følger den psykoakustiske frekvens skala.

9.1.2 All-pass filter

Frekvens warping kan opnås vha. anvendelsen af et all-pass filter [10, kap. 2.1 ]. Transfer funk-tionen for all-pass filteret (9.4). Et all-pass filter har en magnitudeforstærkning på een. Faseresponset er afhængigt af værdien af λ. Alt efter fasen og dermed værdien af λ, så transformeresfrekvenserne ved udgangen af filtret.

D(z) =−λ+ z−1

1−λ · z−1 (9.4)

λ værdien[10, kap. 2.1 (13) ] er afhængig af samplingsfrekvensen og formlen er givet i lig.(9.5).Lambdaværdien er en tilnærmelse som udledes i [11, kap. 6.2 (31) ]. I dette tilfælde vælges at anvende

47

Kapitel 9. Frequency warping

lambda værdien udledt fra ERB skalaen. ERB skalaen er udledt vha. psykoakustiske lyttetesteog da disse resultater er sammenfaldende med psykologiske og neurale målinger af den psykoa-kustiske skala, så kan det antages, at ERB skalaen er mere præcis end Bark skalaen[10, kap. 1.3(sidste afsnit)].

λERB = 0.7164 ·

(√

2π· arctan(0.09669∗ fs)

)

+0.08667 (9.5)

λ plottet ved samplingsfrekvensen 48 kHz ses i figur 9.4

0 5 10 15 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Frequency [kHz]

Nor

mal

ized

war

ped

freq

uenc

y

( −

angl

e(F

)/pi

)

LambdaERB

plot at sampling frequency 48 kHz

Lambda: 0.75292

← Turning point frequency: 5.487 kHz

LambdaTpf

Figur 9.4: Plot af Lambda (9.5) ved fs: 48 kHz

Lavfrekvente komponenter i et allpass filteret signal bliver forkortet og højfrekvente komponen-ter bliver forlænget. Denne ændring af signal længden skyldes groupdelay funktionen af allpassfilteret. Frekvensen hvor det warpede signal er lige så langt som det originale signal kaldes“Turning point frequency” og benævnes ft p se lig.(9.6). Turning point frekvensen vises i figur(9.4).

ft p = ±fs

2πarccos(λ) (9.6)

Frekvensresponset af all-pass filteret ses i figur 9.5. I frekvensresponset ses det at magnitudeforstærkningen er en.

Når signaler køres gennem dette all-pass filter ses time- og frequencywarping effekten, hvilketses i figur 9.6

Det ses at signalerne forkortes. Og i figur 9.7 ses signalerne i frekvens domænet, hvor det ses atsignalernes frekvens komponenter er blevet strakt ud.

9.1.3 Warped FIR og IIR filter

I FIR og IIR filtre anvendes allpass ( Warping-teknikken )[10, kap.2.3-2.4 ] som i ligningen (9.7)

48

9.1. Teori omkring warping

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

100

200

300

400

Normalized Frequency (×π rad/sample)

Pha

se (

degr

ees)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−1

−0.5

0

0.5

1

Normalized Frequency (×π rad/sample)

Mag

nitu

de (

dB)

All−pass impulse response

Figur 9.5: All-pass frekvensresponse

0 2 4

x 10−3

−2

0

2Sine 0.5 kHz

0 2 4

x 10−3

−2

0

2Sine 1 kHz

Warped time response of 3 sine signals

0 2 4

x 10−3

−2

0

2Sine 5 kHz

0 0.02 0.04−2

0

2Sine 0.5 kHz

Lam

bda

valu

e: 0

.753

Tur

npoi

nt fr

eq.:

5.49

kH

z

0 0.02 0.04−2

0

2Sine 1 kHz

0 0.02 0.04−2

0

2Sine 5 kHz

0 5

x 10−3

−10

0

10Warped sine 0.5 kHz

0 5

x 10−3

−10

0

10Warped sine 1 kHz

0 5

x 10−3

−2

0

2Warped sine 5 kHz

Figur 9.6: De to øverste rækker er de originale signaler afbildedet. De warpede signaler ses i sidste

række. Warping af signalerne resultere i forkortelse af signalerneog det fremgår når række 3 (

Warpede signaler ) sammenlignes med række 2 ( Originale signaler )

49

Kapitel 9. Frequency warping

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

100

200

300

400

Frequency response of sum of sines 500+1000+5000

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104

0

200

400

600

800

1000

1200

Warped frequency response of sum of sines 500+1000+5000

Figur 9.7: Warping af frekvenserne i signalerne. Øverste plot viser frekvensspectrum af de originale sig-

naler lagt sammen. Det nederste plot viser frekvensspectrum af de warpede signaler lagt sam-

men.

D(z) =−λ+ z−1

1−λz−1 (9.7)

z−1 → z−1 =−λ+ z−1

1−λz−1

For FIR: H(z) =∞

∑k=0

h(k) · z−k (9.8)

¯H(z) =∞

∑n=0

h(n) · z−n

For IIR: HWIIR(z) =∑M

i=0 βi[D(z)]i

1+∑Ri=1 αi[D(z)]i

Stregen over henholdsvis z−1 og H betyder at det er i det warpede domæne.z−1 unit delay i detwarpede domæne og er lig −λ+z−1

1−λ·z−1 . ¯H(z) er det warpede system respons. h(n) er impulsresponsetaf signalet. α og β er koefficienterne i filteret. Der laves et eksempel hvor udvalgte måledataanvendes og filteret er et rent all-pass filter. I dette tilfælde anvendes måle data “1H1AH.TIM”.Lambda er her valgt til 0.75292, hvilket er lambdaværdien ved fs = 48kHz for ERB skalaen.Responset ses i figur 9.8 og 9.9

Det ses at frekvenserne er blevet “strakt” se i figur 9.9 ud og dermed fokuseres resolutionen idette frekvensområde, denne fokusering kan ændres vha. valg af lambda ved en given samplingfrekvens. På denne måde kan man optimere filterkoefficienterne efter en frekvensfølsomhed dertilnærmer sig den psykoakustiske frekvensfølsomhed.

50

9.1. Teori omkring warping

0 50 100 150−0.4

−0.2

0

0.2

0.4System response

Time

Am

plitu

de

Original

0 50 100 150−0.4

−0.2

0

0.2

0.4

Time

Am

plitu

de

Warped System response

Warped

Figur 9.8: System tidsrespons. Øverste plot viser der originale systemresponse i tidsdomænet. Nederste

plot viser det warpede systemresponse i tidsdomænet.

10−1

100

101

−80

−60

−40

−20

0

20

f [kHz]

PTF

10−1

100

101

−60

−40

−20

0

20

f [kHz]

Warped PTF

Figur 9.9: System frekvensrespons. Øverste plot viser originale PTF. Nederste plot viser warpede PTF

51

Kapitel 9. Frequency warping

9.2 Anvendelse af warping

9.2.1 Egenskaberne ved warping

Til forskel fra et all-pass filter, som har en forstærkning på 1 ved alle frekvenser, kan et “frequencywarping” filter styre fasen ved ændring af filterets parametre. Warped filtre er mere beregnings-tunge end almindelig filtre, men filtre, der har en høj opløsning ved lave frekvenser har oftepoler, der ligger samlet tæt ved enhedcirklen. Ved at benytte et warped filter vil polerne liggeuniformt fordelt og det bevirker, at filteret bliver mindre følsomt overfor parameternøjagtighedog kvantiseringsstøj. Desuden har undersøgelser [10, Kap.3.6 s.14] af 6.orden WIIR filter sam-menlignet med 20.ordens IIR filter vist, at WIIR filteret matchede IIR filteret i lave frekvensområde, derimod er der en forskel i det høje frekvensområde. Forskellen i det høje område erdog ikke kritisk jævnfør teorien for psykoakkustisk teori. Dette gør det muligt at implementerefiltre med en højere orden end almindelige filtre med acceptabelt result.

9.2.2 Matlab kode

Koden til figur 9.3 ses under ERB psyko skala. Koden til figur 9.4 ses under udregning aflambda. Koden til figur 9.8 og 9.9 ses under all-pass filtrering af PTF signal.

%%%%%%%%%%%% ERB psyko skala %%%%%%%%%%%%%%%%%%%%%

f=[15:5:22000]; % Frekvens skala

for NN=1:length(f)

%xpos1(NN) = (1/0.06)*log10((f(NN)-165.4)/165.4); % Greenwood

%xpos2(NN) = 13*atan(0.76*(f(NN)/1000))+... % Bark

% 3.5*atan((f(NN)/7500)^2);

xpos3(NN) = 21.3*log10(1+(f(NN)/229)); % ERB

end

x = [0:1:max(xpos3)+1]; % Positions i cochlear

for NN=1:length(x)

%freq1(NN) = 165.4 * (10^(x(NN)*0.06)-1);

%freq2(NN) = 229 * (10^(x(NN)/21.3)-1);

freq3(NN) = 229 * (10^(x(NN)/21.3)-1); % Frequencies at x

% position in cochlear

end

%%%%%%%%%%% Udregning af lambda %%%%%%%%%%%%%%%%%%%

fs=48000; % Sample frequency

lambda = 0.7164*sqrt((2/pi)*... % Lambda equation

atan(0.09669*fs/1000))+0.08667;

tp=(fs)/(2*pi)*...

atan(sqrt(lambda^(-2)-1)); % Turning point frequency

52

9.2. Anvendelse af warping

F=freqz([-lambda 1],[1 -lambda]); % All-pass freq. response

xaxe=linspace(0,(fs)/2000,512); % x-axis for plot

%%%%%%%%%%%% All-pass filtrering af PTF signal %%%%%%%%%%%%%%

[y,fs] = loadtim(’/afs/ies.auc.dk/user/chrhave/Private/maaledata/a/1H1AH.TIM’); % Load data

t = (1/fs)*(0:(length(y)-1)); % Construct time axis

subplot(211),plot(t,y);axis([0 0.006 -0.3 0.3]); % Plot data (time)

N = 1024; % No. of samples

fftkom = fft((y),N); % Fourier of data

f=fs*(0:(N/2-1))/N/1000;

% plot(f,abs(fftkom(1:N/2)));

subplot(212),semilogx(f,20*log10(abs(fftkom(1:N/2)))) % Plot frequency

% spectrum of data

lambda=0.75292; % Choice lambda in all-pass filter

% b = [-conj(lambda) 1]; % Numerator in filter

% a = [1 -lambda]; % Denominator in filter

len=length(y); % init. signals

temp = [1 zeros(1,len)]; % init. signals

bw = [lambda 1]’; % init. signals

aw = [1 lambda]’; % init. signals

res = y(1)*temp; % init. signals

for TT=2:len

temp = filter(bw,aw,temp); % Signal through all-pass filter

res = res+y(TT)*temp;

end

53

Parameterestimering 10Længden på det inverse-impulsrespons er 2048 samples, dvs. at det ville kræve et FIR-filtermed en orden på 2048 for at kunne gengive det korrekt. Da det ikke ville være ønskeligt atskulle filtrere signaler med en orden af denne størrelse i real-tid, benyttes parameterestimeringtil at reducere antallet af tappe i filteret. Ved parameterestimering ønsker man at finde det filter,som giver den bedste model af systemet med færrest parametre, dvs. at man prøver at findeegenskaberne for det oprindelige system. Dette er vist i figur 10.1.

e(t)

B

y(t)u(t) Model afsystem

A

u(t) y(t)System

Figur 10.1: Figur A) System med et input, u(t), samt et output, y(t). Figur B) Estimeret model af systemet

med signal input, u(t), støj input, e(t), og det estimerede output,y(t).

Alt efter systemets egenskaber, f.eks. antal inputs og outputs, vælges en passende model, sombeskrevet i kapitel 11. Ud over valg af model, skal man også vælge en estimeringsmetode ud frakrav om nøjagtighed og beregningskompleksitet. Parameterestimeringsmetoderne “PredictionError Method” og “Steiglitz-McBride” vil blive gennemgået i kapitel 12. Hele proceduren for atfinde parametrene i det reducerede filter, også kaldet parameterestimering, er vist i figur 10.2.

EstimeretModel

Test

ParameterEstimering

Valg af model og orden

Preprocessing

Figur 10.2: Iterativ estimering

54

Her kan man se, at processen er iterativ, hvor parameterestimeringen blandt andet kan optimeresved at ændre på modellen og orden af filteret.

Parameterestimeringen kan også foretages ud fra en ikke modelbaseretestimation, som er baseretpå generelle antagelser om systemets middelværdi, varians, autokorrelation og tæthedsfunktio-nen. En modelbaseret estimation af autokorrelationen og periodogrammet giver en lavere fejl-varians, der bevirker at parametrene kan estimeres med færre data, antaget at den rigtige modeler benyttet.

55

Parametriske modeller 11En egnet parametrisk model er en som tilpas nøjagtigt (til formålet) indfanger egenskabernefor den underliggende proces. Den behøver ikke nødvendigvis at være “den sande” beskrivelseaf systemet. For at finde en egnet model, vælges et udsnit af modelstrukturer, hvori den bedstegnede findes vha.en numerisk evaluering.

11.0.3 Parametriske modelstrukturer

Af formel (11.1) ses en generel parametrisk model anvendt af [12],

A(q)y(t) =B(q)

F(q)u(t)+

C(q)

D(q)e(t) (11.1)

hvor y(t) er output, u(t) input og e(t) en hvidstøjkilde, som illustreret på figur 11.0.3.

B

F

C

D

A

1u(t)

e(t)

y(t)+

+

Figur 11.1: Flowdiagram for (11.1)

Polynomierne ses af (11.2) til (11.6), hvor q er en skifteoperator således at qkx(t) = x(t + k). Aftabel 11.0.3 fremgår forskellige kombinationer af polynomierne, og deres tilhørende betegnel-ser.

A(q) = 1+a1q−1 + . . .+anaq−na (11.2)

B(q) = 0+b1q−1 + . . .+bnbq−nb (11.3)

C(q) = 1+ c1q−1 + . . .+ cncq−nc (11.4)

D(q) = 1+d1q−1 + . . .+dnd q−nd (11.5)

F(q) = 1+ f1q−1 + . . .+ fn f q−n f (11.6)

I (11.1) er e(t) en hvidstøjskilde, som filtreres gennem A,C og D, for at tilnærme den betrag-tede proces’s virkelige støjinput. Hvis den betragtede proces eksempelvis beskrives som en OE-model (Output-Error) (11.7),

y(t) =B(q)

F(q)u(t)+ e(t) (11.7)

56

Polynomer i (11.1) Model struktur Kommentar

B FIR/MA All-zero model, ingen filtering af e(t)

AB ARX All-zero model for u(t), mens begge input filtreresgennem all-pole filteret A.

ABC ARMAX Forskellig all-zero filter, fælles all-pole filter.

AC ARMA u(t) indgår ikke, poler og nulpkt. indgår i filtreringenaf e(t).

ABD ARARX Som i ARX, men e(t) filtreres yderligere gennem etall-pole filter.

ABCD ARARMAX ... yderligere filtrering af e(t)

BF OE (Output Error) Støjen filtreres ikke.

BFCD BJ (Box-Jenkins) Uafhængig filtrering af u(t) og e(t).

Tabel 11.1: Hvis et polynomie ikke anvendes sættes koefficienterne til 0. ARARX kaldes også “genera-

lized least squares model”

antages støjen set på udgangen, y(t), at være upredikterbar. Man kan altså kun sige noget omy(t) udfra u(t). Hvis støjbidraget derimod er “farvet”, vil der være en sammenhæng mellem y(t)og y(t − k),k = 1,2, . . . (A,C eller D indgår).

Prediktoren kan opstilles som [12, s. 54ff],

y(t|θ) =D(q)B(q)

C(q)F(q)u(t)+

[

1−D(q)A(q)

C(q)

]

y(t) (11.8)

ε(t,θ) = y(t)− y(t|θ) (11.9)

hvor θ er parametervektoren, y(t) output, ε(t,θ) et-step prediktionsfejlen, og y(t|θ) et-step pre-diktoren.

En god model vil give en lav prediktionsfejl til alle tider. For at opnå en lav prediktionsfejl erdet vigtigt at modellere støjen korrekt, for at prediktoren kan affarve støjen. Det er ikke muligtat opnå en mindre varians af prediktionsfejlen end variansen af e(t). Ved et højt SNR vil e(t)have en mindre betydning. Hvis prediktoren er optimal vil en prediktionsfejl være statistiskuafhængig af foregående inputdata.

11.0.4 Udledning af formel for prediktoren

G og H benyttes for at lette notationen.

G =B(q)

F(q)A(q)(11.10)

H =C(q)

D(q)A(q)(11.11)

y(t) = G(q)u(t)+H(q)e(t) (11.12)

v(t) = H(q)e(t) = y(t)−G(q)u(t) (11.13)

57

Kapitel 11. Parametriske modeller

v(t) er således påvirkningen af e(t) set på udgangen. Prediktoren kan nu ses som indgangssigna-let filtreret plus prediktoren for v(t). Pga. B polynomiet indgår der kun værdier for u(t − k),k =

1,2, . . ..

y(t|t −1) = G(q)u(t)+ v(t|t −1) (11.14)

v(t) = e(t)+∞

∑k=1

h(k)e(t − k)

︸ ︷︷ ︸

v(t|t−1)

(11.15)

v(t|t −1) = [H(q)−1]e(t) (11.16)

=H(q)−1

H(q)v(t) (11.17)

=[1−H−1(q)

]v(t) (11.18)

Formlerne samles nu,

y(t|t −1) = G(q)u(t)+[1−H−1]v(t) (11.19)

= G(q)u(t)+[1−H−1(q)

][y(t)−G(q)u(t)] (11.20)

= H−1(q)G(q)u(t)+[1−H−1(q)

]y(t) (11.21)

(11.22)

og H og G udskiftes,

y(t|t −1) =D(q)B(q)

C(q)F(q)u(t)+

[

1−D(q)A(q)

C(q)

]

y(t) (11.23)

C(q)

D(q)y(t|t −1) =

B(q)

F(q)u(t)+

[C(q)

D(q)−A(q)

]

y(t) (11.24)

11.0.5 Identifikation af model orden

En MA-proces af orden d vil have en autokorrelation (ACC) lig nul for timelag m, |m| > d.Ligeledes vil en AR-proces af orden p have en partiel autokorrelation (PACC) lig nul for |m|> p.Dvs. at processen kan vurderes ud fra disse to korrelationsfunktioner. Der er dog en stor variansforbundet med estimeringen af ACC og PACC [13, s. 591], så ACC og PACC vil i praksis aldrigvære nul. Når den underliggende proces kan beskrives som en ARMA-proces, er det nødvendigtmed en iterativ tilgang.

11.0.6 Partiel autokorrelation

En autoregressiv proces (AR) er afhængig af foregående outputs (11.25).

X(n) =p

∑k=1

φp,kXk(n− k)+ e(n) (11.25)

Det ses som eksponentielt aftagende værdier i processens autokorrelation, (evt. med skiftendefortegn). Denne afhængighed kan fjernes ved at finde “Partial autocorrelation coefficient” [13,s. 262], betegnet φ, hvilket svarer til at løse Yule-Walker ligningen (11.26),

58

Rxx =

rxx(0) rxx(1) . . . rxx(M)

rxx(−1) rxx(0) . . . rxx(M−1)...

.... . .

...

rxx(−M) rxx(−M +1) . . . rxx(0)

rxx = Rxxφ (11.26)

φxx = Rxx−1rxx (11.27)

hvor Rxx er korrelations koefficient matrixen, rxx er korrelations koefficient vektoren, og φxx

den autoregressive koefficient vektor.

59

Parameterestimeringsmetoder 12Parameterestimering kan ske ud fra forskellige metoder, hvor de tre klassiske er [14],

• Stepresponsmetoden: Metoden går ud på at måle udgangen når indgangen påtrykkes etsteprespons. Denne metoden fungere bedst ved lav-ordens systemer, men da metoden erafhængig af udgangen vil støj have forholdsvis stor indflydelse på de estimerede parame-trene.

• Frekvensresponsmetoden: Der påtrykkes et sinussignal på indgangen, hvor amplitudeog faseforskydningen måles på udgangen. Når dette er gemmenført for de ønskede fre-kvenområde fåes et bodeplot for overføringsfunktionen. Denne metode har de sammeulemper som stepresonsmetoden, men kan desuden vise graden af ulinearitet.

• Spektralmetoden: metoden bruges i frekvensdomænet og går ud på at lave en vægtetmidling af frekvenserne i målingen. Dette giver et godt estimat af systemes egenskaber.Systemet er afhængig af, hvordan kryds- og autospekteret er estimeret.

De tre ovennævente metoder danner udgangspunkt for udledelsen af flere forskellige paramete-restimeringsmetoder. For at finde de metoder der kan benyttes til estimering af parameterne tildet inverse filter af PTF’en, gemmengåes tre kategorier af parameterestimeringsmetoder, somtager udgangspunkt i de ovennævente metoder. Disse er “Prediction error method”, “Least squa-res filter” og “Weighted least squares filter”.

12.1 Prediction Error Methode (PEM)

Denne metode benytter foregående input og output til at estimere parametrene. Denne mådeat estimere parametrene på, er baseret på “optimal et-trins-prediktor”, defineret ved y(t,θ). Deoptimale parametre findes ved at minimere summen af de kvadrerede prediktionsfejl ud fraperformancefunktionen, som findes ud fra formel (12.1) [14].

V (θ,ZN) =12

1N

N

∑t=1

(y(t)− y(t,θ))2 (12.1)

Minimum for V (θ) kan enten løses numerisk eller analytisk hvor den numeriske løsning kaldes“PEM Recursive Least Squares (PEM-RLS)”, og den analytiske kaldes “PEM Least Squares(PEM-LS)“.

PEM-LS

Den analytiske løsning kan kun benyttes på lineære modeller, dvs at modellen er lineær i para-metrene. Ved brug af lineære modeller kan y(t,θ) omskrives til ϕ(t)T θ, hvor målevektoren ϕ(t)

60

12.1. Prediction Error Methode (PEM)

består af alle målinger til det aktuelle tidspunkt og vektoren θ består af parametrene. Perfor-mancefunktion (12.1) kan nu omskrives til 12.2, og bliver derved en kvadratisk funktion af θ.

VLS(θ,ZN) =12

1N

N

∑t=1

(y(t)−ϕ(t)T θ)2 (12.2)

De parametre der minimerer (12.2) er defineret som (12.3).

θLS = argminθVLS(θ,ZN) (12.3)

Da (12.3) er en kvadratisk funktion, findes minimum ved at sætte den første afledede lig mednul.

0 =∂

∂θVLS(θ,ZN) =

1N

N

∑t=1

ϕ(t)(y(t)−ϕT (t)θ)

N

∑t=1

ϕ(t)y(t) =N

∑t=1

ϕ(t)ϕT (t)θ

θLS =

[N

∑t=1

ϕ(t)ϕT (t)

]−1 N

∑t=1

ϕ(t)y(t) (12.4)

Estimering af parametrene ud fra den analytiske løsning giver en lav beregningskompleksitet,men metoden er ikke anvendelig, hvis systemet har et lavt signal/støj-forhold eller hvis detprioriteres højt at prediktionsfejlen er så lille som muligt.

PEM-RLS

Benyttes der modeller som er ulineær i deres parametre, betyder det at perfomancefunktionenikke er kvadratisk i parametrene, og at den derfor ikke kan løses analytisk [14]. Til estimering afparametrene i en ulineær model kan benyttes en rekursiv algoritme. Denne metode har ydermereden fordel, at jo flere gange denne algoritme gemmenløbes desto mindre bliver prediktionsfejlen.Algoritmen består af fire hovedpunkter:

1. Beregn V (θk), gradienten V ′(θk) og hessianmatricen V ′′(θk). Hvor k er antal repetitioneraf algoritmen.

2. Opdater de estimerede parametre, θk+1 = θk − (V ′′(θk)+δI)−1V ′(θk), samt beregne per-formancefunktionen for de nye parametre, V (θk+1).

3. Test parametrene, hvis V (θk+1) er mindre end V (θk) sættes δ = 12 δ ellers sættes δ = 2δ

og der springes tilbage til punkt 2.

4. Hvis |θk+1 −θk|∞ er mindre end tolerancen,κ, er θ = θk+1 og algoritmen afsluttes. Ellerssættes k = k +1 og der springes til punkt 1.

Ud fra de fire ovenstående punkter ses det, at algoritmen er delt op i to løkker, hvor den indreløkke udregner parametrene og den ydre tester parametrene. I det nedenstående vil punkterneblive uddybet:

61

Kapitel 12. Parameterestimeringsmetoder

Punkt 1.I punkt 1 udregnes; performancefunktionen (12.1), gradienten som er den første afledede afperformancefunktionen (12.1) og hessianmatricen som den anden afledede. Gradienten er givetved formel (12.5).

V ′(θ) =dV (θ)

∂θi=

1N

N

∑t=1

∂y(t,θ)

∂θi(y(t)− y(t,θ))

V ′(θ) =1N

N

∑t=1

ψ(t,θ)(y(t)− y(t,θ)) (12.5)

ψ, der er defineret ved (12.6) er gradienten for y, som er en vektor der indeholder ligeså mangeelementer, som der er parametre.

ψ(t,θ) =∂y(t,θ)

∂θi= (

∂y(t,θ)

∂θ1, ...,

∂y(t,θ)

∂θna+nb+nc

)T (12.6)

Hessianmatricen, der er den dobbelt afledede af (12.1), er defineret ved (12.7).

V ′′(θ) =d2V (θ)

∂θidθ j≈

1N

N

∑t=1

ψi(t,θ)ψ j(t,θ)

V ′′(θ) ≈1N

n

∑t=1

ψ(t,θ)ψ(t,θ)T (12.7)

Punkt 2, 3 og 4.Her udregnes de nye parametre, ud fra de gamle parametre samt gradienten og hessianmatri-cen. Derefter udregnes performancefunktionen med de nye parametre og sammenlignes medperformancefunktionen fra den forgående iteration. Hvis værdien af performancefunktionen forde nye parametre er mindre end den forgående, betyder det, at man er kommet tættere på dereelle parametre og der tages mindre spring i parametre estimeringen ved næste iteration. Erperformancefunktionen derimod større bliver der taget et større spring indtil der er fundet nyeparametre der bevirker at performancefunktionen er mindre, inden der forsættes til næste ite-ration. Efter testen i punkt 3, testes der om forskellen mellem parametrene på to iterationer, ermindre end tolerancen. Hvis dette er tilfældet stoppes algoritmen da flere iterationer ikke vilgive bedre parametre. Eller forsættes fra punkt 1.

Den Rekursive løsning har en forholdsvis lav beregningskompleksitet og giver en mindre pre-diktionsfejl end PEM-LS.

12.2 Least squares estimering

Har man kendskab til et systems impulsrespons, y, og man ønsker at lave et estimat af dette,y, kan man bruge Least Squares metoden. Metoden kan opdeles i to: Lineær Least Squares ogulineær Least Squares. Begge metoder bygger på at finde de ukendte parametre ved at minimeresummen af fejlen mellem det ønskede respons og det estimerede respons i anden:

V (θ) =n

∑i=1

[yi − f (t, θ)]2 (12.8)

62

12.2. Least squares estimering

Parametrerne θ som minimerer V (θk) er de øsnkede parametre, da de vil give den mindste fejlmellem y og y og findes som:

min(V (θk)) →∂V (θk)

∂θ= 0 (12.9)

Lineær Least Squares

Hvis den model der er valgt for systemet er lineær i sine parametre kan prediktoren skrives som[14, s. 544]:

y(t) = ϕT (t)θ (12.10)

Hvor θ er parametervektoren og ϕ er en data vektor. Fejlen kan så skrives som:

ε(t,θ) = y(t)− y(t,θ) (12.11)

Man kan så opstille en cost funktion, også kaldet least squares kriteriet:

V (θ) =t=t2

∑t=t1

|ε(t,θ)|2 (12.12)

Det er helt analogt til variansen af fejlen, her er det blot sample variansen, da det er et tids-diskret system. Denne cost funktion har kun et minimum (globalt minimum), da parametrerneer lineære, og den kan derfor løses analytisk. Minimum findes som:

∂ε(θ)

∂θ= 0 (12.13)

Den optimale estimerede parametervektor θ bliver så [15, s. 393]:

ϕ · θ = z (12.14)

m

θ = ϕ−1 · z

Hvor ϕ er tidsmiddel autokorrelationen for datavektoren ϕ(t) [14, s.204]:

ϕ =1N

N

∑t=1

ϕT (t)ϕ(t) (12.15)

Og z er tidsmiddel krydskorreltaionen mellem ϕ(t) og det ønskede respons y(t):

z =1N

N

∑t=1

ϕ(t)y(t) (12.16)

Hvor N er datalængden der kigges på. Denne løsning kan dog kun lade sig gøre, hvis ϕ kaninverteres (dvs. determinaten for ϕ er forskellig fra 0).

63

Kapitel 12. Parameterestimeringsmetoder

Ulineær LS sammenlignet med Lineær LS

Forskellen på lineær og ulineær LS ligger i modellen der bruges til at estimere efter. Hvis derbruges en model med lineære parametre er det en lineær LS og omvendt.Lineært LS er mest brugt, da de fleste systemer er lineære eller kan antages lineære og estima-terne er som regel gode, da det altid er de optimale parametre man finder. Der kræves heller ikkeså store data sæt for at opnå gode resultater. Ulempen er at der er grænser for hvilke former delineære modeller kan antage. Dermed menes at kurveformen kun kan ændres reletivt langsomt.Lineær LS er også meget følsom overfor punkter der falder langt udenfor datakurven der esti-meres efter.Fordelene ved at bruge en ulineær model er at man kan dække et meget større område, da esti-matoren kan ændre sig meget hurtigere. Ellers har en ulineær estimator de samme fordele somen lineær. Den store ulempe ved ulineære estimatorer ar at de ikke kan løses analytisk som delineære. Man bliver nød til at bruge en iterativ numerisk metode til at løse dem. Det skyldesat man ikke kan være sikker på at det minimum man finder er et globalt minimum, og man erderfor tvunget til at søge videre indtil man er sikker på at det globale minimum er fundet.

Weighted Least Squares

En af antagelserne i Least Square estimering er, at hvert data sample indeholder lige megetinformation om systemet. Dvs. at afvigelsen for fejlen konstant. Dette er ikke altid tilfældet ogderfor kan man bruge weighted LS til at maximere effektiviteten af prediktoren. Her findes deukendte parametre også ved at minimere summen af fejlen i anden, men der ganges en faktor α i

på, som afgør hvor meget hvert element i least squares kriteriet har indflydelse på estimationen.

V (θ) =n

∑i=1

αi · [yi − f (n, θ)]2 (12.17)

Løsning:

min(V (θ)) →∂EWLS

∂θ= 0 (12.18)

På den måde kan man med αi udvælge nogle områder, som der skal ligges ekstra vægt på, og påden måde fokusere på de mest problematiske steder. F.eks. kan nogle områder indeholde mindreinformation om systemet og disse kan så vægtes mindre. Man bruger også WLS hvis nogleobservationer er alt for afvigende eller forvrænger resultatet, så kan de vægtes mindre. Ellerhvis antagelsen om linearitet ikke holder i områder, kan disse vægtes mindre, for at antagelsenbliver mere korrekt.

Man kan opskrive den parametervektor som giver den minimale least squares løsning som:

θ =

[N

∑t=1

αt ϕ(t)ϕ(t)T

]−1 N

∑t=1

αt ϕ(t)y(t) (12.19)

Vægtning bruges også i rekursive least squares løsninger, hvor den bruges som en "glemsels-faktor". Hvis algotritmerne kører rekursivt vil man med tiden få flere og flere data at predikterer

64

12.3. Steiglitz-McBride iterativ estimering

efter og det vil kræve større og større regnekraft. Ved at bruge vægningen til at fjerne målingersom ligger tilstrækkeligt langt tilbage i tiden, vil man løse dette problem. Ofte bruger man eneksponentiel "glemselsfaktor"

WLS kan også bruges på både lineære og ulineære parametre og for WLS findes løsningen ogsåanalytisk for lineære systemer og numerisk for ulineære.

12.3 Steiglitz-McBride iterativ estimering

En alternativ måde til estimering af parametrerne for en OE model, med LS metoden, er Steiglitz-McBride algoritmen. Hvis man kigger på filtreringsproblemet, som opstår, når man laver et esti-mat efter output-error modellen, kan man illustrere det som vist på figur 12.1 [16, s.551].

+

-

y(n)

y(n)

u(n)

e(n)

B(q)F (q)

+

Figur 12.1: Filtrering

Man øsnker at forskellen mellem det oprindelige signal y og det estimerede signal y bliver sålille som mulig. Estimatet findes ved at filtrere inputtet u med filtret B

F Løsningen på problemeter de B og F parametre som giver den mindste fejl, e, hvilket fører til en række ulineære lignin-ger som skal løses numerisk. Det er en regnemæssig tung opgave og det er svært at finde en unikløsning. Derfor kan man med fordel bruge Steiglitz-Mcbride algoritmen, som filtrerer signalerneinden de estimeres og derefter bruger en iterativ tilgang til løsning af minimeringsproblemet.Man kan omskrive blokdiagrammet i figur 12.1 til blokdiagrammet vist i figur 12.2 [16, s.562].

+

+

y(n)

u(n)

ei+1(n)

x(i)(n)1

F (i)(q)

h(i)(n)1

F (i)(q)

F (i+1)(q)

B(i+1)(q)

Figur 12.2: Iterativ filtrering

Hvor i indikere den i’te iteration. B og F koefficienterne findes vha. least sqaures metoden forhver iteration. Man kan se at både inputtet u og outputtet y filtreres af F polynomiet fra den

65

Kapitel 12. Parameterestimeringsmetoder

foregående iteration. Hvis man sætter

H(q) =1

F(q)(12.20)

og laver en invers transformation på H(q), så man får h(n), kan man opskrive differensfunktionenfor e som [16, s.562]

e(i+1)(n) = x(n)∗h(i)(n)∗ f (i+1)(n)−u(n)∗h(i)(n)∗b(i+1) (12.21)

Foldningen x∗h(i) ∗ f (i+1) kan også findes med en rekursiv differensligning x(i):

x(i)(n) = − f (i)1 x(i)(n−1)− ...− f (i)

n f x(i)(n−n f )+ y(n) (12.22)

og h kan også findes rekursivt:

h(i)(n) = − f (i)1 h(i)(n−1)− ...− f (i)

n f h(i)(n−n f )+u(n) (12.23)

Dermed kan den fejl som B og F koefficienterne giver ved iteration (i+1) skrives som [16, s.563]:

e(i+1)(n)= x(i)(n)+ f (i+1)1 x(i)(n−1)+ ...+ f (i+1)

n f x(i)(n−n f )−b(i+1)1 h(i)(n−1)− ...−b(i+1)

nb h(i)(n−nb)

(12.24)n f er antallet af koefficienter i F polynomiet og nb er antallet af koefficienter i B polynomiet.Nu kan fejlen udregnes uden at bruge foldninger, hvilket er mere bekvemt, når man skal findede optimale B og F koefficienter vha. matricer.

12.4 Konklusion

Alle metoderne bruger som udgangspunkt prediktionsfejlen mellem det ønskede signal og detestimerede signal til at finde de optimale parametre. Forskellen ligger i at PEM metoden brugerbåde input og output til at lave et estimat, hvorimod LS og WLS kun bruger systemets output.Ved at bruge ulineære parametre får man en mere fleksibel prediktor, som bedre kan følge merekomplicerede kurver. Til gengæld er man ikke sikker på at det er de optimale parametre manfinder, og man skal gætte på en startværdi. Steiglitz-McBride er en numerisk effektiv måde atfinde parameterne for en OE model ved af iterativ præfiltrering.

12.5 Valg af estimeringsmetoder

Med udgangspunkt i “Prediction Error Method”-familien, er der valgt implementeret paramete-restimeringsmetoder på både lineære og ulineære modeller. Der er valgt to metoder for lineæremodeller og to metoder for ulineære modeller.

Herunder er listet de modeller der er valgt implementeret, samt de parameterestimeringsmetoderder er valgt til modellen.

• ARX

66

12.5. Valg af estimeringsmetoder

– “Prediction Error Method-Least Squares (PEM-LS)” denne metode er valgt im-plementeret, da det er en beregningsmæssig enkel parameterestimeringsmetode dergiver et godt estimat [14].

– “Prediction Error Method-Weigth Least Square(PEM-WLS)” metoden benyttersamme pricip som PEM-LS, men vægter input-værdierne i forhold til tiden. Dennemetode er valgt for at se om vægtning giver et forbedret resultat.

• ARMAX

– “Prediction Error Method-Recusiv Least Squares(PEM-RLS)” denne metode ervalgt implementeret for at undersøge om der opnåes et forbedret resultatet i forholdtil de lineære metoder.

• OE

– “Steigtz-McBride” er valgt som et alternativ til PEM, for at undersøge om en andenparameterestimeringsmetode giver et bedre resultat.

– “Prediction Error Method-Recusiv Least Squares” den samme algoritme sombenyttet på ARMAX-modellen, for at undersøge om det giver forbedringer at be-nytte en anden model.

67

Implementation afparameterestimeringsmetoder 1313.1 Least-Square

Vha. Least-Square metoden kan parametre for MA, AR og ARX modeller beregnes, idet dealle er lineære i parametrene. Metoden er beskrevet i [12, s. 203-212]. Parametrene findes ved(12.2), her gengivet som (13.1).

θLS =

[N

∑t=1

ϕ(t)ϕT (t)

]−1 N

∑t=1

ϕ(t)y(t) (13.1)

hvor ϕ er datavektoren, y outputvektoren, og θ parametervektoren.

13.1.1 Pseoudokode

1. Konstruer ϕ-matricen, ved hjælp af funktionen phimatrix

2. Beregn ϕϕT

3. Beregn ϕy

4. Find θ

5. Undersøg om rødderne er stabile

13.1.2 MatLab implementation

function mod_est = ls_function(mod_est)

orden = mod_est.orden;

X = mod_est.data;

[phi, y] = phi2matrix(’ls’, X, orden);

N = size(phi,2);

theta_ls = inv(1./N*phi*phi.’)*(1/N.*phi*y);

epsilon = y - phi.’*theta_ls;

a = [1; theta_ls( 1:orden(1) )];

b = [0; theta_ls( (orden(1)+1):end )];

68

13.2. Weighted least square

if any(abs(roots(a)) >= 1)

a = make_stable(a);

end

mod_est.A = reshape(a, [length(a) 1]);

mod_est.B = b;

mod_est.Estimeringsfejl = var(epsilon);

function Ps = make_stable(P)

Ps = polystab(P);% "minimum phase"

13.2 Weighted least square

Da parameterestimeringen skal fortages på et tidsvarierende system, er det valgt at implementere“weighted least square”-algoritmen i matlab. Algoritmen er designet så tidligere samples fårmindre indflydelse end aktuelle samples. Fordelen ved at estimere parametrene på denne mådeer, at en vægtningsfaktor kan tilpasses så estimeringen fortages på de samples, der indeholderinformation om systemets aktuelle tilstand. Algoritmen bruger systemets input og output i tids-domænet, til at estimere parametrene. Performance-funktionen for “W-LS” er givet ved (13.2).

V (θ,ZN) =t

∑k=1

β(t,k)[y(k)−ϕT (k)θ]2 (13.2)

Ud fra performance-funktionen udledes parameterestimeringsmetoden givet ved formel (13.3).

θt = R−1

(t) f (t) (13.3)

Hvor R og f (t) er defineret ud fra (13.4).

R =t

∑k=1

β(t,k)ϕ(k)ϕT (k)

f (t) =t

∑k=1

β(t,k)ϕ(k)y(t) (13.4)

Vægtningsfaktoren β er defineret ved (13.5).

β(t,k) = λt−k (13.5)

Ved at ændre på λ kan vægtningen af samples styres. Jo tættere λ er på 1, desto højere vægtestidligere fortagede samples. I figur 13.1 illustreres vægtningsprincippet med tre forskellige λ-værdier. λ tilpasses så prediktionsfejlen bliver mindst mulig og er i denne implementation fundettil 0.98. Efter endt udregning opstilles de estimerede parametre i vektoren θ, som vist i (13.9).

13.2.1 Modeller

Paremeterestimeringsmetoden “weighted least square” benytter en lineær model, ARX, som erillustreret i figur 13.2. For denne model gælder følgende:

69

Kapitel 13. Implementation af parameterestimeringsmetoder

0 20 40 60 80 1000.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

lambda=0.98lambda=0.995lambda=0.985

Figur 13.1: Vægtning af samples i forhold til tiden, hvor 100 er det aktuelle tidspunkt og nul er 100 samples

tilbage i tiden.

e

1

A

yB

Au +

Figur 13.2: Arx-model

A(q)y(t) = B(q)u(t)+ e(t) (13.6)

Da C(q)=1, er prediktion-fejlen ε ikke en del af ϕ-matricen og prediktion-funktionen bliverlineær i forhold til θ.

y(t,θ) = ϕ(t)T θ (13.7)

ϕ(t) = [−y(t −1), . . . ,−y(t −na,u(t −1), . . . ,u(t −nb))]T (13.8)

θ = [a1,a2, . . . ,ana ,b1, . . . ,bnb ]T (13.9)

13.2.2 Pseudokode af wls

1. Initalisering, valg af orden

70

13.2. Weighted least square

2. Konstruktion af ϕ-matricen, ved hjælp af funktionen phimatrix

3. Loop for t = 1 til signal slut

(a) Loop for k = 1 til t

i. Beregn β(t,k)ϕϕT

ii. Beregn β(t,k)ϕy(t)

4. Find θ

5. Undersøg om rødderne er stabile

13.2.3 MatLab implementation

% model type: ARX

% parameter estimations type: Weighted least square

%

% Estimates the parameter useing the weigthed least square method.

%-----------------------------------------------------------------

function mod_est = wls_function(mod_est, lambda)

% A(q)y(t) = B(q)u(t) + e(t), Model ARX

orden = mod_est.orden;

X = mod_est.data;

d = sum(orden); % length of theta and number of rows in phi

[phi,y] = phi2matrix(’ls’,X, orden);% create datamatrix

N = size(phi,2);% length af sampled signal

R = zeros(d,d);% building the R matrix

f = zeros(d,1);% building the f matrix

for t = 1:N,

for k = 1:t,

R = R + lambda^(t-k).*(phi(:,t) * phi(:,t)’);% computation of R(t)

f = f + lambda^(t-k).*(phi(:,t).*y(t));% computation of f(t)

end

end

theta = inv(R)*f; % computation of theta

y_hat = phi’*theta; % Prediction

epsilon = y-y_hat; % Prediction error

b = [0; theta( (orden(1)+1):end )];

a = [1; theta( 1:orden(1) )];

71

Kapitel 13. Implementation af parameterestimeringsmetoder

if any(abs(roots(a)) >= 1)% check for stabillity

a = make_stable(a);

end

mod_est.A = a;

mod_est.B = b;

mod_est.Estimeringsfejl = var(epsilon); % computation of the error

13.3 Steiglitz-McBride

Denne metode til at lave et estimat, bruger en ARX model til at finde parameterne til en OEmodel vha. præ filtrering. ARX modellen skrives som: [14, s.86]

F(q)y(t) = B(q)u(t)+ e(t) (13.10)

Prediktoren y for en OE model kan skrives som

y(t,θ) =B(q)

F(q)u(t) (13.11)

Hvilket kan skrives som[17, s.33]

y(t | θ) = ϕ(t)T θ (13.12)

Hvor

ϕ(t) = [u(t −1) ... u(t −nb f ) − y(t −1) ... − y(t −n f )]T

θ = [b1 b2 ... bnb f1 f2 ... fn f ]T

n f og nb er antallet af koefficienter i henholdsvis F og B polynomiet. Parameterne bliver uli-neære, da prediktoren indgår i ϕ. Når antallet af samples er større end summen af antallet afkoefficienter kan ligning 13.12 kan omskrives til matrix formulering [14, s.546], og så fåes:

Y = Φ ·θ (13.13)

Hvor

Y = [y(1) y(2) ... y(N)]T

Φ = [ϕT (1) ... ϕT (N)]T

N er antallet af samples.Dvs. at de optimale f og b koefficienter i prediktoren 13.12, som giver den mindste kvardreredefejl mellem outputtet y og det estimerede output y (least squares metoden) findes som:

θ = Φ−1 ·Y (13.14)

72

13.3. Steiglitz-McBride

13.3.1 Algoritme

Steiglitz-McBride algoritmen er som følger [14, s.354]:1. Find B(q) og F(q) for ARX modellen (13.10) vha. least squares metoden.2. Find yF(t) og uF(t) som:

yF(t) =1

F(q)y(t)

uF(t) =1

F(q)u(t)

3. Find B(q) og F(q) for ARX modellen med det filtrerede input uF(t) og det filtrerede outputyF(t):

F(q)yF (t) = B(q)uF (t)+ e(t) (13.15)

4. Gå til step 2 indtil F(q) og B(q) konvergerer.

I virkeligheden kan det være svært at fastslå hvornår F og B konvergerer, og der er i teorienheller ikke garanti for konvergering [16, s.562]. Det er nødvendigt at angive en startværdi forF koefficienterne, da fejlen beregnes ud fra den foregående iteration. Startværdien kan vælgestilfældigt, men for at få en bedre præstation af algoritmen kan man med lave et godt gæt på enstartværdi. [16, s.563] forslår Pronys metode som gæt på en startværdi.

13.3.2 Pseudo kode

1. Gæt på startværdier for F polynomium

2. Filtrer signaler med F polynomium

3. Find optimale parametre med LS metoden

4. Check for konvergering

• hvis konvergeretstop, koefficienter fundet

• ellersgå til punkt 2

13.3.3 Matlab kode

load(’invfilter.mat’);

s = flipud(invfilter(1).time’); % flipping imp resp for better estimate

s = s(1023:end);

fs = 48000;

N = length(s);

un = zeros(N,1); un(1) = 1;

73

Kapitel 13. Implementation af parameterestimeringsmetoder

b=20; % number of coefficients in nominator

f=20; % number of coefficients in denominator

% Intitial guess on denominator polynomium

fprintf(’Calculating initial polynomium...\r\n’)

[l,a_start] = prony(s,0,f);

F=a_start;

% Checking stability in initial F polynomium

if ~all(abs(roots(F))<1)

fprintf(’Initial polynomium not stable! Stabilizing polynomium\r\n’)

F = polystab(F) * norm(F)/norm(polystab(F)); % "minimum phase"

end

%%%%%%%%%%%%%%%%% Steiglitz-McBride Alogrithm %%%%%%%%%%%%%%%%%%%%%%

% Allocation

Ky = zeros(N,f+1);

Ku = zeros(N,b+1);

resF = zeros(f+1,1);

resB = zeros(b+1,1);

MSE = 0;t=2;

c = 1e-7; % convergence factor

while 1 % loop forever

y = filter(1,F,s);

u = filter(1,F,un);

%Construction of PHI matrix:

%PHI = [phi(1)

% phi(2)

% .

% .

% phi(N)]

%

%phi(t) = [(-y(t-1) -y(t-1) .. -y(t-f) u(t) u(t-1) .. u(t-b)]’

for i1=1:f+1

for j1=1:N

Ky(j1+i1-1,i1) = -y(j1,1);

end

end

for i2=1:b+1

74

13.3. Steiglitz-McBride

for j2=1:N

Ku(j2+i2-1,i2) = u(j2,1);

end

end

Y = -Ky(1:N,1);

PHI = [Ky(1:N,2:end) Ku(1:N,2:end)];

%The parameter vector theta is found by method of least squares

theta = PHI \ Y;

%theta = [ f1 f2 .. ff b1 b2 .. bb]’

F = [1; theta(1:f)]; % first coefficient in F is 1

B = [0; theta(f+1:f+b)]; % first coefficient in B is 0

%save F and B coefficients

resF(:,t)=F;

resB(:,t)=B;

%Find imp. response of estimatet filter

h = filter(B,F,un)

%Error

e = s’-h;

MSE(t) = sum(e.^2); % mean squared error

%Checking convergence

if (abs(MSE(t)-MSE(t-1))<c) || t==100

z = find(MSE == min(MSE(2:t)),1,’last’); %Find minimum mean

%squared error

%Checking stability in F polynomuim

if ~all(abs(roots(F))<1)

F = polystab(F) * norm(F)/norm(polystab(F)); % "minimum phase"

end

F = resF(:,z);

B = resB(:,z);

h = filter(B,F,un);

break

end

t=t+1;

75

Kapitel 13. Implementation af parameterestimeringsmetoder

end

%%%%%%%%%%%%% End of Steiglitz-McBride Algorithm %%%%%%%%%%%%%%%%%%

13.4 Prediction-Error-Method Recursive-Least-Square

Koefficienterne for en given modelstruktur kan estimeres ved at minimere prediktionsfejlen afgiven modelstruktur. Der defineres en performance-funtion (13.16),

V (θ,ZN) =1N

12

N

∑t=1

ε2 (13.16)

ε = y(t)− y(t|θ) (13.17)

y(t|θ) = ϕ(t)T y(t) (13.18)

hvor

• θ er en parametervektor d ×1 vektor

• ϕ er en datavektor d ×N, hvor N er antal samples.

• y(t,θ) er et-step prediktoren N ×1

• ε er et-step prediktionsfejlen N ×1

Den optimale værdi af θ, er hvor (13.16) har sit minimum.

V (θ) =1

2N

N

∑t=1

ε2 (13.19)

hvilket er benænvt “Non-linear Least Square problem” i [s. 283][12]. Denne form giver noglegenerelle udtryk for numeriske søgerutiner, dvs. måder at tilnærme et bedre estimat af θ rekursivtpå:

θ(k+1) = θ(k) −R−1V (θ(k)) (13.20)

V (θ) = −1N

N

∑t=1

ψ(t,θ)ε(t,θ) (13.21)

(13.22)

R er en matrixe som modificerer søgeretningen. V er gradienten,

∂∂θ

V (θ) = V (θ) =

[∂V∂θ1

, . . . ,∂V∂θd

]T

(13.23)

ψ er gradienten af y mht. θ,

ψ(t,θ) =∂

∂θy(t|θ) (13.24)

= K(t)ϕ(t,θ) (13.25)

hvilket kan omskrives til en filtrering af ϕ med K. Udtryk for R, V , ψ og θ er vist for ARMAXog OE modelstrukturerne, afsnit 13.4.1 og 13.4.2.

76

13.4. Prediction-Error-Method Recursive-Least-Square

Søgeretninger, R

Der ses nu på 3 forskellige søgeretninger. I implementationen udvælges det bedste estimat op-nået vha. disse søgeretninger.

Steepest descend Ved at sætte R lig identitetsmatrixen, [12, Formel 10.43], anvendes “steepestdescend” metoden,

R = I → θ(k+1) = θ(k)−d

dθV (θ(k)) (13.26)

Dvs. at θ ændres således, at V mindskes mest muligt. Hvis R = µ · I, og µ < 1 kaldes det endæmpet Gauss-Newton metode.

Gauss-Newton Gauss-Newton søgeretningen giver en et-step konvergens for kvadratiske funk-tioner.

R =∂2V

∂θi∂θ j= H(θ) (13.27)

H =1N

N

∑t=1

ψ(t,θ)ψ(t,θ)T −1N

N

∑t=1

ψ′(t,θ)ε(t,θ) (13.28)

H kaldes Hessianmatrixen. Den sidste sum i H udelades for at sikre at H er positiv semidefinite[12, s. 284], og for at spare beregninger. Omkring θO, den optimale værdi af θ, vil summen ogsåvære tæt på nul.

R = H ≈1N

N

∑t=1

ψ(t,θ)ψ(t,θ)T (13.29)

Levenberg-Marquardt Formlen for R er opgivet i [12, Formel 10.48], og er rekommenderetaf [17, s. 43].

R = H +δI (13.30)

hvor δ er en variabel skalar. Hvis δ = 0 er det en Gauss-Newton søgemetode. δ giver en “bias”mod “steepest descend” metoden.

13.4.1 Modelstrukturer

(13.20) er implementeret i MatLab for ARMAX og OE modellerne.

ARMAX model

For en ARMAX model gælder nedenstående relationer, [12, s. 73, 285-286], strukturen formodellen er illustrede i figur 13.3. Som det ses ud fra formel 13.31 filtres støjen uafhængigt,hvilket giver en bedre mulighed for at modelere den støj der bliver tilført af systemet.

77

Kapitel 13. Implementation af parameterestimeringsmetoder

B

C

u(t) 1

Ay(t)

e(t)

Figur 13.3: ARMAX model strukturen

A(q)y(t) = B(q)u(t)+C(q)e(t) (13.31)

Hvilket giver predikteren (13.32)

y(t|θ) =B(q)

C(q)u(t)+

[

1−A(q)

C(q)

]

y(t) (13.32)

Parameter vektoren, θ, målevektoren, ϕ, samt gradienten, ψ, er, for ARMAX, defineret ved:

θ = [a1, . . . ,anA ,b1, . . . ,bnB ,c1, . . . ,cnC ] (13.33)

ϕ(t,θ) = [−y(t −1), . . . ,−y(t −nA),u(t −1), . . . ,u(t −nB),ε(t −1), . . . ,ε(t −nC)]T(13.34)

ψ(t) =1

C(q)ϕ(t,θ) (13.35)

13.4.2 Output Error

For en OE model gælder nedenstående relationer,[12, s. 75, 285-286], hvor strukturen for en OEmodel er vist i figur (13.4). Til forskel fra en ARMAX model filteres støjen ikke separat, dettebetyder at der antages, at støjen der tilføres af systemet er hvid støj. OE modellen er defineret

u(t)

e(t)

y(t)B

F

Figur 13.4: OE model strukturen

ved formel (13.36).

y(t) =B(q)

F(q)u(t)+ e(t) (13.36)

Prediktoren er givet ved formel (13.37).

y(t|θ) =B(q)

F(q)u(t) (13.37)

78

13.4. Prediction-Error-Method Recursive-Least-Square

Parameter- og målevektoren samt gradienten for en OE-model er givet ved:

θ = [b1, . . . ,bnB , f1, . . . , fnF ]T (13.38)

ϕ(t,θ) = [u(t −1), . . . ,u(t −nB),−w(t −1,θ), . . . ,−w(t −nF ,θ)]T (13.39)

ψ(t) =1

F(q)ϕ(t,θ) (13.40)

13.4.3 Pseudo kode

1. Find startværdier for θ: θ(0) Her benyttes et Prony estimat ved ARMAX (indbygget Mat-Lab funktion), og ved OE, sættes B og F til 0.

2. Beregn y, ε, VN

3. Opdater ϕ. Beregn ψ, V , og H.

4. • Steepest descend, R er givet I

– beregn θ og VN

• Gauss-Newton, R er givet ved H

– beregn θ og VN

• Levenberg-MarquardtLoop:

– beregn θ og VN

– juster δ

5. Sæt θ(k+1) lig θ for den laveste værdi af VN (blandt de 3 søgeretninger). Hvis der ikke eropnået en forbedring så stop ellers gå til 3.

13.4.4 MatLab implementation

Det flg. stump kode er udpluk fra estimeringen af ARMAX koefficienter. At det et udpluk vilsige at in-/output formatering og prints til skærmen er slettet. Implementering af OE er næstenidentisk og er derfor udeladt.

% Input: orden, y, u

% Settings

stepsize = 2;

max_iter = 20; % Number of iterations

min_gain = 0; % End iteration if the resulting gain is lower or equal

% to min_gain

% end Settings

% Step 1 begin Initialization

theta(:,1) = theta_init(y,u,orden);

79

Kapitel 13. Implementation af parameterestimeringsmetoder

epsilon = zeros(size(y)); % Expected value

X = [y,u,epsilon]; % create data vector

n_samples = length(y);

d = sum(orden); % length of theta and number of rows in phi

% Create a phi-matrix (columns = time)

[phi, y] = phi2matrix(’armax’, X, orden);

N = size(phi,2);

% Step 2, do first iteration

y_hat = phi’*theta(:,1); % Prediction

epsilon = y-y_hat; % Prediction error

V_N(1) = perf_fkt(epsilon); %

epsilon_best = epsilon;

for k = 1:max_iter,

VN_best = Inf;

% Update phi

X = [y(1:n_samples),u(1:n_samples),epsilon_best(1:n_samples)]; % create data vector

[phi, y] = phi2matrix(’armax’, X, orden);

% Step 3, calculate V_N, dV_N, d2V_N

% \psi

if k == 1,

psi = phi; % use phi in first iteration

else

C_est = [1; theta( ((end-orden(3)+1):end),k )]; % Extract C coeffients

X_filter = filter(1,C_est, X,[],1); % filter along the columns

% Return psi with dimensions of the phi matrix

psi= phi2matrix(’armax’,X_filter, orden);

end

dV_N = -1/N.*psi*epsilon;

Hessian = 1/N.*psi*psi’;

% end Step 3

% Step 4

% Gauss-Newton

theta_tmp = theta(:,k) - inv(Hessian)*dV_N;

y_hat = phi’*theta_tmp; % Prediction

epsilon = y-y_hat; % Prediction error

80

13.4. Prediction-Error-Method Recursive-Least-Square

VN = perf_fkt(epsilon); % Performance funktion

if VN < VN_best && ~root_test(theta_tmp, orden),

VN_best = VN;

theta(:,k+1) = theta_tmp;

end

% Steepest descend + damped

sd_steps = 1e2;

descend = eye(d);

for kiter = 1:sd_steps,

theta_tmp = theta(:,k) - stepsize^(1-kiter)*descend*dV_N;

y_hat = phi’*theta_tmp; % Prediction

epsilon = y-y_hat; % Prediction error

VN = perf_fkt(epsilon); % Performance funktion

if VN < VN_best && ~root_test(theta_tmp, orden),

VN_best = VN;

theta(:,k+1) = theta_tmp;

end

end

% Levenberg-Marquardt

delta = 1e-10; lm_steps = 1e2;

for kiter = 1:lm_steps,

Rinv = inv(Hessian + eye(d)*delta*stepsize^(1-kiter))*dV_N;

theta_tmp = theta(:,k) - Rinv;

y_hat = phi’*theta_tmp; % Prediction

epsilon = y-y_hat; % Prediction error

VN = perf_fkt(epsilon); % Performance funktion

if VN < VN_best && ~root_test(theta_tmp, orden),

VN_best = VN;

theta(:,k+1) = theta_tmp;

end

end

% end Step 4

% Step 5, Test

if VN_best == Inf,

break;

else

V_N(k+1) = VN_best;

end

81

Kapitel 13. Implementation af parameterestimeringsmetoder

% Test for too small improvement

if k > 2 && (V_N(k)-V_N(k+1)) < min_gain,

break

end

end

% Returns values ...

function ustabil = root_test(theta, orden)

% test stability of A and C

cs = cumsum(orden);

css = cs-orden + 1;

A_est = [1; theta( css(1):cs(1) )];

C_est = [1; theta( css(3):cs(3) )];

ustabil = any(abs(roots(C_est)) >= 1) || any(abs(roots(A_est)) >= 1);

% perfomance function

function V_N = perf_fkt(epsilon)

V_N = 1/(length(epsilon)*2).*epsilon’*epsilon;

% Initial estimat of theta

function theta = theta_init(y,u,orden)

C_est = [zeros(orden(3),1)];

% Use a prony to estimate start value

[B_est,A_est] = prony(y,orden(2)-1,orden(1));

theta(:,1) = [A_est(2:end)’; B_est’; C_est]; % C

82

Beregning af parametre 14Der søges blandt de implementerede parameterestimeringsalgoritmer for at finde den bedst eg-nede model og tilhørende parametervektor. Den inverse PTF er båndpasfiltreret (14.1), og derfordefineres estimerings fejlen i forhold til frekvensfunktionen for denne (14.2).

H = PTFinv( f ) ·HBW ( f ) (14.1)

N( f ) =|H( f )||Hest( f )|

(14.2)

(14.3)

hvor HBW er båndpasfilteret og PTFinv den inverse PTF.

Søgningen foretages ved først at beregne et parameterestimat for de enkelte algoritmer vedforskellige ordener af polynomierne, og dernæst finde de filtre som opfylder (14.4),

|N( f )| ≤ 1 dB, 50 Hz ≤ f ≤ 20 kHz (14.4)

hvor PTFinv er det filter der estimeres. Hvis et estimat ikke overholder marginen på 1 dB, testesdenne også for ±1,5 dB og ±2 dB.

Det filter med den laveste totale orden, og derefter laveste varians af prediktionsfejlen, udvæl-ges. Dette valg minimerer antallet af hukommelsesceller, i forbindelse med en implementation.Filteret, (14.5), tænkes anvendt ved en implementering, og derfor defineres den samlede ordensom (14.6).

y =B(q)

A(q)F(q)u(t) (14.5)

ntot = nA +nB +nF (14.6)

14.0.5 Interval af ordener for filterpolynomierne

Tabel 14.1 til 14.5 viser de valgte intervaller for polynomieordenerne. For at begrænse antalletaf beregninger, foretages der ikke en estimering når den samlede orden overstiger 65. Dennegrænse er vurderet ud fra erfaring med de implementerede algoritmer.

83

Kapitel 14. Beregning af parametre

Polynomie Orden

nA 0,1, . . . ,30

nB 1,2, . . . ,40

nC 0,1, . . . ,20

Tabel 14.1: ARMAX, PEM-RLS

Polynomie Orden

nA 0,1, . . . ,40

nB 1,2, . . . ,50

Tabel 14.2: ARX, LS

Polynomie Orden

nA 0,1, . . . ,30

nB 1,2, . . . ,40

Tabel 14.3: ARX, WLS

Polynomie Orden

nB 10,11, . . . ,40

nF 0,1, . . . ,40

Tabel 14.4: OE, PEM-RLS

Polynomie Orden

nB 10,11, . . . ,40

nF 0,1, . . . ,40

Tabel 14.5: OE, Steiglitz-McBride

84

14.1. Beregningsresultater for DT990

14.1 Beregningsresultater for DT990

Figur 14.1 til 14.6 viser fejlen som funktion af orden for de polynomier, der indgår i det pågæl-dende filter. Fejlen vælges defineret som variansen af prediktionsfejlen.

En ARMAX model indeholder 3 polynomier, A, B og C. Plotningen er derfor simplificeret vedat holde orden af et polynomie fast ad gangen, se figur 14.1.

0

10

20

30

40

0

5

10

15

20

25

30

−180

−160

−140

−120

−100

−80

−60

Order of the B polynomiumOrder of the A polynomium

Var

ianc

e of

pre

dict

ion

erro

r [d

B]

Figur 14.1: ARMAX model, estimeret med PEM-RLS. Varians af estimeringsfejl som funktion af orden

for A og B, med nC = 0. Der ses en forbedring når ordenen for A eller B polynomiet øges,

samtidig med at orden for C holdes fast.

De implementerede algoritmer vurderes at fungere efter hensigten med en undtagelse af PEM-RLS for OE-modellen.

85

Kapitel 14. Beregning af parametre

0

5

10

15

20

0

10

20

30

40

−120

−100

−80

−60

−40

Order of the C polynomiumOrder of the B polynomium

Var

ianc

e of

pre

dict

ion

erro

r [d

B]

Figur 14.2: ARMAX model, estimeret med PEM-RLS. Varians af estimeringsfejl plottet som funktion af nB

og nC, med nA = 0. For nC = 0 mindskes fejlvariansen når nB øges. Derimod øges fejlvarian-

sen når nC øges! Det kunne tyde på en fejl i estimeringsalgoritmen

86

14.1. Beregningsresultater for DT990

0

10

20

30

40

50

0

10

20

30

40

−180

−160

−140

−120

−100

−80

−60

Order of the B polynomium

Estimate of ARX using LS

Order of the A polynomium

Var

ianc

e of

pre

dict

ion

erro

r [d

B]

Figur 14.3: ARX model, estimeret med LS. Varians af estimeringsfejl plottet mod orden for A og B poly-

nomiet. Det ses at der for nA +nB = konst. fåes ca. samme fejlvarians.

87

Kapitel 14. Beregning af parametre

10

15

20

25

30

35

40

0

5

10

15

20

25

30

−180

−160

−140

−120

−100

−80

Order of the B polynomium

Estimate of ARX using WLS

Order of the A polynomium

Var

ianc

e of

pre

dict

ion

erro

r [d

B]

Figur 14.4: ARX model estimeret med WLS. Varians af estimeringsfejl plottet mod orden for A og B poly-

nomiet. Det ses at der for nA +nB = konst. fåes ca. samme fejlvarians.

88

14.1. Beregningsresultater for DT990

0

10

20

30

40

50

10

20

30

40

50

−120

−115

−110

−105

−100

−95

−90

Order of the F polynomium

Estimate of OE using PEMRLS

Order of the B polynomium

Var

ianc

e of

pre

dict

ion

erro

r [d

B]

Figur 14.5: OE model estimeret med PEM-RLS. Varians af estimeringsfejl plottet mod orden for B og F

polynomiet. Det ses at fejlvariansen udelukkende er afhængig af nB, hvilket kan skyldes en

fejl i algoritmen, eller at dataene til estimeringsmetoden giver en dårlig exitering.

89

Kapitel 14. Beregning af parametre

0

10

20

30

40

1015

2025

3035

40

−180

−160

−140

−120

−100

−80

−60

Order of the F polynomium

Estimate of OE using STEIGLITZ

Order of the B polynomium

Var

ianc

e of

pre

dict

ion

erro

r [d

B]

Figur 14.6: OE model estimeret med Steiglitz-McBride. Varians af estimeringsfejl plottet mod orden for

B og F polynomiet. Det ses på figuren at nF i dette tilfælde ikke skal være højere end nB.

Fejlvariansen ses heller ikke forbedret når nF > 35 eller nB > 25. Med de forbehold giver

estimeringsmetoden en forbedring af fejlvariansen, når nB eller nF øges.

90

14.2. Plots af maximum afvigelse

05

1015

20

10

20

30

400

20

40

60

80

PSfrag replacements Abs

olut

em

axim

umer

ror

[dB

]

B polynomiumC polynomium

Beyerdynamic DT990 headphone. Estimating parameters of the ARMAX model using the PEMRLS method

14.2 Plots af maximum afvigelse

I dette afsnit vises den maksimale absolutte frekvensfejl for alle modeller/estimeringsmetoder,for de 2 hovedtelefoner.

91

Kapitel 14. Beregning af parametre

10

20

30

40

0

10

20

30

400

10

20

30

40

50

60

PSfrag replacements

Beyerdynamic DT990 headphone. Estimating parameters of the ARMAX model using the PEMRLS method

Abs

olut

em

axim

umer

ror

[dB

]

B polynomiumA polynomium

14.3 Simulation log, DT990

Afsnit 14.3.1 til 14.3.3 viser outputs fra “view_searchresult.m”. For hver model og estime-ringsmetode findes den bedste kandidat for hhv. mindste samlede orden, og mindste fejlvariansindenfor et givent frekvensområde og fejlmargin. For hvert frekvensområde og fejlmargin visesogså det bedste estimat blandt alle modeller/estimeringsmetoder. I forbindelse med udviklingenaf algoritmerne viste det sig at disse hovedsageligt fejlede ved lave frekvenser. Derfor er derogså foretaget en sammenligning ved hhv. 75 Hz til 20 kHz og 100 Hz til 20 kHz. For Monacorhovedtelefonen, MD-300, er der dog kun vist for 50 Hz, se afsnit 14.4.

“elimit” er den maksimale absolutte fejl i dB, og “err” er fejlvariansen.

14.3.1 Simulation results with frequency limits at 50 Hz to 20 kHz

ARX LS, elimit 1.5, chosen from 3 candidates

min. err at : [30 11], err = 1.18782e-06

min. sum orden at: [0 31], err = 1.05695e-05

ARX LS, elimit 2.0, chosen from 2 candidates

min. err at : [20 11], err = 4.40957e-06

min. sum orden at: [20 11], err = 4.40957e-06

ARMAX PEM, elimit 1.0, chosen from 3 candidates

92

14.3. Simulation log, DT990

1020

3040

0

10

20

30

402

4

6

8

10

12

14

PSfrag replacements

Beyerdynamic DT990 headphone. Estimating parameters of the ARX model using the LS methodA

bsol

ute

max

imum

erro

r[d

B]

B polynomiumA polynomium

min. err at : [25 19 10], err = 0.0089789

min. sum orden at: [16 24 14], err = 0.0147452

ARMAX PEM, elimit 1.5, chosen from 1387 candidates

min. err at : [6 39 0], err = 3.25602e-07

min. sum orden at: [0 26 0], err = 1.99621e-05

ARMAX PEM, elimit 2.0, chosen from 2058 candidates

min. err at : [4 37 0], err = 4.0506e-07

min. sum orden at: [2 22 0], err = 1.21632e-05

ARX WLS, elimit 1.5, chosen from 89 candidates

min. err at : [6 39], err = 3.25392e-07

min. sum orden at: [0 26], err = 1.99621e-05

ARX WLS, elimit 2.0, chosen from 82 candidates

min. err at : [7 38], err = 2.79055e-07

min. sum orden at: [2 22], err = 1.24747e-05

OE STEIGLITZ, elimit 1.5, chosen from 8 candidates

min. err at : [32 26], err = 15.8403

min. sum orden at: [25 18], err = 4036.6

93

Kapitel 14. Beregning af parametre

1020

3040

0

10

20

30

400

5

10

15

20

PSfrag replacements

Monacor MD-300 headphone. Estimating parameters of the ARX model using the LS method

Abs

olut

em

axim

umer

ror

[dB

]

B polynomiumA polynomium

OE STEIGLITZ, elimit 2.0, chosen from 12 candidates

min. err at : [20 30], err = 3.36165e-07

min. sum orden at: [13 12], err = 0.00423853

OE PEMRLS, elimit 1.5, chosen from 544 candidates

min. err at : [42 0], err = 3.54736e-06

min. sum orden at: [26 0], err = 1.99621e-05

OE PEMRLS, elimit 2.0, chosen from 127 candidates

min. err at : [46 0], err = 2.6643e-06

min. sum orden at: [25 0], err = 3.44385e-05

--------- Best candidates ---------

model: ’armax’

metode: ’pem’

orden: [16 24 14]

fejlvar: 0.0147

elimit: 1

model: ’armax’

metode: ’pem’

94

14.3. Simulation log, DT990

1020

3040

0

10

20

30

400

20

40

60

80

PSfrag replacements

Beyerdynamic DT990 headphone. Estimating parameters of the ARX model using the WLS methodA

bsol

ute

max

imum

erro

r[d

B]

B polynomiumA polynomium

orden: [0 26 0]

fejlvar: 1.9962e-05

elimit: 1.5000

model: ’armax’

metode: ’pem’

orden: [2 22 0]

fejlvar: 1.2163e-05

elimit: 2

14.3.2 Simulation results with frequency limits at 75 Hz to 20 kHz

ARX LS, elimit 1.0, chosen from 26 candidates

min. err at : [4 37], err = 4.0506e-07

min. sum orden at: [7 25], err = 3.34709e-06

ARX LS, elimit 1.5, chosen from 328 candidates

min. err at : [12 39], err = 1.66053e-07

min. sum orden at: [0 26], err = 1.99621e-05

ARX LS, elimit 2.0, chosen from 162 candidates

min. err at : [6 42], err = 1.71902e-07

min. sum orden at: [2 22], err = 1.21632e-05

ARMAX PEM, elimit 1.0, chosen from 12 candidates

95

Kapitel 14. Beregning af parametre

1020

3040

0

10

20

30

400

10

20

30

40

50

60

PSfrag replacements

Monacor MD-300 headphone. Estimating parameters of the ARX model using the WLS method

Abs

olut

em

axim

umer

ror

[dB

]

B polynomiumA polynomium

min. err at : [4 37 0], err = 4.0506e-07

min. sum orden at: [7 25 0], err = 3.34709e-06

ARMAX PEM, elimit 1.5, chosen from 1201 candidates

min. err at : [12 39 0], err = 1.66053e-07

min. sum orden at: [0 26 0], err = 1.99621e-05

ARMAX PEM, elimit 2.0, chosen from 1583 candidates

min. err at : [11 39 0], err = 1.78356e-07

min. sum orden at: [2 22 0], err = 1.21632e-05

ARX WLS, elimit 1.0, chosen from 4 candidates

min. err at : [27 13], err = 1.02476e-06

min. sum orden at: [7 28], err = 2.34613e-06

ARX WLS, elimit 1.5, chosen from 167 candidates

min. err at : [6 40], err = 2.16905e-07

min. sum orden at: [0 26], err = 1.99621e-05

ARX WLS, elimit 2.0, chosen from 118 candidates

min. err at : [12 39], err = 1.66425e-07

min. sum orden at: [2 22], err = 1.24747e-05

OE STEIGLITZ, elimit 1.0, chosen from 5 candidates

min. err at : [24 31], err = 1.38216e-07

min. sum orden at: [20 25], err = 3.10125e-07

OE STEIGLITZ, elimit 1.5, chosen from 52 candidates

min. err at : [24 34], err = 1.12194e-07

96

14.3. Simulation log, DT990

010

2030

40

10

20

30

403

4

5

6

7

PSfrag replacements

Beyerdynamic DT990 headphone. Estimating parameters of the OE model using the PEMRLS methodA

bsol

ute

max

imum

erro

r[d

B]

F polynomiumB polynomium

min. sum orden at: [13 12], err = 0.00423853

OE STEIGLITZ, elimit 2.0, chosen from 41 candidates

min. err at : [20 36], err = 9.00894e-08

min. sum orden at: [16 14], err = 0.0159373

OE PEMRLS, elimit 1.5, chosen from 700 candidates

min. err at : [50 0], err = 1.70542e-06

min. sum orden at: [26 0], err = 1.99621e-05

OE PEMRLS, elimit 2.0, chosen from 41 candidates

min. err at : [25 0], err = 3.44385e-05

min. sum orden at: [25 0], err = 3.44385e-05

--------- Best candidates ---------

model: ’arx’

metode: ’ls’

orden: [7 25]

fejlvar: 3.3471e-06

elimit: 1

model: ’oe’

metode: ’steiglitz’

orden: [13 12]

fejlvar: 0.0042

elimit: 1.5000

97

Kapitel 14. Beregning af parametre

010

2030

40

10

20

30

407

8

9

10

11

12

PSfrag replacements

Monacor MD-300 headphone. Estimating parameters of the OE model using the PEMRLS method

Abs

olut

em

axim

umer

ror

[dB

]

F polynomiumB polynomium

model: ’arx’

metode: ’ls’

orden: [2 22]

fejlvar: 1.2163e-05

elimit: 2

14.3.3 Simulation results with frequency limits at 100 Hz to 20 kHz

ARX LS, elimit 1.0, chosen from 113 candidates

min. err at : [22 37], err = 4.55988e-08

min. sum orden at: [4 26], err = 2.75517e-06

ARX LS, elimit 1.5, chosen from 734 candidates

min. err at : [30 35], err = 1.20061e-08

min. sum orden at: [0 26], err = 1.99621e-05

ARX LS, elimit 2.0, chosen from 454 candidates

min. err at : [35 30], err = 1.47455e-08

min. sum orden at: [2 22], err = 1.21632e-05

ARMAX PEM, elimit 1.0, chosen from 189 candidates

min. err at : [22 37 0], err = 4.55988e-08

min. sum orden at: [4 26 0], err = 2.75517e-06

98

14.3. Simulation log, DT990

010

2030

40

10

20

30

400

20

40

60

80

PSfrag replacements

Beyerdynamic DT990 headphone. Estimating parameters of the OE model using the STEIGLITZ methodA

bsol

ute

max

imum

erro

r[d

B]

F polynomiumB polynomium

ARMAX PEM, elimit 1.5, chosen from 3533 candidates

min. err at : [30 30 0], err = 2.93584e-08

min. sum orden at: [0 26 0], err = 1.99621e-05

ARMAX PEM, elimit 2.0, chosen from 4562 candidates

min. err at : [20 40 0], err = 2.84268e-08

min. sum orden at: [2 22 0], err = 1.21632e-05

ARX WLS, elimit 1.0, chosen from 65 candidates

min. err at : [22 37], err = 4.57354e-08

min. sum orden at: [4 26], err = 2.77242e-06

ARX WLS, elimit 1.5, chosen from 446 candidates

min. err at : [30 35], err = 1.20379e-08

min. sum orden at: [0 26], err = 1.99621e-05

ARX WLS, elimit 2.0, chosen from 226 candidates

min. err at : [25 40], err = 1.72571e-08

min. sum orden at: [2 22], err = 1.24747e-05

OE STEIGLITZ, elimit 1.0, chosen from 145 candidates

min. err at : [26 32], err = 3.13706e-08

min. sum orden at: [17 21], err = 7.42411e-07

OE STEIGLITZ, elimit 1.5, chosen from 231 candidates

min. err at : [26 34], err = 2.70286e-08

min. sum orden at: [12 12], err = 7.42395e-06

OE STEIGLITZ, elimit 2.0, chosen from 46 candidates

99

Kapitel 14. Beregning af parametre

010

2030

40

10

20

30

400

20

40

60

80

PSfrag replacements

Monacor MD-300 headphone. Estimating parameters of the OE model using the STEIGLITZ method

Abs

olut

em

axim

umer

ror

[dB

]

F polynomiumB polynomium

min. err at : [26 30], err = 3.30736e-07

min. sum orden at: [10 14], err = 1.5026e-05

OE PEMRLS, elimit 1.5, chosen from 700 candidates

min. err at : [50 0], err = 1.70542e-06

min. sum orden at: [26 0], err = 1.99621e-05

OE PEMRLS, elimit 2.0, chosen from 41 candidates

min. err at : [25 0], err = 3.44385e-05

min. sum orden at: [25 0], err = 3.44385e-05

--------- Best candidates ---------

model: ’arx’

metode: ’ls’

orden: [4 26]

fejlvar: 2.7552e-06

elimit: 1

model: ’oe’

metode: ’steiglitz’

orden: [12 12]

fejlvar: 7.4239e-06

elimit: 1.5000

model: ’arx’

100

14.4. Simulation log, MD-300

metode: ’ls’

orden: [2 22]

fejlvar: 1.2163e-05

elimit: 2

14.4 Simulation log, MD-300

14.4.1 Simulation results with frequency limits at 50 Hz to 20 kHz

Det var kun OE-modeller estimeret med Steiglitz-McBride algoritmen der gav resultater inden-for en 2 dB grænse.

--------- Simulation results with frequency limits at 50 Hz to 20 kHz ---------

OE STEIGLITZ, elimit 1.0, chosen from 118 candidates

min. err at : [35 40], err = 1.75733e-08,

min. sum orden at: [15 33], err = 1.42208e-07

OE STEIGLITZ, elimit 1.5, chosen from 244 candidates

min. err at : [39 40], err = 1.68518e-08,

min. sum orden at: [10 32], err = 2.93568e-07

OE STEIGLITZ, elimit 2.0, chosen from 310 candidates

min. err at : [39 40], err = 1.68518e-08,

min. sum orden at: [17 18], err = 4.97627e-07

--------- Best candidates ---------

model: ’oe’

metode: ’steiglitz’

orden: [15 33]

fejlvar: 1.4221e-07

elimit: 1

model: ’oe’

metode: ’steiglitz’

orden: [10 32]

fejlvar: 2.9357e-07

elimit: 1.5000

model: ’oe’

metode: ’steiglitz’

orden: [17 18]

fejlvar: 4.9763e-07

elimit: 2

101

Kapitel 14. Beregning af parametre

14.5 Udvælgelse af filtre til lyttetest på DT990 hovedtelefonen

Simuleringsresultaterne (afsnit 14.3.1) viste at ARMAX modellen estimeret vha. PEM-RLS gavde laveste ordener ved marginer på hhv. ±1 dB og ±2 dB (se tabel 14.6). Det var kun 3 PEM-RLS estimater af ARMAX, som kunne overholde en margin på ±1 dB i området 50 Hz til 20kHz. Ved en margin på ±2 dB blev 2058 kandidater derimod fundet.

Betegnelse Model Metode [nA,nB,nC] Margin

F1 ARMAX PEM-RLS [16,24,14] 1 dB

F2 ARMAX PEM-RLS [2,22,0] 2 dB

Tabel 14.6: Udvalgte filtre

Figur 14.7-14.10 viser plots af impulsresponset i tid og frekvens, for F1 og F2.

Der skal udvælges to kandidater til lyttetest. F1 udvælges til lyttetest idet den repræsenterer detbedst opnåede estimat. Ud fra den betragtning at en fejl på maksimalt ±1dB ikke er hørbar,[18, s. 313], forventes det at lyttetesten indikerer, at der ikke er nogen hørbar forskel imellemimplementationen af F1 og “det direkte inverse-filter”.

F2 vælges også med den forventning at lyttetesten viser, at der ikke er en hørbar forskel imellemF2 og “det direkte inverse-filter”. F2 har samtidig en forholdvis lav orden.

102

14.5. Udvælgelse af filtre til lyttetest på DT990 hovedtelefonen

10−1

100

101

−5

−2

−1

0

1

2

5ARMAX estimated with PEMRLS order = [16 24 14]

Frekvens [kHz]

Am

plitu

de [d

B]

fejl = PTF + inverse PTF estimat1 dB Margin

10−1

100

101

−800

−600

−400

−200

0

200ARMAX estimated with PEMRLS order = [16 24 14]

Frekvens [kHz]

Vin

kel [

deg.

]

fejl = PTF + inverse PTF estimat

Figur 14.7: Filter 1: ARMAX model estimeret vha. PEM-RLS med orden [16 24 14], frekvens og fase plot.

Fejlen ses at være meget tæt på 0 dB, med en undtagelse omkring 5,5 kHz og udenfor 50 Hz

til 20 kHz.

103

Kapitel 14. Beregning af parametre

0 20 40 60 80 100 120 140−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

Sample

Am

plitu

de

ARMAX estimated with PEMRLS order = [16 24 14]

ReelSimulering estimeret

Figur 14.8: Filter 1, plot i tidsdomæne af simulering og prediktion. Det estimerede respons følger respon-

set for det direkte inverse filter (trunkeret til 126 samples).

104

14.5. Udvælgelse af filtre til lyttetest på DT990 hovedtelefonen

10−1

100

101

−5

−2

−1

0

1

2

5ARMAX estimated with PEMRLS order = [2 22 0]

Frekvens [kHz]

Am

plitu

de [d

B]

fejl = PTF + inverse PTF estimat1 dB Margin

10−1

100

101

−500

−400

−300

−200

−100

0

100ARMAX estimated with PEMRLS order = [2 22 0]

Frekvens [kHz]

Vin

kel [

deg.

]

fejl = PTF + inverse PTF estimat

Figur 14.9: Filter 2: ARMAX model estimeret vha. PEM-RLS med orden [2 22 0], frekvens og fase plot.

Det ses at fejlen rippler gennem hele frekvensbåndet

105

Kapitel 14. Beregning af parametre

0 20 40 60 80 100 120 140−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

Sample

Am

plitu

de

ARMAX estimated with PEMRLS order = [2 22 0]

ReelSimulering estimeret

Figur 14.10: Filter 2, plot i tidsdomæne af simulering og prediktion. De 2 kurver følges indtil sample 25,

hvorefter det estimerede filter dør ud.

106

14.6. Udvælgelse af filtre for MD300 hovedtelefonen

14.6 Udvælgelse af filtre for MD300 hovedtelefonen

Simuleringsresultaterne (afsnit 14.4) viste at OE modellen estimeret vha. Steiglitz-McBride me-toden gav de laveste ordener ved marginer på hhv. ±1 dB og ±2 dB (se tabel 14.7). Det var 118filtre, der kunne overholde en margin på ±1 dB i området 50 Hz til 20 kHz. Ved en margin på±2 dB blev 310 kandidater fundet.

Betegnelse Model Metode [nB,nF ] Margin

F3 OE STMCB [15,33] 1 dB

F4 OE STMCB [17,18] 2 dB

Tabel 14.7: Filtre for Monacor MD-300 Hovedtelefonen

Figur 14.11(a)-14.12(b) viser plots af impulsresponset i tid og frekvens, for F3 og F4.

Der foretages ikke lyttetest for F3 og F4.

107

Kapitel 14. Beregning af parametre

0.1 1 10

0

200

400

600

0.1 1 10

−5

−101

5

PSfrag replacements

Ang

le[d

eg.]

Frequency [kHz]

∠N( f ) = ∠H( f )−∠H( f )∠N( f ) = ∠H( f )−∠H( f )

Am

plitu

de[d

B]

Frequency [kHz]

MD300 Error plot: OE estimated with STMCB, order [15 33]

1 dB Margin

N( f ) = |H( f )||H( f )|

1 dB Margin

(a) Frequency error and phase error plots for filter 3

0 10 20 30 40 50 60 70 80 90 100

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

PSfrag replacements

Sample

Am

plitu

de[.

]

MD300: OE estimated with STMCB, order [15 33]

h(n)

h(n)

h(n)

(b) Impulse response of filter 3 and the optimum filter response

Figur 14.11: MD-300 Filter 4

108

14.6. Udvælgelse af filtre for MD300 hovedtelefonen

0.1 1 10

0

200

400

600

0.1 1 10

−5

−2

0

2

5

PSfrag replacements

Ang

le[d

eg.]

Frequency [kHz]

∠N( f ) = ∠H( f )−∠H( f )∠N( f ) = ∠H( f )−∠H( f )

Am

plitu

de[d

B]

Frequency [kHz]

MD300 Error plot: OE estimated with STCMB, order [17 18]

2 dB Margin

N( f ) = |H( f )||H( f )|

2 dB Margin

(a) Frequency error and phase error plots for filter 4

0 10 20 30 40 50 60 70 80 90 100

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

PSfrag replacements

Sample

Am

plitu

de[.

]

MD300: OE estimated with STCMB, order [17 18]

h(n)

h(n)

h(n)

(b) Impulse response of filter 4 and the optimum filter response

Figur 14.12: MD-300 Filter 4

109

Lyttetest 15For at evaluere om det er muligt at høre forskel på de forskellige implementationer af filtrenedesignes og udføres et lytteforsøg. Der defineres to mulige udfald af forsøget; der er ingen hørbarforskel eller der er en hørbar forskel. Det giver følgende hypotese:

Null hypotesen H0: Der er ingen hørbar forskel

Den alternative hypotese HA: Der er en hørbar forskel

15.1 Testmetode

Der kan benyttes flere forskellige testmetoder til at evaluere hypotesen. Umiddelbart kan manbare bruge ja-nej-metoden (two alternatives forced choice - 2AFC). I denne metode bliver test-personen præsenteret for to lyde og skal herefter angive om der var en hørbar forskel. Ulempenved denne metode er, at hvis der er en meget lille forskel på de to lyde vil testpersonen skullesvare Nej hele tiden. Dette kan resultere i, at testpersonen vil have en tendens til at svare Ja modslutningen af testen for at føle, at han gør et godt arbejde.

I stedet vælges det at benytter en 3AFC test (three altenatives forced choice), hvor testpersonenbliver præsenteret for tre lyde, to ens og testlyden, og skal bestemme hvilken lyd der skiller sigud. Ved 3AFC testen undgår man problemet fra 2AFC testen. da lyden der skiller sig ud kommertilfældigt ift. de to ens lyde.

15.2 Design af testen

Ved en 3AFC test er der 6 forskellige kombinationer af de to lyde, disse er angivet i tabel 15.1.

Når en lyd testes skal alle 6 kombinationer benyttes for at sikre, at rækkefølgen ikke har no-gen indvirkning på eksperimentet. Der er også andre fejlkilder der ønskes minimeret. Først ogfremmest er det vigtigt at testsessionen ikke varer mere end 10 min., da det er svært at lyttekoncentreret i mere end 10-12 min. Derudover kan det være, at en lyd er nemmere at evaluerehvis den kommer efter en bestemt anden lyd. Hvis lyd 1 f.eks. altid kommer før lyd 2 og dettegør det nemmere eller svære at evaluere lyd 1, bør denne situation undgås.

Disse fejl kan minimeres/udgås hvis der benyttes en “latin square”. En latin square er en matrixder har den egenskab at alle nummer fremkommer en gang i hver række og en gang i hver søjle.Ved at bruge en latin square sikres det at alle kombinationer af to lyde gentages det samme antalgange, man opnår det der kaldes et balancet eksperiment.

110

15.2. Design af testen

Kombination 1. stimuli 2. stimuli 3. stimuli

1 x x y

2 x y x

3 x y y

4 y x x

5 y y x

6 y x y

Tabel 15.1: De forskellige kombinationer af de to lyde, x og y, i 3AFC testen.

En 3AFC test kan karakteriseres som et binomial eksperiment, hvor et korrekt svar er, når test-personen vælger den stimuli der adskiller sig fra de to andre. Hvis testpersonen gætter er, sand-synligheden for at vælge det rigtige svar 33,3 %. Antallet af korrekte svar er binomialfordelt.Middelværdien, µ, og variansen, σ2, for en binomial fordeling er givet ved (15.1) og (15.2),

µ = n · p (15.1)

σ2 = n · p(1− p) (15.2)

hvor n er antallet af svar og p er sandsynligheden for et korrekt svar [19, s. 196].

Vores hypotesetest er en to sidet test, og regelen er at afvise H0, hvis z er større end zα/2 el-ler mindre end -zα/2. Hvis n erstørre end 30, kan man antage, at antallet af korrekte svar ernormalfordelt. z kan bestemmes ved (15.3),

z =x−µ

σ(15.3)

hvor x er antallet af korrekte svar [19, s. 227]. For at afvise H0 skal z, som sagt, være større endzα/2 eller mindre end -zα/2, dette giver (15.4),

x > zα/2 ·σ+µ eller x < −zα/2 ·σ+µ (15.4)

hvor zα/2 findes ved det ønskede signifikansniveau.

15.2.1 Benyttet stimuli

Der benyttes 6 forskellige lyde i forsøget, generet fra 2 forskellige lydkilder, lyserødstøj og mu-sik. Alle 6 lyde er retningsbestemte, støjen og musikken afspilles fra de samme tre retninger hhv.44 grader til venstre, midtfor og 44 grader til højre. Lydene nummereres som vist i tabel 15.2.

Stimulien der benyttes er 2 sekunder lange. Mellem hver stimuli er der en pause på 1 sekund, ognår de tre stimuli er blevet afspillet, er der en pause på 4 sekunder hvor testpersonen skal afgivesit svar. Når alle kombinationer af en lyd er blevet afspillet er der en pause på 8 sekunder førnæste lyd starter.

111

Kapitel 15. Lyttetest

Nummer Lyd

1 Lyserødstøj 44 grader til venstre

2 Lyserødstøj midtfor

3 Lyserødstøj 44 grader til højre

4 Musik 44 grader til venstre

5 Musik midtfor

6 Musik 44 grader til højre

Tabel 15.2: Nummerering af de anvendte lyde.

For at sikre at testpersonen ikke føler at testen er for “svær” indsættes der desuden nogle nemmesignaler - en lavpasfiltrering af den originale lyd. Der filtreres ved 5 kHz ved musikken og ved 9kHz ved støjen. De lavpasfiltrede signaler er fordelt ligeligt mellem de “rigtige” signaler og harikke nogen indflydelse på testens resultat. Dette medfører at en lyd udover de 6 kombinationerder er angivet i tabel 15.1 kommer til at bestå af yderligere to kombinationer, altså ialt 8 kom-binationer, hvor kun de 6 bruges i analyse af resultatet. De 8 kombinationer køres igennem foralle 6 lyde. Ved 8 kombinationer for hver lyd tager een test ca. 9 min. og 52 sek.

Den Latin square der benyttes i forsøget er angivet i tabel 15.3, hvor hver række viser rækkeføl-gen af lyde for den tilhørende testperson.

1 2 3 4 5 6

2 1 4 5 6 3

3 4 1 6 2 5

4 5 6 1 3 2

5 6 2 3 1 4

6 3 5 2 4 1

Tabel 15.3: Den benyttede Latin square.

De 8 kombinationer der benyttes i testen er vist i tabel 15.4.

Rækkefølgen af disse kombinationer for hver enkelt lyd er fundet ved at benytte funktionenrandperm i MatLab, det gav følgende resultat (der bruges den samme rækkefølge for alle test-personer):

Lyd 1: 8 - 5 - 6 - 3 - 7 - 4 - 2 - 1

Lyd 2: 7 - 1 - 3 - 6 - 2 - 5 - 4 - 8

Lyd 3: 7 - 4 - 1 - 3 - 6 - 8 - 5 - 2

Lyd 4: 2 - 4 - 8 - 6 - 3 - 7 - 5 - 1

112

15.3. Fremgangsmåde

Kombination 1. stimuli 2. stimuli 3. stimuli

1 x x y

2 x y x

3 x y y

4 y x x

5 y y x

6 y x y

7 x x z

8 x z x

Tabel 15.4: x er vores reference (det inverse filter), y er filteret der testes og z er denne “nemme” lyd.

Lyd 5: 7 - 3 - 2 - 5 - 1 - 6 - 4 - 8

Lyd 6: 1 - 5 - 4 - 8 - 7 - 3 - 2 - 6

15.3 Fremgangsmåde

Der skal udføres to seperate test, en for hvert filter der ønskes testet imod det inverse filter(referencen). Det vælges kun at udføre disse tests for een hovedtelefon, Beyerdynamic DT 990Professional.

Inden lyttetesten starter udføres der for hver testperson en audiometrimåling. Dette gøres for atsikre, at testpersonen har normal hørelse. En testperson afvises hvis de har et høretab på mereend 20 dB ift. HTL (Hearing Threshold Level) [18, s. 53].

Efter at at audiometrimålngen er udført gives testpersonen er skriftlig beskrivelse af testen, evt.spørgsmål til testen besvares. Når testpersonen mener at han/hun er indforstået med testensforløb starter denne. Den skriftlige beskrivelse af lyttetesten findes i afsnit 15.3.3.

15.3.1 Generering af lyde

Lydene, der benyttes i testen, er generet i MatLab. De to lydkilder, musik og støj er optaget i detlyddøde rum på DTU. Disse er optaget med samplefrekvens på 44,1 kHz og opsamples derfortil 48 kHz før retning og filtrene foldes på. Da testlydene skal ligge på en CD, downsamplesdisse slutteligt til 44,1 kHz.

Filerne der er brugt til lydgenereringen er genererInvNem.m og lavCD.m.

113

Kapitel 15. Lyttetest

15.3.2 Benyttet udstyr

Apparat Mærke AAU-nummer

Audiometer Madsen Electronics Orbiter 922, Version 2 33968

4-kanals hovedtelefonforstærker Behringer HA 4400 52600

Cd-afspiller Marantz Compact disc player CD-32 33246

Hovedtelefon Beyerdynamic DT 990 Professional 2036-77

15.3.3 Skriftlig beskrivelse af lyttetesten

Formålet med denne lyttetest er at bestemme, om der en hørbar forskel på forskellige filterim-plementationer til brug ved bineural teknik.

Under testen bliver du præsenteret for 3 lyde af 2 sekunders varighed med 1 sekunds pausemellem hver lyd. Din opgave er at bestemme hvilken af de 3 lyde der skiller sig ud. Der er enpause på 4 sekunder til at angive svaret på testskemaet. Du skal ialt svare 48 gange.

Lydene i testen vil bestå af 2 forskellige lydkilder - støj og musik - der kommer fra 3 forskelligeretninger. Kombinationer er som følger:

• Støj 45 grader til venstre

• Støj midtfor

• Støj 45 grader til højre

• Musik 45 grader til venstre

• Musik midtfor

• Musik 45 grader til højre

Når der skiftes mellem lydkilderne vil der være en pause på 8 sekunder. Testen varer ca. 10minutter.

Du vil blive præsenteret for en pretest, så du bliver bekendt med testproceduren.

15.4 Resultater

I dette afsnit fndes resultaterne af lyttetesten. Resultaterne er repræsenteret på tre forskelligemåder; svarene for de enkelte lyde uafhængigt af testpersonen, svarene for de enkelte testperso-ner ufafhængigt af lydene og de to filtre uafhængigt af både testperson og lyd. De to filtre dertestes er:

Filter Model Estimeringsmetode Orden Fejl

1 ARMAX PEM-RLS [16 24 14] ±1 dB

2 ARMAX PEM-RLS [2 22 0] ±2 dB

114

15.4. Resultater

I figur 15.1 vises resultaterne når man tage svarene for de enkelte lyde uafhængigt af tesper-sonerne, der blev angivet 36 svar ialt. I følge 15.4 skal man, ved et signifikansniveau på 95%,afvise H0 hvis antallet af korrekte svar er over 48,7 % eller under 17,9 %.

1 2 3 4 5 60

10

20

30

40

50

60

70

80

90

100

Sounds

Cor

rect

ans

wer

s [%

]

Filter 1Filter 2

Figur 15.1: Antallet af rigtige svar ift. det samlede antal af svar sorteret efter lyd. De stiplede linier angiver

afvisningsgrænserne.

I figur 15.2 vises resultaterne når man tage svarene for de enkelte testpersoner uafhængigt aflydene, der blev angivet 36 svar ialt. I følge 15.4 skal man, ved et signifikansniveau på 95%,afvise H0 hvis antallet af korrekte svar er over 48,7 % eller under 17,9 %

1 2 3 4 5 60

10

20

30

40

50

60

70

80

90

100

Test subject

Cor

rect

ans

wer

s [%

]

Filter 1Filter 2

Figur 15.2: Antallet af rigtige svar ift. det samlede antal af svar sorteret efter testperson. De stiplede linier

angiver afvisningsgrænserne.

I figur 15.3 vises resultaterne når man tage svarene for de to filtre uafhængigt af tespersoner oglyde, der blev angivet 216 svar ialt. I følge (15.4) skal man, ved et signifikansniveau på 95%,

115

Kapitel 15. Lyttetest

afvise H0 hvis antallet af korrekte svar er over 39,6 % eller under 27,0 %

1 20

10

20

30

40

50

60

70

80

90

100

Filter

Cor

rect

ans

wer

s [%

]

Figur 15.3: Antallet af rigtige svar ift. det samlede antal af svar sorteret efter filter. De stiplede linier angiver

afvisningsgrænserne.

På alle tre figurer ses det, at der ikke er noget grundlag for at afvise H0. På baggrund af lyttetestenkan det derfor konkluderes, at der ikke er nogen hørbar forskel.

Resultaterne for de nemme lyde kan ses på figur 15.4 og 15.5.

1 2 3 4 5 60

10

20

30

40

50

60

70

80

90

100

Sounds

Cor

rect

ans

wer

s [%

]

Filter 1Filter 2

Figur 15.4: Antallet af rigtige svar for de nemme lyde ift. det samlede antal af svar sorteret efter lyd.

116

15.4. Resultater

1 2 3 4 5 60

10

20

30

40

50

60

70

80

90

100

Test subject

Cor

rect

ans

wer

s [%

]

Filter 1Filter 2

Figur 15.5: Antallet af rigtige svar for de nemme lyde ift. det samlede antal af svar sorteret efter testper-

son.

117

Konklusion 16Dette arbejdsblad opsummerer de valg der er taget i løbet af projektperioden og de resultaterprojektet medfører.

Fast deconvolution Metoden om fast deconvolution er blevet beskrevet, testet og implemente-ret succesfuldt. Der blev også forsøgt at opnå det inverse filter vha. minimum fase tek-nikken og dette medførte, at det var lettere at estimere filteret. Derfor blev minimum faseteknikken valgt.

Frequency warping Der blev i dette projekt undersøgt mulighederne for at frekvens warpe detmidlede impulsrespons. Det medførte imidlertid implementeringsvanskeligheder, mht. atdet warpede impulsrespons skulle bruge “mange” samples til at ringe ud. Dette så ud tilat have betydning for estimeringen af parameterne i equalizer filteret, som derfor ikkefungerede optimalt.

Det er valgt at bibeholde dokumentationen for ovenstående, da det har givet projektgruppenindsigt i emnerne. Yderligere kan fokuseres på frekvens warping teknikken. Men det vurderes iførste omgang på baggrund af projektgruppens erfaringer samt erfaringerne fra [20] ikke at værenødvendigt, da estimeringsteknikker uden frekvens warping giver en tilstrækkeligt reduceringaf ordenen ift. det direkte inverse PTF filter.

16.0.1 Resultater

Der er opnået to filtre for hver hovedtelefon (DT990 og MD300). De to filtre som har henholds-vis en estimeringsfejl på ± 1 dB og ± 2 dB blev testet for DT990. Der blev ikke påvist hørbarforskel på nogen af filtrene, når de blev testet op imod det optimale equaliserings filter.

118

Litteraturliste

[1] H. Møller, D. Hammershøj, C. B. Jensen, and M. F. Sørensen, “Transfer Characteristics ofHeadphones Measured on Human Ears,” J. Audio Eng. Soc. (1995 April), vol. 43, no. 4,pp. 203–217.

[2] D. D. Rife, and J. Vanderkooy, “Transfer-Function Measurement with Maximum-LengthSequences,” J. Audio Eng. Soc. (1989 June), vol. 37, no. 6, pp. 419–444.

[3] H. Møller, “Fundamentals of Binaural Technology,” Applied Acoustics (1992), vol. 36, pp.171–218.

[4] L. Ljung, System Identification - Theory for the user, 2nd ed., Prentice Hall (1999).

[5] A. V. Oppenheim, and R. W. Schafer, Discrete-Time Signal Processing, 1st ed., PrenticeHall (1989), ISBN 0-13-216292-X.

[6] P. Minnaar, “Simulating an acoustical enviroment with binaural technology,” Ph.D. thesis(2001).

[7] O. Kirkeby, P. A. Nelson, H. Hamada, and F. Orduna-Bustamante, “Fast Deconvolutionof Multichannel Systems Using Regularization,” IEEE Transactions on Speech and AudioProcessing (1998 March), vol. 6, no. 2, pp. 189–195.

[8] A. N. Salt, “Inner Ear Anatomy,” http://oto.wustl.edu/cochlea/intro1.htm (1995-2003).

[9] P. Elsea, “Inner Ear Anatomy,” http://arts.ucsc.edu/EMS/Music/tech_background/TE-03/teces_03.html (1996).

[10] A. Härmä, M. Karjalainen, L. Savioja, Vesa, Välimäki, U. K. Laine, and J. Huopaniemi,“Frequency-Warped Signal Processing for Audio Applications,” J. Audio Eng. Soc. (2000November), vol. 48, no. 11, pp. 1011–1031.

[11] J. Smith, and J. Abel, “Bark and ERB Bilinear Transform,” IEEE Transactions on Speechand Audio Processing (1999 December).

[12] L. Ljung, System Identification. Theory for the user, Prentice Hall (1987), ISBN 0-13-881640-9.

[13] K. S. Shanmugan, and A. M. Breipohl, Random Signals. Detection, estimation and dataanalysis, John Wiley & Sons (1988), ISBN 0-471-81555-1.

119

Litteraturliste

[14] L. Ljung, System Identification. Theory for the user, 2nd ed., Prentice Hall (1999), ISBN0-13-881640-9.

[15] S. Haykin, Adaptive Filter Theory, 4th ed., Prentice Hall (2002), ISBN 0-13-090126-1.

[16] C. W. Therrien, Discrete Random Signals and Statistical Signal Processing, 1st ed., Pren-tice Hall (1992), ISBN 0-13-852112-3.

[17] T. Knudsen, Systemidentifikation, 1st ed., AUC (1993), ISBN 0106-0791.

[18] B. C. J. Moore, An introduction to the psychology of hearing, 4th ed., Academic press(1997), ISBN 0-12-505627-3.

[19] D. R. Anderson, D. J. Sweeney, and T. A. Williams, Statistics for Business and Economics,8th ed., South-Western (2002), ISBN 0-324-06671-6.

[20] H. A. Nielsen, K. R. Pedersen, R. M. M. Petersen, K. H. Sørensen, and M. Sørensen, “Eva-luation and Comparison of Methods for Real Time Equalization of Stereo Headphones forBinaural Sound Reproduction,” 16th SEMCON, 19th december 2003 (2003).

.

120