Postopki obdelave signalov 2. vaja – kompleksni eksponentni signal in fazor Kompleksni eksponentni signal nam omogočajo alternativni zapis harmoničnega signala. Tak zapis nam v določenih primerih močno poenostavi delo s harmoničnimi signali. Namen vaje je spoznati kompleksne eksponentne signale ter pojem fazor. Za delo s kompleksnimi števili je koristno poznati nekaj osnovnih relacij: Polarni zapis: Kartezični zapis: z = x+ j⋅ y z = re jθ x = ℜ{z} = r cosθ r = x2 + y 2 y = ℑ{z} = r sin θ θ = arctan xy Kompleksni eksponentni signal zapišemo kot: x (t ) = Ae j (ω0t +φ ) . S pomočjo razširjene Euler-jeve formule: z = re jθ = r cosθ + j ⋅ r sin θ lahko kompleksni eksponentni signal razširimo v: x (t ) = Ae j (ω0 t +φ ) = A cos(ω0t + φ ) + jA sin(ω0t + φ ) iz česar je vidna povezava s harmoničnim signalom: x(t ) = A ⋅ cos(ω0 ⋅ t + φ ) = ℜ{x (t )} Ko kompleksni eksponentni signal zapišemo nekoliko drugače, in sicer tako da ločimo časovno odvisni del, pridemo do naslednjega zapisa: x (t ) = Ae j (ω0 t +φ ) = Ae jω0 t e jφ = Ae jφ e jω0t = Xe jω0 t , kjer X imenujemo kompleksna amplituda oziroma fazor. Opazimo lahko, da fazor predstavlja kazalec, ki se s časom vrti, hitrost vrtenja pa določa krožna frekvenca ω0 . Zato je kompleksni eksponentni signal poimenovan tudi kot rotirajoči fazor. Izkaže se, da je vsota harmoničnih signalov, ki imajo enako frekvenco, zopet harmoničen signal: N N ⎧N jφ k jω 0 t jφ jω t ⎫ jφ jω t A cos( ω t + φ ) = ℜ ( A e ) e = ℜ ⎨∑ ( Ak e k )e 0 ⎬ = ℜ Ae e 0 = A cos(ω0t + φ ) , ∑ ∑ k k k 0 k =1 k =1 ⎩ k =1 ⎭ Iz česar sledi, da lahko namesto seštevanja harmoničnih signalov seštevamo kar njihove fazorje. { } { Navodila in krajši nasveti za delo z Matlab-om so na zadnji strani. 1.) Podana imamo dva harmonična signala z enako krožno frekvenco ω0 : x1 = 3 ⋅ cos(ω0t + π3 ) x2 = 2 ⋅ sin(ω0t − π4 ) Predstavite ju kot eksponentna harmonična signala. } 2.) Zapišite fazorja v obeh oblikah zapisov (polarnem in kartezičnem), ter ju skicirajte. Izračunajte in skicirajte fazor vsote obeh harmoničnih signalov tako, da seštejete njuna fazorja. Im{z} Re{z} 3.) Zapišite vsoto obeh harmoničnih signalov kot nov harmonični (kosinusni) signal – uporabite fazor vsote, ki ste ga izračunali v prejšni nalogi. 4.) Z uporabo Matlab-a simulirajte oba harmonična signala, in sicer na intervalu [− T0 ,T0 ] . Frekvenca signalov naj bo 10Hz. Uporabite vsaj sto točk. Vsoto izračunajte tako, da v Matlab-u seštejete niza, ki predtavljata harmonična signala. V Matlab-u narišite vsoto teh signalov, ter skicirajte. x(t) t a) Iz slike odčitajte amplitudo vsote: ____________ Ali se ujema z vrednostjo, izračunano v nalogi 3) ? b) Iz slike odčitajte časovni zamik kosinusnega signala ter iz njega izračunajte fazo: ____________ Uporabite povezavo med faznim premikom in časovnim zamikom: φ = −2π ⋅ f 0 ⋅ t z , kjer je f 0 frekvenca harmoničnega signala, t z pa časovni zamik. Ali se fazni premik ujema z vrednostjo, izrčunano v nalogi 3) ? Matlab – navodila in nasveti za vajo Matlab bomo pri vajah uporabili kot orodje za simulacijo. Pomembno je vedeti, da Matlab dela z diskretnimi signali. Prednosti Matlaba so v širokem naboru transformacij in vizualizaciji signalov. V nadaljevanju je predtavljenih nekaj postopkov in navodil za delo z Matlab-om, ki vam bodo v pomoč pri izvajanju vaje. Vnašanje spremenljivk in nizov: Spremenljivko določimo tako, da vpišemo njeno ime in ji priredimo vrednost: >> f=10 Na zavihku 'workspace' lahko vidimo spremenljivko, njeno vrednost in tip (int, double, float ...). Pozor: Matlab uporablja decimalno piko in ne decimalne vejice kot je sicer v naši navadi. Če spremenljivka predstavlja niz (ali vektor) ji vrednost priredimo na naslednji način: >> x=[3,2,1,2,3] Če se vrednosti v nizu spreminjajo linearno (enakomerno padajo ali naraščajo), lahko niz sestavimo še hitreje: >> t=[0:0.1:2] kjer prvo število predstavlja začetno vrednost v nizu, zadnje število končno vrednost, število na sredi pa korak – za koliko se poveča/zmanjša vrednost v naslednjem koraku. Nizi so indeksirani tako, da ima prva vrednost indeks 1. Zato vrednost iz niza preberamo tako, da podamo njen indeks v nizu. Na primer, če želimo prebrati drugo vrednost, napišemo: >> x(2) Na podoben način lahko tudi spreminjamo posamezno vrednost v že obstoječem nizu: >> x(2)=5 Računske operacije Poleg pri prejšni nalogi spoznanih osnovnih računskih operacij bomo sedaj potrebovali tudi: kvadrirnje, korenjenje, sinus, kosinus, arcustangens. >> x^2 kvadriranje >> x^0.5 korenjenje >> sin(x) sinus (radiani!) >> cos(x) kosinus (radiani!) >> atan(x) arcustangens (radiani!) Risanje grafov Osnovna funkcija za risanje grafov v Matlab-u je plot(...). Ima več načinov uporabe, odvisno od tega, kaj želimo doseči. >> plot(x) Izriše niz x, kjer so na vodoravni osi podani indeksi vrednosti iz niza x. Od leve proti desni se izrisuje črta, ki povezuje vrednosti podane v nizu. >> plot(t.*t, t) Izriše niz t.*t, kjer so na vodoravni osi podane vrednosti iz niza t. >> plot(t.*t, t, 'r') Izriše niz t.*t, kjer so na vodoravni osi podane vrednosti iz niza t. Črta, ki povezuje vrednosti je rdeče (r – red) barve. Modro barvo bi dosegli z vrednostjo 'b' (blue), zeleno pa 'g' (green). Če želimo na grafu videti koordinatno mrežo, uporabimo: >> grid on Pomoč Še več možnosti uporabe funkcije plot(...) in drugih funkcij v Matlab-u dobite z ukazom help, kateremu sledi ime funkcije: >> help plot
© Copyright 2024