[alg] Wiskundetheorie: kruiscorrelatie & Fouriertransfomatie

Pagina: 1
Acties:
  • 138 views sinds 30-01-2008
  • Reageer

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 23-05 23:27

Tomatoman

Fulltime prutser

Topicstarter
Om de kruiscorrelatie tussen twee signalen te bepalen, gebruik ik Fouriertransformaties. Het signaal f(t) met als Fouriergetransformeerde F(ω) moet worden gecorreleerd met het referentiesignaal g(t) met als Fouriergetransformeerde G(ω). De correlatiecoëfficiënten r zijn gedefinieerd als
R(ω) = F(ω)×G*(ω)
Door tenslotte de inverse Fouriertransformatie uit te voeren op R is r(t) te berekenen.

Tot zover de theorie. Aangezien de signalen f en g reëel zijn (dus geen imaginair deel hebben), zouden de correlatiecoëfficiënten ook r ook reëel moeten zijn. In alle implementaties van de inverse Fouriertransformatie die ik tot dusverre ben tegengekomen, worden echter complexe getallen geretourneerd. Nu zit ik met het probleem hoe ik het imaginaire gedeelte van r(t) moet interpreteren.

Bovendien weet ik niet hoe ik ermee moet omgaan. Daar waar de (reële) kruiscorrelatie van het signaal met het referentiesignaal het hoogst is, is er de meeste overeenkomst. Maar hoe zit dat met complexe correlatiecoëfficiënten?

Een goede grap mag vrienden kosten.


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Om even geen antwoord op je directe vraag te geven:
Waarom zou je na de fourier transformaties op de bronnen weer een inverse fourier transformatie nodig hebben om de correlatie te bepalen?
Zou je niet met een gewoon diff-achtig algoritme kunnen bepalen wat de overeenkomst is tussen de getransformeerde signalen?

Aannemende dat je iets met spraakherkenning aan het doen bent :P

Who is John Galt?


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 23-05 23:27

Tomatoman

Fulltime prutser

Topicstarter
Close enough :), eendimensionale beeldherkenning. Het signaal bestaat uit een reeks grijswaarden. Er zijn diverse referentiesignalen, die ook bestaan uit een reeks grijswaarden. Als de kruiscorrelatie van het gemeten signaal en een van de referentiesignalen op een bepaald punt erg hoog is, komt het signaal blijkbaar overeen met het bewuste referentiesignaal. Ik heb de kruiscorrelatie r(t) als functie van de tijd nodig, omdat het signaal mogelijk een stukje verschoven is in de tijd ten opzichte van het referentiesignaal. De piek van de kruiscorrelatiefunctie kan dus ook een beetje verschoven zijn in de tijd.

Eigenlijk wil ik dus de piek van de kruiscorrelatiefunctie zien te vinden. Als die piek hoog genoeg is, heb ik een match gevonden. Eerlijk gezegd zie ik niet hoe R(ω) daarbij van dienst kan zijn.

Een goede grap mag vrienden kosten.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 23-05 23:27

Tomatoman

Fulltime prutser

Topicstarter
Een klein schopje.

Een goede grap mag vrienden kosten.


Verwijderd

Je fouriertransformatie van je signalen is complex. Hieruit zijn de fase en amplitude te halen (De amplitude is de absolute waarde). De inverse transformatie is in principe ook complex, maar omdat je begin signaal reeel is, zal het imaginaire deel nul moeten zijn en is je inverse transformatie in de practijk gewoon reeel.

Door de twee getransformeerde signalen te vermenigvulden verandert er wel wat. Maar omdat de crosscorrelation van twee reele signalen reeel is, zal de inverse getransformeerde van R(omega) ook reeel moeten zijn. Dus je routines zouden dus wel een complex getal terug kunnen geven, maar als het goed is is het imaginaire deel steeds 0.

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 23-05 23:27

Tomatoman

Fulltime prutser

Topicstarter
Duidelijk verhaal, theoretisch zou de teruggetransformeerde r geen imaginair deel moeten bezitten. Mag ik hieruit concluderen dat als r tòch een imaginair deel bevat, dit het gevolg zou kunnen zijn van afrondingsfouten?

[ Voor 54% gewijzigd door Tomatoman op 10-05-2004 14:29 ]

Een goede grap mag vrienden kosten.


Verwijderd

Dat lijkt mij idd het geval ja, dus gewoon alleen het reele deel gebruiken.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik zou niet gewoon het imaginaire gedeelte weglaten, dat vergroot de afrondingsfouten alleen maar. In plaats daarvan kun je beter de amplitude eruit halen en dat gebruiken

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1