DIGITAALNE SPEKTRAALANALÜÜS Loengumaterjal 3 Toomas Ruuben USIC Algortm analüüsb sgnaal autokorrelatsoonmaatrks omaväärtus ja vastavad omavektored sgnaal sageduste kndlaksmääramseks P USIC ( f) vks ( f) k on omavektorte arv v k sgnaal autokorrelatsoonmaatrks k-s omavektor S( f) komlekssed harmoonlsed Korruts v S ( f on FFT ms arvutatakse gale müra k ) alamruumga seotud omavektorle USIC, ARVUTAINE ATLABIS USIC, ARVUTAINE ATLABIS atlab keskonnas on kasutusel funktsoon musc() rootmusc() musc arvutab seudosektr kõgl sagedustel rootmusc leab dskreetsed sektr sagedused ja võmsuse hnnangud Snussgnaalde sageduste ledmseks valge müra taustal sobb rootmusc rohkem USIC algortm on võrreldes Psarenko meetodga olulselt täsem kuna sn letakse sageduse hnnangud suurema arvu omaväärtuste järg Funktsoond ATLAB-s [S,] = musc(x,) [S,] = musc(x,,) [S,] = musc(...,nfft) [S,f] = musc(x,,nfft,fs) [S,f] = musc(x,,f,fs) [S,f] = musc(...,'corr') [S,f] = musc(x,,nfft,fs,nn,noverla) [...] = musc(...,'range') [...,v,e] = musc(...) musc(...) 3 4 USIC, ARVUTAINE ATLABIS USIC, ARVUTAINE ATLABIS [S,]=musc(x,) S seudosektr hnnang x ssendsgnaal ms võb olla kas üks veeruvektor võ nelnurkne võre kus ga rda on mng sensor väljund. x* x on korrelatsoonmaatrks hnnang. Sellse võre genereermseks võb kasutada funktsoon corrmtx ja on ssendna kasutatav normalseertud sagedused (rad/samle) sgnaal alamruum mõõt (täsarv) võ kahe elemendlne vektor. Vektor korral on teseks elemendks läve väärtus * () mn mllest väksemad omaväärtus loetakse kuuluvat müra alamruum, () määrab sgnaal alamruum maksmaalse mõõdu 5 Vektord S ja omavad samu kkus. Reeglna määravad vektor S kkuse ja sageduste ulatuse ssendandmed x [S,]=musc(x,,) Saab ette anda vähemalt elemendst koosneva sageduste vektor mllest seudosekter arvutatakse [S,]=musc(...,nfft) Võb ette anda FFT kkuse mda seudosektr hnnangu ledmseks kasutatakse. Vakms väärtus [ ] on 56 [S,f]=musc(x,,nfft,fs) Ülemnek sagedustele f. Sn tuleb ette anda ka dskreetmssagedus fs. Vakms väärtus [ ] on z 6
USIC, ARVUTAINE ATLABIS USIC, ARVUTAINE ATLABIS [S,f]=musc(x,,f,fs) Saab ette anda sageduste vektor f mlle väärtustel seudosekter arvutatakse [S,f]=musc(..., corr ) Ssendandmed x kujutav endast korrelatsoonmaatrkst. NB! aatrks eab olema ruutmaatrks mttenegatvsete omaväärtustega [S,f]=musc(x,,nfft,fs,nn,noverla) nn nelnurkse akna mõõt (täsarv) võ reaalarvulne vektor aknakoeftsentdega noverla akende ülekattumse määr (e saa kasutada ku x on maatrks) nn vakms väärtus on * () ja noverla vakms väärtus on nn- NB! Ssendandmed x segmenteertakse enne korrelatsoonmaatrks moodustamst. Ku ssendsse antakse korrelatsoonmaatrks, ss arameetred nn ja noverla gnoreertakse [...]=musc(..., range ) Saab määrata f võ sagedusvahemku ku ssends on reaalandmed x hole - Arvutatakse seudosekter sagedusvahemkus [0,fs] ku fs on tüh vektor [ ] ss on sagedusvahemk normeertud [0,], ku fs on defneermata, ss [0,π] 7 8 USIC, ARVUTAINE ATLABIS USIC, ARVUTAINE ATLABIS half Arvutab üheoolse seudosektr reaalandmetest x [...,v,e]=musc(...) v müra alamruum kuuluvate omavektorte maatrks e omavektortele vastavate omaväärtuste vektor musc(...) lma omstuseta trükb arvutatud sektr ATLAB- aktvsesse aknasse ( fgure ) musc funtsoon arvutab sgnaal ja müra alamruumd sgnaal korrelatsoonmaatrks omavektorte ja omaväärtuste alusel. Omavektorte mõõt n on summa sgnaal ja müra alamruum mõõtudest. Omavektor mõõt sõltub ssendadmetest ja süntaksst Näde: musc algortm dskreetmssagedust määramata randn('state',0); n = 0:99; x = cos(0.57**n) + sn(0.**n) + 0.0*randn(sze(n)); musc(x,4) Antud juhul sgnaal alamruum mõõt võrdub 4-ga kuna ga reaalarvulne harmoonlne sgnaal koosneb kahest komlekseksonendst 9 0 USIC, ARVUTAINE ATLABIS USIC, ARVUTAINE ATLABIS Sgnaal ja müra summa USIC algottm ssends Pseudosektr hnnang arvutatuna USIC algortmga
USIC, ARVUTAINE ATLABIS Näde : Sgnaal ja müra alamruum rks on seatud omaväärtused ms ületavad 0 % mnmaalse omaväärtuse. Sgnaal alamruum mõõduks on Inf, seega vektor =[Inf,.] Omavektorte kkus nn=7, dskreetmssagedus fs=8000 USIC, ARVUTAINE ATLABIS Pseudosektr hnnang sgnaal ja müra alamruum mõjutamsel korr. maatrks omaväärtuste lävega randn('state',0); n = 0:99; x = cos(0.57**n) + sn(0.**n) + 0.0*randn(sze(n)); musc(x,[inf,.],[],8000,7); % Wndo length = 7 3 4 USIC, ARVUTAINE ATLABIS USIC, ARVUTAINE ATLABIS Näde : USIC algortm korrelatsoonmaatrksga ssends Ssendsgnaal x mllest arvutatakse korrelatsoonmaatrks randn('state',0); n = 0:699; x = cos(0.57**(n)) + 0.*randn(sze(n)); Xm = corrmtx(x,7,'mod'); [P,] = musc(xm,); corrmtx(x,7, mod ) ( n m) ( m ) autokorrelatsoon hnnang ssendandmetest x. m=7 5 6 USIC, ARVUTAINE ATLABIS ROOTUSIC, ARVUTAINE ATLABIS Pseudosektr hnnang ku ssendsse on antud sgnaal alusel koostatud korrelatsoonmaatrks 7 Funktsoond ATLAB-s [,o] = rootmusc(x,) [f,o] = rootmusc(...,fs) [,o] = rootmusc(...,'corr') Snjuures: sageduste vektor (radaan/dskreed kohta) o võmsuse vektor db ga sageduse kohta komlekssete harmoonlste arv fs dskreetmssagedus f sageduste vektor corr võmaldab ssendsse anda sgnaal korrelatsoonmaatrks 8 3
ROOTUSIC, ARVUTAINE ATLABIS Näde: randn('state',); n=0:99; s = ex(*/*n)+*ex(*/4*n)+ex(*/3*n)... +randn(,00); % Estmate correlaton matrx usng modfed % covarance method. X=corrmtx(s,,'mod'); [W,P] = rootmusc(x,3) W =.5769 0.787.056 P =.358 3.9975.40 (estmaton of sgnal arameters va rotatonal nvarance technques) alternatvseks meetodks harmoonlste sageduste hndamseks sgnaalmaatrks omaväärtuste alusel ndame sarnaselt eelnevaga komlekset harmoonlst sgnaal valge müra taustal Vastuvõetud sgnaal ssends y( n) [ y( n), y( n ),..., y( n )] T x( n) ( n) 9 0 Tektame ssendandmetest ajalselt nhutatud vektor z( n) y( n) T z( n) [ z( n), z( n ),..., z( n )] [ y( n ), y( n ),..., y( n )] Selle alusel saame krjeldada vektord y( n) ja z( n) y( n) Sa ( n) T Vektord n y( n) Sa ( n) z( n) SΦ a ( n) T a, a,..., a a j a Ae Φ on dagonaalmaatrks ms ssaldab kõkde komleksharmoonlste naaberdskreetde vahelst suhtelst faas (rotaton matrx) Φ f j f dag[ e, e,..., e j f ] z( n) SΦa ( n) S on Vandermonde maatrks ms ssaldab veeruvektored 4 ( ) [, f, f,..., s f e e e ],,..., Krjeldame ssendandmete (sgnaal + müra) korrelatsoonmaatrks arvestades y( n) Sa ( n) [ ( ) Γ E y n y ( n)] SPS Snjuures P on dagonaalmaatrks ms ssaldab komleksharmoonlste võmsus P dag a, a,..., a dag P, P,..., P aatrks P on dagonaalmaatrks kuna ernevate sagedustega komleksharmoonlsed on ortogonaalsed lõmatus vahemkus (samas dagonaalsus ole nõutav) 3 algortm korral on küllaldane, ku krrelatsoonmaatrks on arvutatud lõlku kestvusega n ssendsgnaaldest y( n) Sa ( n) z( n) SΦ a ( n) Sgnaalvektorte y( n) ja z( n) rstkorrelatsoonmaatrks Γ E y ( n) z ( n) SPΦ S Γ 0 0 0... 0 0 0 0... 0 0 Γ E ( n) ( n ) 0 0... 0 0 Q 0 0 0... 0 4 4
Auto ja rstkovaratsoonmaatrksd Γ ja Γ avalduvad ku B (0) B () B ( ) B () B (0) B ( ) Γ * B ( ) B ( ) B (0) B () B () B ( ) B (0) B () B ( ) Γ * * B ( ) B ( 3) B () aatrkste elemendd arvutatakse ku * B ( ) ( ) ( ) m E y n y n m Peamseks robleemks on sageduste f ja nende võmsuste P ledmne autokorrelatsoondestb ( m) aatrks SPS astakuks on ja korrelatsoonmaatrks [ ( ) Γ E y n y ( n)] SPS omab ( ) ühesugust omaväärtust ms vastavad müra võmsusele 5 6 Seega võme krjutada Arvestades rstkrrelatsoonmaatrks avaldst saame Γ Ι SPS C Γ E y ( n) z ( n) SPΦ S Γ Γ Γ SPΦ S C oodustame eelnevast maatrks C C C C SP( I Φ ) S 7 Analüüsdes maatrksed näeme, et aatrkste SPS ja SPΦ S veerud on omavahel dentsed aatrks C C astak on Ku omaväärtus ex( j f ), ss -s veerg Ι Φ võrdub nullga ja maatrks Ι ex( j f ) Φ astakuks on Samaaegselt ex( j f),,,..., väärtused on maatrkste aar C, C üldstatud omaväärtused Essteerb omaväärtust ühkrngl ms vastavad öördoeraator Φ elementdele. Ülejääbnud on 0-d 8 -I algortm sageduste f hndamseks Leame ssendandmete AKF hnnangud r ( m), m,,..., ja moodustame nest maatrksd R ja R ms vastavad maatrkstele Γ ja Γ Arvutame maatrks R omaväärtused. korral vastab mnmaalne omaväärtus Arvutame maatrksd ˆ C ˆ R Ι ˆ C ˆ R Q Leame maatrkste aar C ˆ ˆ, C üldstatud omaväärtused. Omaväärtused, ms asetsevad ühkrngl võ on selle lähedal defneervad maatrks Φ elemendd mllest saadakse harmoonlste sgnaalde sagedused. armoonlste sgnaalde võmsuses võvad olla letud Psarenko meetod juures kasutatava maatrksvõrrand lahendtest KUIDAS VALIDA JÄRK Ku koosluses ekssteerb harmoonlst sgnaal, ss omaväärtused ms vastavad sgnaal alamruumle on,,,..., Ülejäänud omaväärtust vastavad mürale Järk võb olla valtud: Test tulemusena Autokorrelatsoonmaatrks kõrvalekallete analüüs tulemusena (Fuchs 988) AIC krteerum omaväärtuslahutustele (Wax and Kalath 985) 9 30 5
KUIDAS VALIDA JÄRK KUIDAS VALIDA JÄRK Ku dskreetse autokorrelatsoonmaatrks omaväärtused on järjestatud..., kusjuures > Eelnevas: G( ), 0,,..., ss harmoonkute arv sgnaal alamruums on määratav valdes vähma väärtuse suuruselt G( ) DL( ) log E( ) A ( ) N A ( ) E( ) ( )log N N dskreetde arv mda kasutatakse AKF arvutustes 3 3 6