Top Banner
SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje : problemi 7.1 - 7.20 Mentori: Studenti: Prof. dr. Radomir Stanković Aleksa Kocić 14340 Mr. Miloš Radmanović Željko Laković 14349 Jelena Ljubenović 14357 Niš, 2015.
77

SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

Mar 23, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

SEMINARSKI RAD

Predmet: Osnovi analize signala i sistema

Tema: Semplovanje : problemi 7.1 - 7.20

Mentori: Studenti:

Prof. dr. Radomir Stanković Aleksa Kocić 14340

Mr. Miloš Radmanović Željko Laković 14349

Jelena Ljubenović 14357

Niš, 2015.

Page 2: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 2 -

Sadržaj

1.Uvod …………………………………………………….…………………....3

2.Teorema o semplovanju ……………………………………………………..4

3.Semplovanje povorkom impulsa……………………………………………...4

4.Rekonstrukcija signala uz pomoć Zero-order hold…………………………...8

5.Interpolacija signala …………………………….…………………………..10

6.Aliasing…...…………………………………….…………………………...13

7.Diskretna obrada kontinualnog signala …………..……………………...…14

8.Problemi 7.1 – 7.20 ………………………………………………………...21

9.Literatura……………………………………………………………………78

Page 3: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 3 -

Uvod

U okviru ovog seminarskog rada bavićemo se proučavanjem teorijske

osnove vezane za semplovanje i pisati programe u SCILAB-u za rešavanje

problema 7.1-7.20.

Pored samog koncepta semplovanja bavićemo se i rekonstrukcijom

kontinualnog vremenskog signala iz njegovih uzoraka. Identifikovaćemo uslove

pod kojima kontinualni vremenski signal može biti tačno rekonstruisan iz svojih

uzoraka i proučavati posledice kada ovi uslovi nisu ispunjeni, i konačno,

proučićemo procesiranje kontinualnog vremenskog signala koji je bio

konvertovan u diskretni vremenski signal uz pomoć semplovanja. Kako bi sve to

bilo moguće neophodno je najpre upoznati se sa teorijom semplovanja i nekim

osobinama kontinualnih signala.

Pod određenim okolnostima, kontinualni vremenski signal može biti

nadoknadiv usled poznavanja njegovih vrednosti u tačkama koje su jednako

raspoređene u vremenu, tj. usled poznavanja njegovih uzoraka. Ova osobina sledi

iz osnovnog rezultata teoreme o semplovanju i od izuzetnog je značaja.

Jedan od primera gde je ova osobina eksploatisina su slike koje se

pomeraju. One se sastoje od sekvence individualnih ramova, gde svaki od tih

ramova predstavlja trenutni vremenski uzorak scene koja se kontinualno menja.

Kada se ovi uzorci vide u sekvenci sa dovoljno brzom stopom kretanja, mi

doživljavamo tačnu reprezentaciju originalne scene sa kontiunalnim kretanjem.

Slika 1. Primer ulaznog signala koji u zavisnosti od stope semplovanja daje različit signal na

izlazu

Page 4: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 4 -

Teorema o semplovanju

Teorema o semplovanju je od ogromnog značaja, jer služi kao prekretnica

između kontinualnih i diskretnih vremenskih signala. U osnovi, u odsustvu bilo

kakvih dodatnih uslova ili informacija, ne možemo očekivati da signal može biti

jedinstveno predstavljen preko sekvence jednako raspoređenih uzoraka. Na

primer, na slici 2 prikazujemo tri različita kontinualna vremenska signala, od kojih

svi imaju iste vrednosti u celobrojnim umnošcima od T, odnosno:

x1(kT) = x2(kT) = x3(kT).

Slika 2. Tri kontinualna vremenska signala sa identičnim vrednostima celobrojnog umnoška T

Očigledno je da beskonačan broj signala može da generiše dati set uzoraka.

Međutim, ako signal ima ograničen frekventni opseg, tj. ako je njegova Furijeova

transformacija nula izvan konačnog opsega frekvencija i ako su uzeti uzorci

dovoljno blizu u zavisnosti od najviše frekvencije prisutne u signalu, onda uzorci

jedinstveno određuju signal, i možemo ga perfektno rekonstruisati. Ovaj rezultat,

poznat kao teorema o semplovanju i od velike je važnosti u praktičnoj primeni

metoda analize signala i sistema.

Semplovanje povorkom impulsa

U cilju razvijanja teoreme o semplovanju, potreban nam je pogodan put za

predstavljanje semplovanja kontinualnog vremenskog signala u redovnim

intervalima. Koristan način za ovo je kroz korišćenje periodične povorke impulsa

pomnožene kontinualnim vremenskim signalom x(t) koji želimo da semplujemo.

Ovaj mehanizam, poznatiji kao semplovanje povorkom impulsa, prikazan je na

slici 3.

Page 5: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 5 -

Periodična povorka impulsa p(t) naziva se funkcijom semplovanja, perioda

T periodom semplovanja i ωs=2π/T frekvencijom semplovanja. To je osnovna

frekvencija impulsa p(t). U vremenskom domenu važi da je :

xp(t) = x(t)p(t),

gde je:

p(t) =∑ 𝛿+∞𝑛=∞ (𝑡 − 𝑛𝑇).

Zbog osobine semplovanja jediničnog impulsa znamo da množenje

x(t) sa jediničnim impulsom sempluje vrednost signala u tački u kojoj se impuls

nalazi, tj. x(t)δ(t-t0)=x(t0) δ(t-t0). Primenom ovoga na jednačinu (1), vidimo, kao

što je prikazano na slici 3, da je xp(t) povorka impulsa čije su amplitude jednake

uzorcima x(t) u intervalima na razmaku T, što je,

xp(t) =∑ 𝑥(𝑛𝑇)𝛿+∞

𝑛=∞(t − nT).

Slika 3. Semplovanje povorkom impulsa

Page 6: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 6 -

Iz osobine multiplikacije znamo da je:

Xp(jω) = 1

2𝜋 [X(jω) * P(jω)],

a određivanjem Furijeove transformacije povorke impulsa dobijamo:

P(jω) = 2𝜋

𝑇 ∑ 𝛿(𝜔 − 𝑘𝜔𝑔).

+∞

𝑘=∞

Budući da konvolucija sa impulsom jednostavno pomera signal, [

tj. X(jω)*δ(ω-ω0) = X(j(ω- ω0)) ], sledi da je:

𝑋𝑝(𝑗𝜔) = 1

𝑇∑ 𝑋(𝑗(𝜔 − 𝑘𝜔𝑠+∞𝑘=−∞ )).

Odnosno, X(jω) je periodična funkcija po ω koja se sastoji od superpozicije

pomerenih kopija X(jω), skaliranih 1/T puta, kao što je prikazano na slici 4. Na

slici 4c je ωM < ( ωs - ωM), a to je ekvivalentno sa ωs > 2ωM, pa stoga ne postoji

preklapanje između pomerenih kopija X(jω), dok na slici 4d, gde je ωs < 2ωM,

postoji preklapanje.

Za slučaj ilustrovan na slici 4c, X(jω) je verno prikazan preko celobrojnih

umnožaka frekvencije semplovanja. Samim tim, ako je ωs > 2ωM, x(t) može biti

tačno dobijeno iz xp(t) pomoću niskopropusnog filtra sa pojačanjem T i graničnom

frekvencijom većom od ωM a manjom od ωs - ωM, kao što je prikazano na slici 4.

Slika 4. Efekat semplovanja u frekventnom domenu: na slici a) prikazan je spektar

originalnog signala, b) spektar funkcije semplovanja, c) je spektar semplovanog signala sa frekvencom

ωs > 2ωM i d) spektar semplovanog signala ωs < 2ωM.

Page 7: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 7 -

Ovaj osnovni rezultat, iz teoreme semplovanja, može biti predstavljen na

sledeći način: nNeka je x(t) ograničeni signal sa X(jω)=0, za |ω|>0. Tada je x(t)

jedinstveno određen svojim uzorcima x(nT), n=...-3,-2,-1,0,1,2,3... ako važi:

ωs>2ωM ,

gde je:

ωs=2π/T.

Dakle, x(t) možemo rekonstruisati sledećim procesom: generisanjem

periodične povorke impulsa u kome su amplitude uzastopnh impulsa vrednosti

uzastopnih uzoraka. Ova povorka impulsa se zatim obrađuje kroz idealni

niskopropusni filtar sa pojačanjem T i graničnom frekvencijom većom od ωM, a

manjom od ωs-ωM. Rezultujući signal je tada tačno jednak x(t).

Slika 5. Prikazan je sistem za semplovanje i rekonstrukciju

Slika 6. Dobijanje kontinualnog vremenskog i frekventnog signala od njegovih uzoraka

korišćenjem idealnog niskopropusnog filtra.

Page 8: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 8 -

Idealni filtri se ne koriste u praksi, već oni bivaju zamenjeni

neidealnim filtrom H(jω) za koji mora da važi : H(jω) = 1 za |ω| < ωM, i H(jω)

= 0 za |ω| > ωS - ωM . Medjutim ta zamena idealnog filtra neidealnim će dovesti

do nekog neslaganja između x(t) i xr (t) , a samim tim i izmedju X(jω) i Xr(jω). U

nastavku ovog rada podrazumevaćemo dostupnost i korišćenje idealnih filtara, uz

napomenu da u praksi ovakav filtar mora biti zamenjen neidealnim filtrom.

Rekonstrukcija signala

Zero-order hold

Teorema o semplovanju, koju je najlakše objasniti preko semplovanja

povorkom impulsa, pokazuje nam da je ograničeni signal jedinstveno

predstavljen preko svojih uzoraka.

U praksi uski impulsi velikih amplituda su teški za generisanje i prenos.

Mnogo je lakše generisati semplovani signal x0(t) tako što signal x(t) propustimo

kroz zero-order hold sistem. Ovaj sistem uzorkuje signal u određeninm trenucima

i zadržavaju tu vrednost sve do uzimanja sledećeg uzorka.

Slika 7. Propuštanje signala x(t) kroz Zero-order hold

Rekonstrukcija signala se može izvršiti niskofrekventnim filtrom. Da bismo

dobili traženu karakteristiku filtra, primetimo da se izlaz može generisati

semplovanjem povorkom impulsa praćenim LTI sistemom sa pravougaonim

impulsom, kao što je prikazano na slici 8. LTI (Linear Time Invariant) sistem je

okarakterisan svojim impulsnim odzivom h(t) koji predstavlja odziv sistema kada

se na njegov ulaz dovede Dirakov impuls.

Page 9: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 9 -

Slika 8. Izlaz dobijen semplovanjem povorke impulsa sa pravougaonim impulsom

Da bismo rekonstruisali 𝑥(𝑡) iz 𝑥0(𝑡), propustićemo 𝑥0(𝑡) kroz LTI sistem

sa impulsnim odzivom ℎ𝑟(𝑡) i frekventnim odzivom 𝐻𝑟(𝑗𝜔). Ovakav sistem

prikazan je na slici 9.

Slika 9. Propuštanje signala x0(t) kroz LTI sistem sa impulsnim odzivom ℎ𝑟(𝑡) i frekventnim

odzivom 𝐻𝑟(𝑗𝜔)

Ukoliko želimo da odredimo 𝐻𝑟(𝑗𝜔) tako da važi 𝑥(𝑡) = 𝑟(𝑡), neophodno

je da uporedimo ovaj i sistem sa slike 5 vidimo da je 𝑥(𝑡) = 𝑟(𝑡) ako kaskadna

kombinacija ℎ0(𝑡) i ℎ𝑟(𝑡) čini idealni niskofrekventni filtar 𝐻(𝑗𝜔) sa slike 5.

U mnogim situacijama, izlaz nakon primene zero-order hold tehnike se

smatra adekvatnom aproksimacijom originalnog signala, bez dodatnog filtriranja

Page 10: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 10 -

i u suštini predstavlja moguću, iako veoma grubu interpolaciju između uzoraka.

U nastavku ćemo detaljnije proučiti koncept rekonstrukcije signala od uzoraka u

procesu interpolacije.

Interpolacija

Interpolacija je procedura za rekonstrukciju funkcije. Ona podrazumeva

uklapanje kontinualnog signala u skup uzoraka, pri čemu se teži da to uklapanje

bude približno ili potpuno tačno. Jedan od korisnih oblika interpolacije je linearna

interpolacija, kod koje se uzastopne tačke uzoraka povezuju pravom linijom, kao

na slici 10. Postoje i drugi vidovi interpolacija u kojima se za povezivanje tačaka

umesto linearne koriste neke druge matematičke funkcije. Jedna prosta procedura

interpolacije je i zero-order hold.

Slika 10. Linearna interpolacija između tačaka uzoraka zavisi od broja uzoraka:

a) 12 tačaka, b) 36 tačaka.

Precizna interpolacija se može sprovesti između tačaka semplovanja.

Korišćenjem niskofrekventnog filtra ograničeni signal čiji su uzorci dovoljno

bliski, može biti tačno rekonstruisan. Rekonstrukcija signala 𝑥(𝑡) procesom

interpolacije postaje evidentna ako posmatramo efekat niskofrekventnog filtra u

vremenskom domenu. Konkretno, izlaz je jednak :

𝑥𝑟(𝑡) = 𝑥𝑝(𝑡) ∗ ℎ(𝑡),

Ako xp(t) zamenimo sa:

Page 11: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 11 -

𝑥𝑝(𝑡) = ∑ 𝑥(𝑛𝑇)𝛿(𝑡 − 𝑛𝑇)∞𝑛=−∞

dobićemo:

𝑥𝑟(𝑡) = ∑ 𝑥(𝑛𝑇)ℎ(𝑡 − 𝑛𝑇)∞𝑛=−∞

Ovako dobijena formula predstavlja interpolacionu formula i opisuje kako

možemo da uklopimo kontinualnu krivu između tačaka semplovanja 𝑥(𝑛𝑇). Za

idelani niskofrekventni filtar 𝐻(𝑗𝜔) sa slike 5 važi:

ℎ(𝑡) = 𝜔𝑐𝑇𝑠𝑖𝑛(𝜔𝑐𝑡)

𝜋𝜔𝑐𝑡,

odakle sledi:

𝑥𝑟(𝑡) = ∑ 𝑥(𝑛𝑇)𝜔𝑐𝑇𝑠𝑖𝑛(𝜔𝑐(𝑡−𝑛𝑇))

𝜋𝜔𝑐(𝑡−𝑛𝑇)∞𝑛=−∞

Rekonstrukcija po prethodnoj formuli, sa 𝜔𝑐 = 𝜔𝑠/2 ilustrovana je na slici

11. Slika 11a predstavlja originalni ograničeni signal 𝑥(𝑡), 7b predstavlja 𝑥𝑝(𝑡),

povorku uzoraka, dok je na slici 11c prikazana superpozicija pojedinačnih članova

sume iz 𝑥𝑟(𝑡).

Slika 11. Idealna interpolacija korišćenjem funkcije semplovanja: a) ograničen signal x(t), b)

povorka impulsa uzoraka x(t), c) idealna ospegom ograničena interpolacija u kojoj je povorka impulsa

zamenjena superpozicijom funkcije semplovanja

Page 12: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 12 -

Interpolacija korišćenjem idealnog niskofrekventnog filtra obično se naziva

interpolacija ograničenog opsega, s obzirom na to da implementira preciznu

rekonstrukciju ukoliko je signal ograničen i frekvencija semplovanja ispunjava

uslove teoreme semplovanja.

U mnogim slučajevima preporučljivo je koristiti jednostavniju

interpolacionu funkciju, odnosno manje precizan, ali jednostavniji filtar. Jedna od

jednostavnijih funkcija je i zero-order hold, mada, u slučaju njene nedovoljne

preciznosti , možemo koristiti i druge strategije, poznate kao zadržavanja višeg

reda.

Primer takve strategije je linearna interpolacija, ili first-order hold. Ona se

može posmatrati kao interpolacija u formi sa slike 5 gde je h(t) trougaona funkcija,

što je prikazano na slici 12.1 i 12.2. Odgovarajuća prenosna funkcija takođe je

prikazana na slici i jednaka je

𝐻(𝑗𝜔) = 1

𝑇[sin (

𝜔𝑇

2)

𝜔/2]

−2

Slika 12.1. Linearna interpolacija (first-order hold) kao povorka impulsa praćena konvolucijom sa

trougaonim impulsnim odzivom; a) sistem za semplovanje i rekonstrukciju, b) povorka impulsa

uzoraka, c) impuslni odziv koji predstavlja first-order hold.

Page 13: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 13 -

Slika 12.2. Linearna interpolacija (first-order hold) kao povorka impulsa praćena

konvolucijom sa trougaonim impulsnim odzivom; d) first-order hold primenjen na semplovani signal,

e) komparacija funkcije prenosa indealnog interpolacionog filtera i first-order hold-a.

Aliasing

Pod aliasing-om se podrazumeva preklapanje spektara koje je posledica

nedovoljne učestalosti uzorkovanja nekog analognog signala. To je pojam za

greške nastale sažimanjem kontinualnog signala u diskretne uzorke, nastojeći da

pružimo iste informacije. Najčešće se govori o aliasingu nastalom pretvaranjem

kontinuiranog analognog u digitalni signal.

U prethodnim odeljcima ovog poglavlja, predpostavljano je da je

frekvencija semplovanja dovoljno velika da bi zadovoljila uslove teoreme o

semplovanju odnosno uslov Nikvistovog kriterijuma. Kada je ωS > 2 ωM, spektar

semplovanog signala se sastoji od skaliranih duplikata spektra x(t) i ovo postavlja

osnove teoreme o semplovanju.

Kada ωS < 2ωM, tada X(jω), odnosno spektar signala x(t), nije vise

repliciran u Xp(jω) i samim tim vise nije moguce izvršiti njegov rekonstrukciju

korišćenjem niskofrekventnog filtra. Ovaj efekat po kome dolazi do poklapanja

susednih spektara se naziva aliasing i mi ispitujemo njegove posledice. Očigledno

je da kada izvršimo rekonstrukciju signala na signal sa frekvencijom ωS < 2ωM,

rekonstuisani signal xr(t) neće biti jednak početnom.

Page 14: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 14 -

Slika 13. Posledice aliasing-a

Medjutim, signal koji je rekonstruisan koristeći ograničenu interpolaciju

će uvek biti jednak semplovanim odmercima, dakle, za bilo koje ωS važi:

xr( nT ) = x( nT ), n = 0,±1,±2,…

Važno je naznačiti da teorema o semplovanju ekplicitno zahteva da je

frekvencija semplovanja veća od dvostruke najveće frekvencije u signalu, a ne da

je veća ili jednaka od dvostruke najvece frekvencije. Dakle ne sme biti jednaka.

Diskretna obrada kontinualnog signala

U mnogim aplikacijama, postoje značajne prednosti pri obradi kontinualnih

signala, ako ih prvo prebacimo u diskretni oblik, i posle diskretne obrade, vratimo

ga u kontinualni oblik. Obrada diskretnog signala može biti obavljena uz pomoć

računara za opšte ili za specijalne namene, sa mikroprocesorima, ili sa bilo kojim

od uređaja koji su specijalno orijentisani ka obradi diskretnih signala.

U opštem slučaju, ovaj pristup obradi kontinualnih signala, može biti viđen

kao sekvencijalno izvršavanje tri operacije, kao što je prikazano na sledećoj šemi,

Page 15: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 15 -

gde xc(t) i yc(t) kontinualni signali i 𝑥𝑑[𝑛] i 𝑦𝑑[𝑛] su dogovarajući diskretni

signali. Celokupan sistem je, naravno, kontinulan u smislu da su mu i izlaz i ulaz

kontinualni signali.

Teoretska osnova za pretvaranje kontinualnog signala u diskretni i njegova

rekonstrukcija iz diskretne reprezentacije leži u teoremi o semplovanju, kao što

je diskutovano na početku ovog poglavlja. Iako je proces periodičnog

semplovanja sa frekvenicjom semplovanja u skladu sa teoremom o semplovanju,

kontinualni signal 𝑥𝑐(𝑡) je tačno predstavljen sekvencom trenutnih vrednosti

odmeraka 𝑥𝑐(𝑛𝑇), što znači da je diskretna sekvenca 𝑥𝑑[𝑛] povezana sa 𝑥𝑐(𝑡) na

sledeći način:

𝑥𝑑[𝑛] = 𝑥𝑐(𝑛𝑇)

Slika 14. Prikaz pretvaranja kontinualnog signala u diskretni i njegova rekonstrukcija iz

diskretne reprezentacije

Postupak pretvaranja signala 𝑥𝑐(𝑡) u 𝑥𝑑[𝑛] je prikazan na slici 14 i naziva

se pretvaranje kontinualnog vremenskog signala u diskretni, ili kraće K/D. Obrnut

proces, odnosno vraćanje u kontinualni oblik, naziva se pretvaranje diskretnog

vremenskog signala u kontinualni, ili kraće, D/K. Iz D/K operacije se dobija

kontinualni vremenski signal 𝑦𝑐(𝑡) koji odgovara diskretnom vremenskom

signalu 𝑦𝑑[𝑛] na sledeći način:

𝑦𝑑[𝑛] = 𝑦𝑐(𝑛𝑇)

Na slici 15 je prikazan način obeležavanja. U sistemima kao sto su digitalni

računari i digitalni sistemi, gde su diskretni signali predstavljeni u digitalnoj

Page 16: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 16 -

formi, uređaj koji se najčešće koristi za K/D pretvaranje zove se analogno-

digitalni (A-D) pretvarač, a uredjaj koji se koristi za D/K pretvaranje naziva se

digitalno-analogni (D-A) pretvarač.

Slika 15. Obeležavanje kontinualno-diskretne konverzije i diskretno-kontinualne konverzije

Da bismo još više razumeli odnos između kontinulanog signala 𝑥𝑐(𝑡) i

njegovovog diskretnog oblika 𝑥𝑑[𝑛], korisno je predstaviti K/D kao periodično

semplovanje praćeno mapiranjem povorke impulsa u sekvencu. Ova dva koraka

su prikazana na slici 16.

U prvom koraku, u predstavljanju procesa odmeravanja, povorka impulsa

xp(t) odgovara sekvenci impulsa čije amplitude odgovaraju uzorcima signala

𝑥𝑐(𝑡) sa periodom jednakom periodi semplovanja T. Prilikom pretvaranja iz

povorke imulsa u sekvencu koja je diskretna u vremenu, mi pribavljamo 𝑥𝑑[𝑛],

koja odgovara istoj sekvenci odmeraka od 𝑥𝑟(𝑡) ali sa jedinstvenim razmakom u

pogledu nove nezavisne promenljive n.

Prema tome, u suštini, pretvaranje iz povorke impulsa odmeraka u povorku

impulsa odmeraka diskretne u vremenu može da se posmatra kao normalizacija u

vremenu. Ova normalizacija prilikom pretvaranja 𝑥𝑝(𝑡) u 𝑥𝑑[𝑛] je prikazana pod

b) i c) na slici 16, gde su 𝑥𝑝(𝑡) i 𝑥𝑑[𝑛], resepektivno ilustrovani za periode

semplovanja respektivno 𝑇 = 𝑇1 i 𝑇 = 2𝑇1.

Takođe, poželjno je ispitati faze obrade na sledećoj slici, u frekventnom

domenu. S obzirom da cemo da se bavimo Furijeovim transformacijama i u

kontinualnom i u diskretnom vremenu, u ovom odeljku samo razlikujemo

kontinualno-vremensku i diskretno-vremensku frekvenciju promenljivih,

koristeći 𝜔 u kontinualnom vremenu i Ω u diskretnom vremenu.

Page 17: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 17 -

Na primer, kontinualna Furijeova transformacija signala 𝑥𝑐(𝑡) i 𝑦𝑐(𝑡) je

𝑋𝑐(𝑗𝜔) i 𝑌𝑐(𝑗𝜔) respektivno, dok je diskretna vremenska Furijeova

transformacija signala 𝑥𝑑[𝑛] i 𝑦𝑑[𝑛] , 𝑋𝑑(𝑒𝑗Ω) i 𝑌𝑑(𝑒

𝑗Ω) respektivno.

Slika 16. Na slici je prikazano: a) pregled sistema za semplovanje praćen pretvaranjem u

diskretan signal, b) pregled sistema ya semplovanje praćen pretvaranjem u diskretan signal, c)

izlazna sekvenca za dve različite stope semplovanja.

Za početak, izrazimo 𝑋𝑝(𝑗𝜔), kontinualno-vremensku Furijeovu

transforamaciju signala xp(t):

𝑥𝑝(𝑡) = ∑ 𝑥𝑐(𝑛𝑇)𝛿(𝑡 − 𝑛𝑇)∞

𝑛=−∞

i kako je tranformacija 𝛿(𝑡 − 𝑛𝑇) zapravo 𝑒−𝑗𝜔𝑇, sledi:

𝑋𝑝(𝑗𝜔) = ∑ 𝑥𝑐(𝑛𝑇)𝑒−𝑗𝜔𝑇∞

𝑛=−∞ (*)

Page 18: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 18 -

Razmotrimo sada Furijeovu transformaciju signala 𝑥𝑑[𝑛]:

𝑋𝑑(𝑒𝑗Ω) = ∑ 𝑥𝑑[𝑛]𝑒

−𝑗Ω𝑛∞

𝑛=−∞

Ili koristeći jednačinu (*)

𝑋𝑑(𝑒𝑗Ω) = ∑ 𝑥𝑐(𝑛𝑇)𝑒

−𝑗Ω𝑛∞

𝑛=−∞

Vidimo da su 𝑋𝑑(𝑒𝑗Ω) i 𝑋𝑝(𝑗𝜔) povezani preko:

𝑋𝑑(𝑒𝑗Ω) = i 𝑋𝑝(𝑗Ω/𝑇)

Takođe, podsećamo da je:

𝑋𝑝(𝑗𝜔) =1

𝑇∑ 𝑋𝑐(𝑗(𝜔 − 𝑘𝜔𝑥)

𝑛=−∞)

Na kraju,

𝑋𝑑(𝑒𝑗Ω) =

1

𝑇∑ 𝑋𝑐 (

𝑗(Ω−2𝑘𝜋)

𝑇)

𝑛=−∞

Page 19: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 19 -

Slika 17. Na slici je prikazan odnos između 𝑋𝑐(𝑗𝜔), 𝑋𝑝(𝑗𝜔) i 𝑋𝑑(𝑒𝑗Ω) za dve različite frekvencije

semplovanja.

Odnos između 𝑋𝑐(𝑗𝜔), 𝑋𝑝(𝑗𝜔) i 𝑋𝑑(𝑒𝑗Ω) je prikazan na slici 17. za dve

različite frekvencije semplovanja. Ovde je 𝑋𝑑(𝑒𝑗Ω) na manjoj frekvenciji od

𝑋𝑝(𝑗𝜔) i periodičan je u frekventom domenu sa periodom od 2π. Periodičnost je

osobina svake Furijeove transformacije diskretnog signala. Spektar 𝑥𝑑[𝑛] je

povezan sa 𝑥𝑐(𝑡) periodičnom rekonstukcijom predstavljenom na prethodnoj

slici, praćenu linearno frekvencijskim skaliranjem.

Periodična replikacija je posledica prvog koraka u procesu konverzije i

zove se povorka impulsa semplovanja. Linearno frekventno skaliranje može

neformalno da se nazove posledica normalizacije u vremenu predstavljena

konverzijom povorke impulsa 𝑥𝑝(𝑡) u diskretnu vremensku sekvencu 𝑥𝑑[𝑛].

Kao što vidimo na sledećoj ilustraciji, prilikom prolaska kroz diskretni

vremenski sistem, rezultujuća sekvenca je prebačena nazad u kontinualno

vremenski signal. Posebno, od sekvence 𝑦𝑑[𝑛], može biti generisana kontinualna

povorka impulsa 𝑦𝑝(𝑡). Ponovno dobijanje kontinualnog vremenskog signala

𝑦𝑐(𝑡) od njegove povorke impulsa se postiže niskopropusnim filtriranjem kao sto

je prikazano na slici 18.

Page 20: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 20 -

Slika 18. D/K pretvaranje

Razmotrimo sistem predstavljen na sledećoj slici. Ukoliko je diskretni

sistem identički sistem (𝑥𝑑[𝑛] = 𝑦𝑑[𝑛] ), tada će, ukoliko pretpostavimo da su

ispunjeni uslovi teoreme semplovanja ili Nikvistov kriterijum, ceo sistem biti

identički sistem. Karakteristika ovog sistema je impulsni odziv 𝐻𝑑(𝑒𝑗Ω).

Sistem na slici 19 je zapravo ekvivalentan kontinualnom LTI sistemu sa

impulsnim odzivom 𝐻𝑐(𝑗ω) koji je povezan sa diskretnim impulsnim odzivom

𝐻𝑑(𝑒𝑗Ω) na sledeći način:

𝐻𝑐(𝑗ω) = 𝐻𝑑(𝑒

𝑗ωτ), |𝜔| >𝜔𝑠

2

0, |𝜔| <𝜔𝑠

2

Slika 19. predstavljen je izgled opšteg sisema za filtriranje kontinualnog

vremenskog signala koristeći diskretni filter.

Page 21: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 21 -

Problemi 7.1 – 7.20

7.1)

Signal sa realnim vrednostima x(t) je jedinstveno određen svojim uzorcima kada

je frekvencija semplovanja ωs = 10,000π. Za koje vrednosti ω važi da je X(jω) = 0?

Rešenje:

Na osnovu Nikvistove teoreme semplovanja, znamo da samo ako je X(jω) = 0 za

|ω| > ωs/2 signal će moći da se rekonstruiše od njegovih uzoraka. Zaključujemo

X(jω) = 0 za |ω| > 5000π.

Scilab kod:

ws = 10000*%pi;

w = ws/2;

printf("X(jw) ce biti jednako 0 za |w| > %f", w);

7.2)

Kontinualni signal x(t) idealnog niskofrekventnog filtera sa graničnom

frekvencijom ωc = 1,000π. Ako se na signal x(t) dovede povorka impulsa, koja od

datih perioda semplovanja obezbeđuje da signal x(t) možemo rekonstruisati na

osnovu njegovih uzoraka koristeći odgovarajući niskopropusni filter?

a) T = 0,5 x 10-3

b) T = 2 x 10-3

c) T = 10-4

Rešenje:

Na osnovu Nikvistove teoreme, znamo da frekvencija semplovanja u ovom

slučaju mora da bude najmanje ωs = 2,000π. Drugim rečima perioda semplovanja

treba da bude najviše T = 2π/ωs = 1 x 10-3. Očito, jedino a) i c) ispunjavaju ovaj

uslov.

Page 22: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 22 -

Scilab kod:

wc = 1000*%pi;

ws = 2*wc;

T = 2*%pi/ws;

Ta = 0.5*10.^-3;

Tb = 2*10.^-3;

Tc = 10.^-4;

if(Ta < T) then printf("Ta zadovoljava uslov.");..

else printf("Ta ne zadovoljava uslov. ");

end;

if(Tb < T) then printf("Tb zadovoljava uslov.");

else printf("Tb ne zadovoljava uslov.");

end;

if(Tc < T) then printf("Tc zadovoljava uslov.");..

else printf("Tc ne zadovoljava uslov.");

end;

7.3)

Frekvencija koja, po teoremi o semplovanju, mora biti prekoračena od strane

frekvencije semplovanja naziva se Nikvistova stopa. Odretiti Nikvistovu stopu

koja odgovara svakom od sledećih signala:

a) x(t) = 1 + cos(2,000πt) + sin(4,000 πt)

b) x(t) = sin(4,000 πt)/πt

c) x(t) = (sin(4,000 πt)/πt)2

Rešenje:

a) Možemo lako da pokažemo da je X(jω) = 0 za |ω| > 4,000π. Zbog toga,

Nikvistova stopa za ovaj signal je ωN = 2(4,000π) = 8,000π.

Scilab kod

fs = 8000;//po nikvistovom kriterijumu

t = 0 : 1/fs : 1 - 1/fs;

f1 = 1000;//frekvenicja prvog signala

f2 = 2000;//frekvencija drugog signala

x = 1 + cos(2*%pi*f1*t) + sin(2*%pi*f2*t);

X = fft(x);

plot(round(abs(X)));//Furijeova transformacija daje kompleksne

vrednosti, spektar je periodican

Page 23: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 23 -

//zbog toga sto je sektar simetrican, mozemo posmatrati samo jednu

polovinu

//po nikvistu za |f| > 2000 mora da je X = 0

X = round(abs(X));

count=0;

for i = 2002 : 5001 //uzimamo veci interval da bi ispitali// na 2001 je

if(X(i) == 0) //diskretna vrednost

count = count + 1;

else printf("Ne vazi nikvistova stopa!\n");

break;

end

end

if(count == 3000)//vrednosti u nizu do 5000, koje moraju da budu

jednake 0 da

printf("Vazi nikvistova stopa za zadatu vrednost!\n"); //bi vazila

nikvistova stopa

end

printf("Nikvistova stopa je 8000Pi");

b) Znamo da je X(jω) pravougaoni impuls za koji važi X(jω) = 0 za |ω| >

4000π. Zato, Nikvistova stopa za ovaj signal je ωN = 2(4,000π) = 8,000π.

Scilab kod

fs = 4000;//po nikvistovom kriterijumu

t = 0 : 1/fs : 1 - 1/fs;

f = 2000;//frekvencija signala

for i = 1 : length(t)

if(t(i) <> 0)

x(i) = sin(2*%pi*f*t(i))/(%pi*t(i));

end

end;

for i = 1 : length(t)

if(t(i) <> 0)

X(i) = fft(x(i));

end

end;

X = round(abs(X));

count=0;

for i = 2002 : 3001 //uzimamo veci interval da bi ispitali// na 2001 je

Page 24: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 24 -

if(X(i) == 0) //diskretna vrednost

count = count + 1;

else printf("Ne vazi nikvistova stopa!\n");

break;

end

end

if(count == 1000)//vrednosti u nizu do 3001, koje moraju da budu

jednake 0 da

printf("Vazi nikvistova stopa za zadatu vrednost!\n"); //bi vazila

nikvistova stopa

end

printf("Nikvistova stopa je 8000Pi");

c) Iz tabela 4.1 i 4.2, znamo da je X(jω) konvolucija dva pravougaona impulsa,

od kojih je svaki 0 za |ω| > 4000π. Zbog toga, X(jω) = 0 za |ω| > 8000π, pa

je Nikvistova stopa za ovaj signal ωN = 2(8,000π) = 16,000π.

Scilab kod

fs = 8000;//po nikvistovom kriterijumu

t = 0 : 1/fs : 1 - 1/fs;

f = 2000;//frekvencija signala

for i = 1 : length(t)

if(t(i) <> 0)

x(i) = sin((2*%pi*f*t(i))/(%pi*t(i)))^2;

end

end;

for i = 1 : length(t)

if(t(i) <> 0)

X(i) = fft(x(i));

end

end;

X = round(abs(X));

count=0;

for i = 4001 : 8000 //uzimamo veci interval da bi ispitali// na 2001 je

if(X(i) == 0) //diskretna vrednost

count = count + 1;

else printf("Ne vazi nikvistova stopa!\n");

break;

end

Page 25: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 25 -

end

if(count == 4000)//vrednosti u nizu do 8000, koje moraju da budu

jednake 0 da

printf("Vazi nikvistova stopa za zadatu vrednost!\n"); //bi vazila

nikvistova stopa

end

printf("Nikvistova stopa je 16000Pi");

7.4)

Neka je x(t) signal sa Nikvistovom stopom ω0. Odrediti Nikvistovu stopu za svaki

od sledećih signala:

(a) x(t) + x(t-1)

(b) dx(t) / d(t)

(c) x²(t)

(d) x(t)*cos(ω0t)

Rešenje:

Ako x(t) ima Nikvistovu stopu ω0, onda je Furijeova transformacija X(jω) = 0 za

|ω| > ω0/2 :

a) Iz poglavlja 4:

𝑦(𝑡) = 𝑥(𝑡) + 𝑥(𝑡 − 1)𝐹𝑇↔ Y (jω) = X (jω) + 𝑒−𝑗𝜔𝑡 X (jω)

Na osnovu toga jedino možemo da garantujemo da je Y (jω) = 0 za|ω| > ω0/2.

Stoga, Nikvistova stopa za y(t) je takodje ω0.

Scilab kod

clear;

w0=2000*%pi;

f=100;

domain=w0/2;//opseg u kome je Yjw != 0

w=-3000*%pi:f:3000*%pi;

for i=1:length(w)

if(abs(w(i))>domain) then

Page 26: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 26 -

Yjw(i) = 0;

else Yjw(i)=sin(%i*w(i)) + exp(-(%i*w(i)))*sin(%i*w(i));

end;

end;

for i=1:length(w)

if(abs(w(i))>domain) then//proveravamo da li je Y(jw) = 0 za |w| >

w0/2

if(Yjw(i)==0) then

printf("Uslov je zadovoljen.");

break;

else printf("Uslov nije zadovoljen");

break;

end;

end;

end

title('X(jw)');

ylabel('X(jw)');

xlabel('w');

plot(w,Yjw,'blue');

b) Iz poglavlja 4:

𝑦(𝑡) = d𝑥(𝑡)

d𝑡 𝐹𝑇↔ 𝑌(𝑗𝜔) = 𝑗𝜔𝑋(𝑗𝜔)

Jedino možemo da garantujemo da je Y(jω) = 0 za |ω|> ω0/2. Stoga,

Nikvistova stopa za y(t) je takodje ω0.

Scilab kod

clear;

w0=2000*%pi;

f=100;

domain=w0/2;//opseg u kome je Yjw != 0

w=-3000*%pi:f:3000*%pi;

for i=1:length(w)

if(abs(w(i))>domain) then

Yjw(i) = 0;

else Yjw(i)=%i*w(i)*sin(%i*w(i));

end;

end;

for i=1:length(w)

if(abs(w(i))>domain) then

Page 27: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 27 -

if(Yjw(i)==0) then

printf("Uslov je zadovoljen.");

break;

else printf("Uslov nije zadovoljen");

break;

end;

end;

end

title('X(jw)');

ylabel('X(jw)');

xlabel('w');

plot(w,Yjw,'blue');

c) Iz poglavlja 4:

𝑦(𝑡) = 𝑥2(𝑡) 𝐹𝑇↔ 𝑌(𝑗𝜔) =

1

2π (𝑋(𝑗𝜔) ∗ 𝑋(𝑗𝜔))

Jedino možemo da garantujemo da je Y(jω) = 0 za |ω| > ω0. Stoga,

Nikvistova stopa za y(t) je 2ω0.

Scilab kod

clear;

w0=2000*%pi;

f=100;

domain=w0/2;//opseg u kome je Yjw != 0

w=-3000*%pi:f:3000*%pi;

for i=1:length(w)

Xjw(i)=(%i*w(i))^2;

end;

Yjw=convol(Xjw,Xjw)/(2*%pi);

for i=1:length(w)

if(abs(w(i))>domain) then

Yjw(i) = 0;

end;

end

for i=1:length(w)

if(abs(w(i))>domain) then//proveravamo da li je Y(jw) = 0 za |w| >

w0/2

if(Yjw(i)==0) then

Page 28: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 28 -

printf("Uslov je zadovoljen.");

break;

else printf("Uslov nije zadovoljen");

break;

end;

end;

end;

d) Iz poglavlja 4:

y(t) = 𝑥(𝑡)cos(ω0t ) 𝐹𝑇↔ 𝑌(𝑗𝜔) =

1

2(𝑋 (j (𝜔 – 𝜔0)) +

1

2 (𝑋 (j (𝜔 + 𝜔0))

Jedino možemo da garantujemo da je Y(jω) = 0 za |ω| > ω0 + ω0 /2. Stoga,

Nikvistova stopa za y(t) je 3ω0.

Scilab kod

clear;

w0=2000*%pi;

f=100;

domain=w0+w0/2;//opseg u kome je Yjw != 0

w=-5000*%pi:f:5000*%pi;

for i=1:length(w)

if(abs(w(i))>domain) then

Yjw(i) = 0;

else Yjw(i)=0.5*((%i*(w(i) - w0)))^2 + 0.5*((%i*(w(i) - w0)))^2;

end;

end;

for i=1:length(w)

if(abs(w(i))>domain) then//proveravamo da li je Y(jw) = 0 za |w| > w0/2

if(Yjw(i)==0) then

printf("Uslov je zadovoljen.");

break;

else printf("Uslov nije zadovoljen");

break;

end;

end;

end

plot(w,Yjw,'blue');

Page 29: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 29 -

7.5)

Neka je x(t) signal sa Nikvistovom stopom ω0. Takođe, neka je

y(t)= x(t) * p(t-1),

gde je

𝑝(𝑡) = ∑ 𝛿(𝑡 − 𝑛𝑇), 𝑇 <2π

𝜔0

𝑛=−∞

Navesti ograničenja amplitude i faze frekventne karakteristike filtra koji kada je

na njegov ulaz doveden signal y(t) daje signal x(t) na izlazu.

Rešenje:

Koristeci tabelu 4.2:

𝑝(𝑡) 𝐹𝑇↔ ∑ 𝛿(𝜔 −

2𝜅𝜋

𝛵)

𝜅=−∞

Iz tabele 4.1

𝑝(𝑡 − 1) 𝐹𝑇↔

2𝜋

𝛵 ∑ 𝛿 (𝜔 −

2𝜅𝜋

𝛵)

𝜅=−∞

=2𝜋

𝛵∑ 𝛿 (𝜔 − 𝜅

2𝜋

𝛵) 𝑒−𝑗𝑘

2𝜋7

𝜅=−∞

Kada je y(t) = x(t) p(t-1) imamo:

𝑌(𝑗𝜔) =1

2𝜋 (𝑋(𝑗𝜔) ∗ FT(𝑝(𝑡 − 1))) =

1

𝑇 ∑ 𝑋( 𝑗 (𝜔 − 𝜅

2𝜋

𝛵))𝑒−𝑗𝑘

2𝜋7

𝑘=−∞

Prema tome, Y(jω) se sastoji od replika X(jω) koje su pomerene za 𝑘2𝜋

𝑇, a zatim

su sabrane.

Da bismo dobili x(t) na osnovu y(t) moramo da uzmemo samo jednu repliku

X (jω) iz Y (jω).

Page 30: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 30 -

Sa slike se može jasno zaključiti da je ovo moguće ako množimo Y(jω) sa

𝐻(𝑗𝜔) = 𝑇, |𝜔| ≤ |𝜔𝑐|0, 𝑢 𝑜𝑠𝑡𝑎𝑙𝑖𝑚 𝑠𝑙𝑢č𝑎𝑗𝑒𝑣𝑖𝑚𝑎

pri čemu je 𝜔0

2 < ωc <

𝑇 -

𝜔0

2

Scilab kod

w = -2:0.01:2;//w0/2 = 2

for i =1: length(w)

x(i) = 2 - abs(w(i));//crtamo trougaoni impuls

end

//crtamo sliku ulaznog signala

subplot(4,1,1);

ylabel('X(jw)');

plot(w,x,'red');//grafik ulaznog signala

//crtamo sliku kada se ulazni signal pomnozi povorkom dirakovih

//impulsa

subplot(4,1,2);

ylabel('Y(jw)');

plot(w,x,'red');//

Page 31: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 31 -

w1 = 6:0.01:10;//w0 = 8 npr.

plot(w1,x,'blue');

w2 = -10:0.01:-6;

plot(w2,x,'green');

//ponavlja se crtanje za 4,1,3 - sa filtrom

subplot(4,1,3);

ylabel('Y(jw)');

plot(w,x,'red');

w1 = 6:0.01:10;//w0 = 8 npr.

//subplot(4,1,2);

plot(w1,x,'blue');

w2 = -10:0.01:-6;

plot(w2,x,'green');

//simulacija NF filtra

wf = -2:0.01:2;

for i = 1: length(wf)

if(x(i) > 0) then

xf(i) = 2;

else

xf(i) = 0;

end

end

plot(wf, xf, 'yellow');

//isfiltrirani izlazni signal x(t)

ylabel('Y(jw)');

subplot(4,1,4);

ylabel('X(jw)');

plot(w1,x,'red');

Page 32: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 32 -

7.6)

U sistemu prikazanom na grafiku, dve funkcije u vremenu, x1(t) i x2(t), su

pomnoženi, i proizvod 𝑤(t) je odmeren povorkom periodičnih impulsa. x1(t) je

ogranicen na frekvenicji 𝜔1, i x2(t) je ogranicen na frekvenicji 𝜔2, odnosno,

X1(j𝜔) = 0, |𝜔| ≥ 𝜔1,

X2(𝑗𝜔) = 0, |𝜔| ≥ 𝜔2.

Odrediti maksimalni interval semplovanja T takav da možemo w(t) rekonstruisati

iz wp(t) upotrebom idealnog niskofrekventnog filtera.

Rešenje:

Razmotrimo signal w(t) = x1(t) x2(t). Furijeova transformacija W(j𝜔) signala w(t)

je data sa:

𝑊(𝑗𝜔) = (1

2𝜋) [𝛸1(𝑗𝜔) ∗ 𝛸2(𝑗𝜔)]

Page 33: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 33 -

Pošto je X1(j𝜔) = 0 za |𝜔| ≥ 𝜔1 i X2(j𝜔) = 0 za |𝜔| ≥ 𝜔2 možemo zaključiti da je

W(j𝜔) = 0 za |𝜔| ≥ 𝜔1 + 𝜔2. Odatle sledi da je Nikvistova stopa za

w(t), 𝜔s = 2(𝜔1 + 𝜔2). Zaključujemo da je maximalna perioda odmeravanja, koja

će i dalje omogućavati rekonsturisanje signala w(t) je T = 2𝜋/(𝜔s) = 𝜋/(𝜔1 + 𝜔2).

Scilab kod

clear; //mnozicemo sin(x) i cos(x)

w1= -1:0.01:1; // ovo je 2000pi

for i=1 : length (w1)

x1(i)=sin(w1(i));

end

/// crtamo prvu sliku za X1(jw)

subplot(3,1,1);

ylabel("X1(jw)");

plot(w1,x1,'red');

///////// za signal X2(jw)

w2= -1:0.01:1; // ovo je 2000pi

for i=1 : length (w2)

x2(i)=cos(w2(i));

end

/// crtamo prvu sliku za X2(jw)

subplot(3,1,2);

ylabel("X2(jw)");

plot(w2,x2,'blue');

//// sad inverznom Furijeovom transformacijom prebacujemo iz frekventnog u

vremenski domen

x1_t=ifft(x1);

x2_t=ifft(x2);

ws=8000*%pi; // ws=2*(w1+w2), gde je w1=2000pi, a w2=2000pi;

Ts=(2*%pi)/ws; // perioda semplovanja

Sampling_time=0.005;

ns=Sampling_time/Ts; // broj uzoraka

Page 34: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 34 -

for i=1: ns

T=i*Ts; // racunamo za razlicite periode

y(i)=x1_t(i)*x2_t(i); //dato u zadatku

vector_t(i)=T;// u vektoru pamtimo vrednosti perioda

end

// slika br 3:

subplot(3,1,3);

ylabel("w(t)");

plot(vector_t,y,'red');

7.7)

Signal x(t) se propušta kroz pamti-drži kolo sa efektivnom periodom semplovanja

T da bi proizveo signal x0(t). Neka je signal x1(t) rezultat prvostepene pamti-drži

operacije nad odmercima od x(t)

𝑥(𝑡) = ∑ 𝑥(𝑛𝑇)ℎ1(𝑡 − 𝑛𝑇)

𝑛=−∞

gde je h1(t) je funkcija prikazana na grafiku odrediti frekventni odziv filtera koji

na izlazu ima signal x1(t) kada je na ulazu x0(t).

Page 35: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 35 -

Rešenje:

Znamo da je

𝑥1(𝑡) = ℎ1(𝑡) ∑ 𝑥(𝑛𝑇)𝛿(𝑡 − 𝑛𝑇)

𝑘=−∞

Sa grafika 7.7 iz knjige, znamo da izlaz pamti-drži operacije može biti napisan

na sledeći način:

𝑥(𝑡) = ℎ0(𝑡) ∑ 𝑥(𝑛𝑇)𝛿(𝑡 − 𝑛𝑇)

𝑘=−∞

gde je h0(t) prikazano na grafiku. Primenom Furijeove transformacije na gornje

dve jednačine, dobijamo

𝑋1(𝑗𝜔) = 𝐻1(𝑗𝜔)𝑋𝑝(𝑗𝜔)

𝑋(𝑗𝜔) = 𝐻0(𝑗𝜔)𝑋𝑝(𝑗𝜔)

Sada moramo da odredimo frekventni odgovor Hd(j𝜔) za filter koji na izlazu ima

x1(t) a na ulazu x0(t). Znači, treba nam:

𝑋0(𝑗𝜔)𝐻𝑑(𝑗𝜔) = 𝑋1(𝑗𝜔)

Trougaonu funkciju h1(t) možemo dobiti konvolucijom dva pravougaona impulsa

kao što je prikazano na grafiku.

Page 36: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 36 -

Prema tome,

ℎ1(𝑡) = (1

√𝑇)ℎ0 (𝑡 +

𝑇

2) ∗ (

1

√𝑇)ℎ0 (𝑡 +

𝑇

2)

Primenimo Furijeovu transformaciju na obe strane gornje jednačine i dobijamo:

𝐻1(𝑗𝜔) =1

𝑇𝑒𝑗𝜔𝑇𝐻0(𝑗𝜔)𝐻0(𝑗𝜔)

Prema tome,

𝑋1(𝑗𝜔) = 𝐻1(𝑗𝜔)𝑋𝑝(𝑗𝜔) =1

𝑇𝑒𝑗𝜔𝑇𝐻0(𝑗𝜔)𝐻0(𝑗𝜔)𝑋𝑝(𝑗𝜔)

=1

𝑇𝑒𝑗𝜔𝑇𝐻0(𝑗𝜔)𝑋0(𝑗𝜔)

I na kraju, rešenje je:

𝐻𝑑(𝑗𝜔) =1

𝑇𝑒𝑗𝜔𝑇𝐻0(𝑗𝜔) = 𝑒

𝑗𝜔𝑇/2 (2 sin (

𝜔𝑇2 )

𝜔𝑇)

Scilab kod:

//Izvodjenja su teorijske prirode, pa se resenje svodi na crtanje Hd(jw)

clear;

t = -0.5:0.01:0.5;//perioda signala T = 1

for i =1: length(t)

if(abs(t(i)) < 0.5) then

xt(i) = 1;

else

xt(i) = 0;

end;

end

lines(0);

subplot(3,1,1);

a=get("current_axes");//ove operacije uzeli smo iz primera sa scilab sajta

https://help.scilab.org/docs/5.3.3/en_US/axes_properties.html

a.axes_visible="on";

a.data_bounds=[0,2;5,2];

ylabel('xt(i)');

plot(t,xt,'red');

Page 37: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 37 -

//trougaoni signal dobija se konvolucijom dva

//pravougaona signala

y = convol(xt,xt); //delimo sa 100

//da bi se slika videla lepo

t1=-1:0.01:1;

subplot(3,1,2);

ylabel('xt(t)*xt(t)');

a=get("current_axes");

a.axes_visible="on";

a.data_bounds=[0,2;5,2];

plot(t,xt,'red');

a=get("current_axes");

a.axes_visible="on";

a.data_bounds=[0,2;5,2];

plot(t1,y,'green');

y = convol(xt,xt)/100; //delimo sa 100

//da bi se slika videla lepo

t1=-1:0.01:1;

subplot(3,1,3);

ylabel('xt(t)*xt(t)');

a=get("current_axes");

a.axes_visible="on";

a.data_bounds=[0,2;5,2];

plot(t,xt,'red');

a=get("current_axes");

a.axes_visible="on";

a.data_bounds=[0,2;5,2];

plot(t1,y,'green');

scf();

Ts=0.1;

w = linspace(-10,1,10);

hd = exp(((%i*Ts*w)/2))*((2*sin((w*Ts)/2))/(w*Ts));

plot(w,hd);

Page 38: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 38 -

7.8)

Razmotriti periodičan i realan signal x(t) čiji se Furijeov red može prestaviti kao:

𝑥𝑟(𝑡) =∑(1

2)𝑘

sin (𝑘𝜋𝑡)

5

𝑖=0

Neka je (t) predstavlja signal dobijen uzorkovanjem signala sa periodom

uzorkovanja T = 0.2.

a) Da li se javlja aliasing kada se signal x(t) uzorkuje ?

b) Ako se (t) propusti kroz idealni niskopropustni filtar sa graničnom

frekvencijom 𝜋/𝑇, predstaviti Furijeov red izlaznog signala g(t).

Rešenje:

a) Da, aliasing se pojavljuje u ovom slučaju. Ovo se moze jednostavno pokazati

razmatranjem sinusoidnog signala x(t) za k=5.Ovaj signal je oblika

𝑦(𝑡) = (1

2)5𝑠𝑖𝑛(5𝜋𝑡).

Ako je x(t) semplovan sa periodom T=0.2, onda ćemo uvek semplovati y(t) na

njihovim celobrojnim umnošcima π. Stoga signal y(t) izgleda identično kao si-

gnal oblika (1

2)5sin (0𝜋𝑡) sve vreme u semplovanom signalu. Odatle, sinusoida

y(t) frekvencije 5π se preklapa sa sinusoidom frekvencije 0 u semplovanom sig-

nalu.

Scilab kod

clear;

t=-1:0.01:1;

for i=1:length(t)

yt(i)=((1/2)^5)*sin(5*%pi*t(i));

end

subplot(2,1,1);

plot(t,yt,'red');

for i=1:length(t)

yt1(i)=((1/2)^5)*sin(0*%pi*t(i));

Page 39: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 39 -

end

subplot(2,1,2);

plot(t,yt1,'blue');

T=0.2;

for i=1:T:length(t)

//zato sto se dobijaju vrednosti priblizne 0

if(round(yt(i))<>round(yt1(i))) then

break;

end;

end

if (i == length(t)) then

printf("Signali se poklapaju.\n");

else

printf("Signali se ne poklapaju.\n");

end

b) Niskofrekventni filter obavija opsegom ograničenu interpolaciju na signalu x(t).

Ali pošto je aliasing već rezultovao gubitkom sinusoide (1

2)5sin (5𝜋𝑡), izlaz će

biti oblika:

𝑥(𝑡) =∑(1

2)𝑘

sin (𝑘𝜋𝑡)

4

𝑖=0

Furijeov red je oblika:

𝑥𝑟(𝑡) = ∑ 𝑎𝑘𝑒−𝑗(

𝑘𝜋𝑡)

4

𝑘=−4

gde je

𝑎𝑘 = 𝑎𝑘 =

0, 𝑘 = 0

−𝑗 (1

2)𝑘+1

, 1 ≤ 𝑘 ≤ 4

𝑗 (1

2)𝑘+1

, −4 ≤ 𝑘 ≤ −1

Page 40: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 40 -

Scilab kod

clear;

t=-10:0.01:10;

for i=1:length(t)

yt1(i)=((1/2)^0)*sin(0*%pi*t(i));

yt2(i)=((1/2)^1)*sin(1*%pi*t(i));

yt3(i)=((1/2)^2)*sin(2*%pi*t(i));

yt4(i)=((1/2)^3)*sin(3*%pi*t(i));

yt5(i)=((1/2)^4)*sin(4*%pi*t(i));

yt(i) = yt1(1)+yt2(i)+yt3(i)+yt4(i)+yt5(i);

end

plot(t,yt,'blue');

7.9)

Razmotriti signal

𝑥(𝑡) = (sin50πt

πt)2

koji želimo da uzorkujemo sa frekvencijom uzorkovanja 𝜔s = 150π da bi dobili

signal g(t) sa Furijeovom transformacijom G(j𝜔). Pronaći maksimalnu vrednost

za 𝜔0 za koji važi da je

G(j𝜔)=75 X(j𝜔) za |𝜔| ≤ 𝜔0,

gde je X(j𝜔) Furijeova transformacija signala x(t).

Rešenje:

Furijeova transformacija X(j𝜔) signala x(t) je prikazana na slici:

Page 41: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 41 -

Znamo da je:

𝐺(𝑗𝜔) =1

𝑇∑ 𝑋(𝑗(𝜔 − 𝑘𝜔𝑠))

𝑘=−∞

Gde je T = 2𝜋

𝜔s =

1

75. Stoga G(j𝜔) je prikazan na slici. G (j𝜔) =

1

𝑇 X(j𝜔) = 75 X(j𝜔)

za |𝜔| ≤ 50𝜋

Scilab kod

clear;

T=1/75;

t= -0.1:T:0.1;

num = length(t);

l = -0.1

for i=1:num

xt(i)=((sin(50*%pi*l))/(%pi*l))^2;

l=l+T;//l = t

end

X=fft(xt);//Furijeovom transformacijom prelazimo iz vremenskog u frekventni

domen

G=75*X;//iz uslova da je G(jw) = 75X(jw)

g=ifft(G);//vracamo se u vremenski domen

subplot(2,1,1);

xlabel('t');

ylabel('x(t)');

plot(t,xt,'blue');//signal koji se sempluje

subplot(2,1,2);

xlabel('t');

ylabel('g(t)');//odmerci

plot(t,g,'red');

7.10)

Odrediti da li su sledeci iskazi tačni ili ne:

a) Signal x(t) = u(t + T0) – u(t – T0) moze da bude odmeren povorkom impulsa

bez aliasing – a, ako je period odmeravanja T < 2T0.

b) Signal x(t) sa Furijeovom transformacijom X(j𝜔) = u(𝜔 + 𝜔0) – u(𝜔 – 𝜔0)

može da bude odmeren bez aliasing-a povorkom impulsa, ako je perioda

odmeravanja T < 𝜋/𝜔0.

Page 42: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 42 -

c) Signal x(t) sa Furijeovom transformacijom X(j𝜔) = u(𝜔) – u(𝜔 – 𝜔0) može da

bude odmeren povorkom impulsa bez aliasing-a, ako je perioda semplovanja

T < 2𝜋/𝜔0.

Rešenje:

a) Znamo da x(t) nije ograničen signal. Prema tome, on ne može biti odmeravan

povorkom impulsa bez aliasing - a.

Scilab kod

plotujemo funkciju x(t), nije moguće ispitati da li je dati signal ograničen

clear;

T=1/100;

t = -10:T:10;

for i=1:length(t)

y(i)=sin(t(i)+T) - sin(t(i)-T);

end

plot(t,y);

b) Iz datog spektra X(jω) jasno je da je signal x(t) ograničen, koji je X(jω) = 0, za

|ω| > ω0. Prema tome, mora da je moguće izvršiti odmeravanje ovog signala

bez aliasinga. Minimalna potrebna stopa odmeravanja bi bila 𝜔s = 2𝜔0

. Znači, period odmeravanja može najviše biti T=2 𝜋 /ωs= 𝜋 / ω0.

Scilab kod

clear;

ws = 2000*%pi;

w0 = ws/2;

T=(2*%pi)/ws;

t=1:T:5;

for i=1:length(t)

w(i) = 2*%pi/t(i);//racunamo vrednosti za frekventni domen

X(i) = cos(w(i) + w0) - cos(w(i)- w0);

end

//plotovanje X(jw)

subplot(2,1,1);

title('X(jw)');

ylabel('X(jw)');

xlabel('w');

plot(w,X,'red');

Page 43: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 43 -

//plotovanje x(t)

xt=ifft(X);

subplot(2,1,2);

title('x(t)');

ylabel('x(t)');

xlabel('t');

plot(t,xt,'blue');

c) Kada se signal x(t) odmerava sa T=2 𝜋/ω0, signal g(t) ćemo naći korišćenjem

Furijeove transformacije

𝐺(𝑗𝜔) =1

𝑇∑ 𝑋(𝑗(

𝑘= −∞

𝜔 − 𝑘2 𝜋/𝑇)).

Ovo je prikazano na grafiku

Jasno je sa grafika da nije došlo do aliasing – a, i da X(j𝜔) može biti

rekontruisano korišćenjem filtera sa frekventnim odzivom

H(j𝜔) = 𝑇, 0 ≤ 𝜔 ≤ 𝜔00, 𝑠𝑢𝑝𝑟𝑜𝑡𝑛𝑜

Page 44: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 44 -

Prema tome, dati iskaz je tačan.

Scilab kod

clear;

T= 0.01;

w0=(2*%pi)/T;

t=1:T:5;

for i=1:length(t)

w(i) = 2*%pi/t(i);//racunamo vrednosti za frekventni domen

X(i) = cos(w(i)) - cos(w(i)- w0);

end

//plotovanje X(jw)

subplot(3,1,1);

title('X(jw)');

ylabel('X(jw)');

xlabel('w');

plot(w,X,'red');

//plotovanje x(t)

xt=ifft(X);

subplot(3,1,2);

title('x(t)');

ylabel('x(t)');

xlabel('t');

plot(t,xt,'blue');

//H(jw)

for i=1:length(t)

w(i) = 2*%pi/t(i);

if(0<=w(i)&w(i)<=w0) then

Hjw(i)=T;

else Hjw(i) = 0;

end

end

subplot(3,1,3);

title('H(jw)');

ylabel('H(jw)');

plot(w,Hjw,'green');

Page 45: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 45 -

7.11)

Neka je signal xi(t) kontinulani signal u vremenu čija Furijeova transformacija ima

osobinu da je X0(j𝜔)=0 za |𝜔| ≥ 2000𝜋. Dobija se diskretan signal u vremenu:

xd[n] = xc(n(0.5 x 10-3))

Za svaku od sledećih zadatih ograničenja Furijeove transformacije Xd(𝑒𝑗𝜔) od

xd[n] odrediti odgovarajuće ograničenje spektra Xc(j𝜔):

(a) Xd(𝑒𝑗𝜔)) je realno

(b) Maksimalna vrednost Xd(𝑒𝑗𝜔)) za sve vrednosti W je 1.

(c) Xd (𝑒𝑗𝜔)) je 0 za 3𝜋

4 ≤ |𝜔| ≤ 𝜋

(d) Xd (𝑒𝑗𝜔)) = Xd (𝑒𝑗(𝜔−𝜋) ))

Rešenje:

Znamo is poglavlja 7.4 da važi

𝑋𝑑(𝑒𝑗𝜔) =1

𝑇∑ 𝑋𝑐 (𝑗 (

𝜔 − 2𝜋𝑘

𝑇))

𝑘=−∞

a) Pošto se )( jd eX formira pomeranjem i sumiranjem replika X(j𝜔), možemo

pretpostaviti da ako je )( jd eX realno, tada je i X(j𝜔) takođe realno.

Scilab kod

clear;

clc;

T=1/5;

f=1/T;

w=-2100*%pi:f:2100*%pi;//kreiramo X0(jw)

for i=1:length(w)

Page 46: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 46 -

if(abs(w(i))>2000*%pi) then

Xo(i)=0;

else Xo(i)=1;

end

end

subplot(4,1,1);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xo");

ylabel("Xo(jw)");

xlabel("w");

plot(w,Xo,'red');

//dobijamo signal xd[n]

for i=1:length(w)

n(i)=(2*%pi)/w(i);

end

xd=ifft(Xo);

subplot(4,1,2);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("xd");

ylabel("xd[n]");

xlabel("t");

plot(n,xd,'blue');

//iz xd[n] dobijamo Xc(jw)

Xc=fft(xd);

for i=1:length(n)

wn(i)=(2*%pi)/n(i);

end

subplot(4,1,3);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xc");

ylabel("Xc(jw)");

Page 47: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 47 -

xlabel("w");

plot(wn,Xc,'green');

b) )( jd eX se sastoji od replika X(j𝜔) koje su skalirane za 1/T. Prema tome, ako

)( jd eX ima maximum koji je jednak 1, tada ce X(j𝜔) imati maksimum koji

je jednak T = 0.5 x 10-3 .

Scilab kod

clear;

clc;

T=1/5;

f=1/T;

w=-2100*%pi:f:2100*%pi;//kreiramo X0(jw)

for i=1:length(w)

if(abs(w(i))>2000*%pi) then

Xo(i)=0;

else Xo(i)=1;

end

end

subplot(4,1,1);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xo");

ylabel("Xo(jw)");

xlabel("w");

plot(w,Xo,'red');

//dobijamo signal xd[n]

for i=1:length(w)

n(i)=(2*%pi)/w(i);

end

xd=ifft(Xo);

subplot(4,1,2);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

Page 48: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 48 -

title("xd");

ylabel("xd[n]");

xlabel("t");

plot(n,xd,'blue');

//iz xd[n] dobijamo Xc(jw)

Xc=fft(xd);

for i=1:length(n)

wn(i)=(2*%pi)/n(i);

end

subplot(4,1,3);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xc");

ylabel("Xc(jw)");

xlabel("w");

plot(wn,Xc,'green');

//sada racunamo Xd(jw) na osnovu formule iz resenja

for i=1:length(wn)

Xd(i)=0;

end

i=1;

for k=1+round((2*%pi)/T):round((2*%pi)/T):length(wn)

Xd(k)= Xc(k-i*round((2*%pi)/T));

i=i+1;

end

Xd(i)=Xd(i)/T;

subplot(4,1,4);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xd");

ylabel("Xd(e^jw)");

xlabel("w");

plot(wn,Xd,'yellow');

max=1;

for i=1:length(wn)

if(Xd(i)>max) then

max=Xd(i);

end;

Page 49: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 49 -

end

printf("Maksimalna vrednost Xd(jw) je %d\n",max);

c) Interval 3𝜋/4 ≤ |𝜔| ≤ 𝜋 u diskretnom vremenskom domenu odgovara u

kontinualnom vremenskom domenu 3𝜋/(4T) ≤ |ω| ≤ 𝜋/T.Prema tome, ako je

)( jd eX = 0 za 3𝜋/4 ≤ |𝜔| ≤ 𝜋, imamo da je X(j𝜔) = 0 za 1500𝜋 ≤|𝜔|≤ 2000𝜋.

Ali, pošto već imamo da je X(j𝜔) = 0 za |𝜔|≥2000𝜋 imamo i X(j𝜔) = 0 za |𝜔|≥

1500𝜋.

Scilab kod

clear;

clc;

T=1/5;

f=1/T;

w=-2100*%pi:f:2100*%pi;//kreiramo X0(jw)

for i=1:length(w)

if(abs(w(i))>2000*%pi) then

Xo(i)=0;

else Xo(i)=1;

end

end

subplot(4,1,1);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xo");

ylabel("Xo(jw)");

xlabel("w");

plot(w,Xo,'red');

//dobijamo signal xd[n]

for i=1:length(w)

n(i)=(2*%pi)/w(i);

end

xd=ifft(Xo);

subplot(4,1,2);

lines(0);

a=get("current_axes");

Page 50: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 50 -

a.axes_visible="on";

a.font_size=3;

title("xd");

ylabel("xd[n]");

xlabel("t");

plot(n,xd,'blue');

//iz xd[n] dobijamo Xc(jw)

Xc=fft(xd);

for i=1:length(n)

wn(i)=(2*%pi)/n(i);

end

subplot(4,1,3);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xc");

ylabel("Xc(jw)");

xlabel("w");

plot(wn,Xc,'green');

//sada racunamo Xd(jw) na osnovu formule iz resenja

for i=1:length(wn)

Xd(i)=0;

end

i=1;

for k=1+round((2*%pi)/T):round((2*%pi)/T):length(wn)

Xd(k)= Xc(k-i*round((2*%pi)/T));

i=i+1;

end

Xd(i)=Xd(i)/T;

subplot(4,1,4);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xd");

ylabel("Xd(e^jw)");

xlabel("w");

plot(wn,Xd,'yellow');

true=1;

for i=1:length(wn)

if(Xd(i)>=(3*%pi)/4) then

Page 51: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 51 -

if(Xd(i)<=%pi) then

if(Xd(i)<>0) then

true=0'

end

end

end

end

if(true=1) then

printf("Uslov je ispunjen.\n");

end

d) U ovom slučaju, pošto je x diskretnom frekventnom domenu odgovara 2000𝜋,

u kontinualnom frekventnom domenu, ovaj uslov se svodi na X(j)=(j(𝜔-

2000 𝜋)).

Scilab kod

clear;

clc;

T=1/5;

f=1/T;

w=-2100*%pi:f:2100*%pi;//kreiramo X0(jw)

for i=1:length(w)

if(abs(w(i))>2000*%pi) then

Xo(i)=0;

else Xo(i)=1;

end

end

subplot(4,1,1);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xo");

ylabel("Xo(jw)");

xlabel("w");

plot(w,Xo,'red');

//dobijamo signal xd[n]

for i=1:length(w)

n(i)=(2*%pi)/w(i);

Page 52: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 52 -

end

xd=ifft(Xo);

subplot(4,1,2);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("xd");

ylabel("xd[n]");

xlabel("t");

plot(n,xd,'blue');

//iz xd[n] dobijamo Xc(jw)

Xc=fft(xd);

for i=1:length(n)

wn(i)=(2*%pi)/n(i);

end

subplot(4,1,3);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xc");

ylabel("Xc(jw)");

xlabel("w");

plot(wn,Xc,'green');

//sada racunamo Xd(jw) na osnovu formule iz resenja

for i=1:length(wn)

Xd(i)=0;

end

i=1;

for k=1+round((2*%pi)/T):round((2*%pi)/T):length(wn)

Xd(k)= Xc(k-i*round((2*%pi)/T));

i=i+1;

end

Xd(i)=Xd(i)/T;

subplot(4,1,4);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("Xd");

ylabel("Xd(e^jw)");

Page 53: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 53 -

xlabel("w");

plot(wn,Xd,'yellow');

true=0;

wcheck=0:f:2000*%pi;

for i=1:length(wcheck)

if(wcheck(i)<>wn(i)-2000*%pi) then

true=1;

end

end

if(true==1) then

printf("Uslov je ispunjen.\n");

end

7.12)

Diskretni signal xd[n] ima Furijeovu transformaciju Xd(ejω) sa osobinom da je

Xd(ejω) = 0 za 3π/4 ≤ |ω| ≤ π. Signal je konvertovan u kontinualni signal

𝑥𝑐(𝑡) = 𝑇 ∑ 𝑥𝑑[𝑛]𝑠𝑖𝑛

𝜋𝛵(𝑡 − 𝑛𝑇)

𝜋(𝑡 − 𝑛𝑇)

𝑛 = −∞

gde je T = 10-3 . Odrediti vrednosti ω za koje je Furijeova transformacija Xc(jω)

od xc(t) garantovana da bude nula.

Rešenje

Iz odeljka 7.4, znamo da su diskretne i kontinualne frekvencije Ω i ω u odnosu Ω

= ωT. Zbog toga, u slučaju Ω = 3𝜋

4, nalazimo odgovarajuću vrednost ω =

3𝜋

4

1

𝛵 =

3000π/4 = 750π.

Scilab kod

clear;

Page 54: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 54 -

clc;

close;

//kreiramo X(jw)

t=-%pi:0.01:%pi;

for i=1:length(t)

if(abs(t(i))<(%pi*3/4)) then

x(i)=1;

else

x(i)=0;

end

end

//crtanje X(e^jw)

subplot(3,1,1);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

a.data_bounds=[0,2;10,2];

xlabel('w');

ylabel('Xd(e^jw)');

plot(t,x);

//sada dobijamo signal xd[n]

y=ifft(x);

T=0.001;

//dobijanje xc(t)

for i=1:length(t)

xc(i)=0;

for n=-1000:1:1000

xc(i)=xc(i)+T*(y(i)*sin(%pi/T)*(t(i)-n*T)/(%pi*(t(i)-n*T)));

end

end

subplot(3,1,2);

lines(0);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

a.data_bounds=[0,2;1,2];

xlabel('t');

ylabel('xc(t)');

Page 55: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 55 -

plot(t,xc);

subplot(3,1,3);

xlabel('w');

ylabel('Xc(jw)');

//iscrtavanje Xc(jw)

plot(t,fft(xc));

W=(3*%pi)/4;//veliko Omega

w=W/T;

printf("Konacna vrednost w=%d*pi",w/(%pi));

7.13)

Koristeći postupak filtriranja sa slike, pretpostaviti da je perioda semplovanja T i

da je izlaz xc(t) ograničen u frekventnom domenu, tako da je Xc(jω) = 0 za |ω| ≥

π/Τ. Ako za celokupan sistem važi yc(t) = xc(t – 2T), odrediti impulsni odziv h[n]

diskretnog filtera sa slike.

Rešenje

Pretpostavimo da

𝑥𝑐(𝑡) = sin (

𝜋𝑡𝑇 )

𝜋𝑡

Ukupan izlaz je:

𝑦𝑐(𝑡) = 𝑥𝑐(𝑡 − 2𝑇) = sin (

𝜋𝑇(𝑡 − 2𝑇))

𝜋(𝑡 − 2𝑇)

Iz xc(t), dobijamo odgovarajući diskretni signal xd[n]

Page 56: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 56 -

𝑥𝑑[𝑛] = 𝑥𝑐(𝑛𝑇) =1

𝑇𝛿[𝑛]

Dobijamo takođe iz yc(t), odgovarajući diskretni signal yd[n]

𝑦𝑑[𝑛] = 𝑦𝑐(𝑛𝑇) =sin (𝜋(𝑛 − 2))

𝜋𝛵(𝑛 − 2)

Zapažamo da je desna strana gornjeg izraza uvek nula za n ≠ 2. Kada je n = 2,

možemo da da odredimo vrednost odnosa korišćenjem L’Hospital-ovog pravila, i

on je jednak 1/T. Zbog toga:

𝑦𝑑[𝑛] =1

𝑇𝛿[𝑛 − 2]

Zaključujemo da je impulsni odgovor filtra

ℎ𝑑[𝑛] = 𝛿[𝑛 − 2]

Scilab kod

clear;

clc;

T=1/100;

t=0.1:T:1;

td=0:T:1;

//kreiranje Dirakovog impulsa

for i=1:length(td)

if(td(i)==0) then

d(i)=1;

else d(i)=0;

end

end

subplot(6,1,1);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("d(t)");

xlabel("t");

ylabel("d(t)");

Page 57: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 57 -

plot(td,d,'yellow');

for i=1:length(t)

xc(i)=sin((%pi*t(i))/T)/(%pi*t(i));

end

subplot(6,1,2);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("xc(t)");

xlabel("t");

ylabel("xc(t)");

plot(t,xc,'blue');

for i=1:length(t)

ty(i)=t(i)-2*T;

yc(i)=sin((%pi*ty(i))/T)/(%pi*ty(i));

end

subplot(6,1,3);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("yc(t)");

xlabel("t");

ylabel("yc(t)");

plot(t,yc,'red');

n=length(td);

for i=1:n

xd(i)=d(i)/T;

end

subplot(6,1,4);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("xd[n]");

xlabel("t");

ylabel("xd[n])");

plot(td,xd,'green');

Page 58: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 58 -

for i=3:n

yd(i)=d(i-2)/T;

end

subplot(6,1,5);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("yd[n]");

xlabel("t");

ylabel("yd[n])");

plot(td,yd,'black');

for i=3:n

hd(i)=T*yd(i);

end

//impulsni odziv filtra

subplot(6,1,6);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("hd[n]");

xlabel("t");

ylabel("hd[n])");

plot(td,hd,'red');

7.14)

Ponoviti prethodni problem, ali ovaj put pretpostaviti da

𝑦𝑐(𝑡) = 𝑑𝑥𝑐𝑑𝑡

(𝑡 − 𝑇/2)

Rešenje

U ovom primeru pristupamo slično kao u primeru 7.2. Pretpostavljamo da

Page 59: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 59 -

𝑥𝑐(𝑡) = sin (

𝜋𝑡𝑇 )

𝜋𝑡

Ukupan izlaz je

𝑦𝑐(𝑡) = 𝑑

𝑑𝑡𝑥𝑐 (𝑡 −

𝑇

2) =

(𝜋𝛵)cos (

𝜋𝛵 (𝑡 −

𝑇2))

(𝜋 (𝑡 −𝑇2))

2 −

𝜋𝑠𝑖𝑛 (𝜋𝛵 (𝑡 −

𝑇2))

(𝜋 (𝑡 −𝑇2))

2

Iz xc(t), dobijamo odgovarajući diskretni signal xd[n]

𝑥𝑑[𝑛] = 𝑥𝑐(𝑛𝑇) =1

𝑇𝛿[𝑛]

Takođe, iz yc(t) dobijamo da je odgovarajući diskretni signal yd[n] jednak

𝑦𝑑[𝑛] = 𝑦𝑐(𝑛𝑇) = (𝜋𝛵)cos [𝜋 (𝑛 −

12)]

𝑛𝑇 (𝑛 −12)

− sin [𝜋 (𝑛 −

12)]

𝜋𝑇2 (𝑛 −12)

2

Prvi izraz desne strane gornje jednačine je uvek 0 zato što je cos [𝜋 (𝑛 −1

2)] = 0.

Zato,

𝑦𝑑[𝑛] = −sin [𝜋 (𝑛 −

12)]

𝜋𝑇2 (𝑛 −12)

2

Zaključujemo da je impulsni odgovor filtra

ℎ𝑑[𝑛] = −sin [𝜋 (𝑛 −

12)]

𝜋𝑇 (𝑛 −12)

2

Scilab kod

clear;

clc;

T=1/100;

t=0.1:T:1;

Page 60: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 60 -

td=0:T:1;

//kreiranje Dirakovog impulsa

for i=1:length(td)

if(td(i)==0) then

d(i)=1;

else d(i)=0;

end

end

subplot(6,1,1);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("d(t)");

xlabel("t");

ylabel("d(t)");

plot(td,d,'yellow');

for i=1:length(t)

xc(i)=sin((%pi*t(i))/T)/(%pi*t(i));

end

subplot(6,1,2);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("xc(t)");

xlabel("t");

ylabel("xc(t)");

plot(t,xc,'blue');

for i=1:length(t)

ty(i)=t(i)-2*T;

yc(i)=((%pi/T)*cos((%pi/T)*(t(i) - T/2)))/(%pi*(t(i) - T/2))^2 -

(%pi*sin((%pi/T)*(t(i)-T/2)))/(%pi*(t(i)-T/2));

end

subplot(6,1,3);

gca();

a=get("current_axes");

a.axes_visible="on";

Page 61: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 61 -

a.font_size=3;

title("yc(t)");

xlabel("t");

ylabel("yc(t)");

plot(t,yc,'red');

n=length(td);

for i=1:n

xd(i)=d(i)/T;

end

subplot(6,1,4);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("xd[n]");

xlabel("t");

ylabel("xd[n])");

plot(td,xd,'green');

n=1:1:length(t);

for i=1:length(n)

yd(i)=-sin(%pi*(i-0.5))/(i*T*T*(i-0.5)^2);

end

subplot(6,1,5);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("yd[n]");

xlabel("t");

ylabel("yd[n])");

plot(n,yd,'black');

n=1:1:length(t);

for i=1:length(n)

hd(i)=-sin(%pi*(i-0.5))/(i*T*(i-0.5)^2);

end

subplot(6,1,6);

Page 62: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 62 -

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("hd[n]");

xlabel("t");

ylabel("hd[n])");

plot(n,hd,'black');

7.15)

Povorka impulsa se koristi za uzorkovanje x[n] da bi smo dobili

𝑔[𝑛] = ∑ 𝑥𝑑[𝑛]sin

𝜋𝛵(𝑡 − 𝑛𝑇)

𝜋(𝑡 − 𝑛𝑇)

𝑘= −∞

gde je T = 10-3. Odrediti vrednosti ω za koje je Furijeova transformacija Xc(jω)

signala xc(t) garantovana da bude nula.

Rešenje

U ovom problemu, interesuje nas najniža vrednost x[n] koju možemo semplovati

bez mogućnosti aliasinga. Koristimo pristup iz primera 7.4 da rešimo ovaj

problem. Da bi našli najnižu vrednost najniže vrednosti na kojoj x[n] može biti

semplovano dok u isto vreme izbegavamo mogućnost pojave aliasinga, moramo

naći N tako da

2𝜋

𝑁≥ 2(

3𝜋

7) → 𝑁 ≤

7

3

Dakle, N može najviše biti 2.

Scilab kod

clear;

clc;

//simulacija impulsa x[n]

T=10^-3;

t=1:T:2;

n=1:30;

for i=1:length(n)

Page 63: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 63 -

if(n(i)>=10&n(i)<=20)

x(i)=1;

else x(i)=0;

end;

end

subplot(2,1,1);

gca();

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("x[n]");

xlabel("t");

ylabel("x[n])");

plot(n,x,'red');

//simulacija g[n]

for i=1:length(n)

g(i)=0;

for k=1:length(n)

g(i)=g(i)+(x(i)*sin((%pi/T)*(t(k)-n(i)*T)))/(%pi*(t(k)-n(i)*T));

end

end

subplot(2,1,2);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("g[n]");

xlabel("t");

ylabel("g[n])");

plot(n,g,'blue');

N=(14*%pi)/(6*%pi);

printf("N moze najvise biti %f",N);

Page 64: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 64 -

7.16)

Date su sledeće činjenice su za signal x[n] i njegovu Furierovu transformaciju:

1) x[n] je realna funkcija

2) X(𝑒𝑗𝜔) ≠ 0 za 0 < ω < π.

3) x[n] ∑ δ[ 𝑛 − 2𝑘] = 𝛿[𝑛]∞k=−∞

Odrediti x[n]. Bilo bi korisno zapaziti da signal sin𝑛𝜋

2

𝑛𝜋 zadovoljava 2 od 3 uslova.

Rešenje:

Iako signal x1[n] = 2sin𝑛𝜋

2

𝑛𝜋 zadovoljava prvi ι treci uslov, to ne možemo reci i

za drugi uslov. To je zbog toga što Furieova transformacija X1(𝑒𝑗𝜔) ovog signala

je pravougaoni impuls koji je jednak nuli za |ω|<π/2.

Takođe uočavamo i da signal: x[n] = 4 (sin𝑛𝜋

2

𝑛𝜋)2 zadovoljava prvi i treći uslov.

Koristimo činjenicu (Zadatak 7.7) da je konvolucija dva pravougaona signala

zapravo trougaoni impuls koji je različit od nule za 0 ≤ |ω| ≤ π. Prema tome, taj

signal zadovoljava i drugi uslov . Trazeni sinal je 𝑥[𝑛] = 4 sin (𝑛𝜋

2

𝑛𝜋)2

.

Scilab kod

clear;

close;

clc;

W=%pi/2;

w=-5:0.1:5;

for i=1:length(w)

if(w(i) >= -2*%pi -W & w(i) <=-2* %pi +W) then

X(i)=1;

elseif (w(i) >=-W & w(i) <= W)

X(i)=1;

elseif(w(i) >=2* %pi -W & w(i) <=2* %pi +W)

X(i)=1;

else

X(i)=0;

end;

end;

Page 65: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 65 -

subplot(2, 1, 1);

plot(w, X);

title("X[w]");

n = -6:6;

x=X'*exp(-%i*w'*n);

subplot(2,1, 2);

plot2d3(n,x);

plot(n, x, 'r .');

7.17)

Posmatrajmo idealni diskretni filtar sa impulsnim odzivom h[n] čiji je frekventni

odziv u intervalu –π ≤ ω ≤ π

𝐻(𝑒𝑗𝜔) = 1, |𝜔| ≤

𝜋

4 𝑖 |𝜔| ≥

3𝜋

40, 𝑏𝑖𝑙𝑜 𝑔𝑑𝑒 𝑑𝑟𝑢𝑔𝑑𝑒

Odrediti frekventni odziv filtera čiji je impulsni odziv h[2n]

Rešenje

U ovom problemu, želimo da odredimo efekat desetkovanja impulsnog odziva

datog filtra faktorom 2. Proces desetkovanja može biti podeljen u dva koraka. U

prvom koraku, vršimo uzorkovanje povorkom impulsa funkcije h[n] da bi smo

dobili

ℎ𝑝[𝑛] = ∑ ℎ[2𝑘]𝛿[𝑛 − 2𝑘]

𝑛= −∞

Desetkovana sekvenca se dalje dobija iz

ℎ1[𝑛] = ℎ[2𝑛] = ℎ𝑝[2𝑛]

Furijeovom transformacijom nad hp[n] dobijamo

𝐻𝑝(𝑒𝑗𝜔) =

1

2𝐻(𝑒𝑗𝜔) +

1

2𝐻(𝑒𝑗(𝜔−𝜋))

Page 66: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 66 -

Ovo je pokazano na slici.

Znamo da je Furijeova transformacija desetkovanog impulsnog odgovora

𝐻1(𝑒𝑗𝜔) = 𝐻𝑝(𝑒

𝑗𝜔2 )

Drugim rečima 𝐻1(𝑒𝑗𝜔) je 𝐻𝑝(𝑒

𝑗𝜔) proširen za faktor 2. Ovo je pokazano na slici

iznad. Dakle, h1[n] = h[2n] je impulsni odgovor idealnog niskopropusnog filtera

sa dobitkom propusnog opsega i prekidnom frekvencijom π/2.

Scilab kod

clear;

clc;

wf1=-%pi:1/100:%pi;

for i=1:length(wf1)

if(abs(wf1(i))<(%pi/4)) then

xf1(i)=1;

else

xf1(i)=0;

end

end

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

a.data_bounds=[0,0;3,2];

plot(wf1,xf1,"red");

wf2=-%pi:1/100:%pi;

for i=1:length(wf2)

if(abs(wf2(i))<(%pi/2)) then

xf2(i)=1/2;

else

xf2(i)=0;

end

end

Page 67: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 67 -

// slika

plot(wf2,xf2,"black");

7.18)

Pretpostavimo da je impulsni odziv idealnog diskretnog NF filtera sa

frekvencijom odsecanja π/2 interpoliran sa faktorom interpolacije 2.Kakav je

frekventni odziv koji odgovara ovom upsample-ovanom impulsnom odzivu?

Rešenje

Jasno je da interpolacija faktorom 2 kompresuje frekventni odziv za faktor 2.

Interpolacijom takođe dolazi do skaliranja za faktor 2. Dakle, u ovom problemu,

interpolirani impulsni odziv će odgovarati idealnom niskofrekventnom filteru sa

odsečnom frekvencijom π/2 i povećanom propusnom opsegu za 2.

Scilab kod

clear;

clc;

wf1 = -%pi:1/100:%pi;

for i = 1:length(wf1);

if(abs(wf1(i))<(%pi/4)) then

x1(i)=1;

else

x1(i)=0;

end

end

plot(wf1, x1, "r");//iscrtavamo usemplovan signal

wf2=-%pi:1/100:%pi;

for i=1:length(wf2)

if(abs(wf2(i))<(%pi/2)) then

x2(i)=1/2;

else

x2(i)=0;

end

end

plot(wf2, x2, "g");

Page 68: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 68 -

7.19)

Razmotrimo sistem koji je dat na Slici P7.19, sa ulazom x[n] i sa odgovarajućim

izlazom y[n]. Sistem sa ubacivanjem nula ubacuje 2 tačke sa nultom amplitudom

između svake dve sekvence vrednosti u x[n]. Desetkovanje je definisano sa

y[n] = w[5n],

gde je w[n] ulzna sekvenca za sistem sa desetkovanjem. Ako je ulaz oblika

x[n] = 𝑠𝑖𝑛𝜔1𝑛

𝜋𝑛,

odrediti izlaz y[n] ya sledeće vrednosti 𝜔1:

𝑎) 𝜔1 ≤ 3𝜋

5,

b) 𝜔1 > 3𝜋

5.

Rešenje:

Furijeova transformacija x[n] je data sa

)( jeX 1, |𝜔| ≤ 𝜔1

0, 𝑢 𝑠𝑢𝑝𝑟𝑜𝑡𝑛𝑜𝑚

Ovo je kao što je prikazano na slici.

Page 69: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 69 -

a) Kada je 𝜔1 ≤ 3𝜋/5, Furijeova transformacija X1 )( je izlaza iz sistema sa

ubacivanjem nula je prikazana na slici. Izlaz W )( je niskofrekventnog filtera

je prikazana na slici. Furijeova transforamcija izlaza sistema za desetkovanje

Y )( je je očekivana ili razvučena verzija W )( je . Ovo je kao što je prikazano

na slici.Prema tome,

𝑦[𝑛] =1

5

sin (5𝜔1𝑛3 )

𝜋𝑛

Scilab kod

T=1/100;

f=1/T;

t=-1:T:1;

for i=1:length(t)

if(t(i)==0) then

w(i)=0;

else

w(i)=(2*%pi)/t(i);

end

end

//kreiranje x(e^jw)

w1=3*%pi/6 //manje od 3pi/2

for i=1:length(w)

if(abs(w(i))<=w1) then

X(i)=1;

else

X(i)=0;

end

end

subplot(2,1,1);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("X(e^jw)");

xlabel("w");

ylabel("X(e^jw)");

plot(w,X,'blue');

t=1:T:2;

//kreiranje y[n]

Page 70: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 70 -

for i=1:length(t)

y(i)=(1/5)*(sin((5*w1*t(i))/3)/(%pi*t(i)));

end

subplot(2,1,2);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("y[n]");

xlabel("t");

ylabel("y[n]");

plot(t,y,'red');

b) Kada je 𝜔1 > 3𝜋/5 , Furijeova transformacija X1 )( je izlaza iz sistema sa

ubacivanjem nula je prikazana na slici. Izlaz W )( je niskofrekventnog filtera

je prikazana na slici.

Furijeova transforamcija izlaza sistema za desetkovanje Y )( je je očekivana

ili razvučena verzija W )( je . Ovo je kao što je prikazano na slici.

Prema tome:

𝑦[𝑛] =1

5𝛿[𝑛]

Scilab kod

T=1/100;

f=1/T;

t=-1:T:1;

Page 71: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 71 -

//dirakov impuls

for i=1:length(t)

if(t(i)==0) then

d(i)=1;

else

d(i)=0;

end

end

subplot(3,1,1);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("d[n]");

xlabel("t");

ylabel("d[n]");

plot(t,d,'green');

for i=1:length(t)

if(t(i)==0) then

w(i)=0;

else

w(i)=(2*%pi)/t(i);

end

end

//kreiranje x(e^jw)

w1=3*%pi/6 //manje od 3pi/2

for i=1:length(w)

if(abs(w(i))>w1) then

X(i)=1;

else

X(i)=0;

end

end

subplot(3,1,2);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("X(e^jw)");

xlabel("w");

ylabel("X(e^jw)");

plot(w,X,'blue');

Page 72: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 72 -

//kreiranje y[n]

y=(1/5)*d;

subplot(3,1,3);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

title("y[n]");

xlabel("t");

ylabel("y[n]");

plot(t,y,'red');

7.20)

Dva vremenski diskretna sistema S1 i S2 su predložena za implementaciju

idealnog nisko-frekventnog filtera sa graničnom frekvenicjom 𝜋/4. Sistem S1 je

predstavljen na slici a. Sistem S2 je predstavljen na b. Na ovim slikama, SA

odgovara sistemu za ubacivanje nula koji ubacuje jednu nulu posle svakog

ulaznog odmerka, dok SB odgovara sistemu desetkovanja koji izvlači svaki drugi

odmerak sa svog ulaza.

a) Da li predloženi sistem S1 odgovara željenom idealnom niskofrekventnom

filteru?

b) Da li predloženi sistem S2 odgovara željenom idealnom niskofrekventnom

filteru?

Page 73: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 73 -

Rešenje:

a) Pretpostavimo da je )( jeX kao što je prikazano na slici, tada je Furijeova

transformacija XA )( je izlaza SA, Furijeova transformacija X1 )( je izlaza

niskofrekventnog filtera i Furijeova transformacija XB )( je izlaza SB su svi

prikazani ispod. Očigledno ovaj sistem, u potpunosti izvršava zadatak

filtriranja.

Page 74: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 74 -

Scilab kod

clear;

clc;

T=1/10;

w=-%pi:T:%pi;

for i=1:length(w)

if(w(i)<0) then

x1(i)=w(i)+%pi;

else

x1(i)=-w(i)+%pi;

end

end

subplot(4,1,1);

plot(w,x1,"red");

w1=-0.5*%pi:T:0.5*%pi;

for i=length(w1)

if(w1(i)<0) then

x2(i)=w1(i)+%pi/2;

else

x2(i)=-w1(i)+%pi/2;

end

end

subplot(4,1,2);

plot(w1,x2,"green");

for i=1:length(w1)

w2(i)=w1(i)+%pi;

end

for i=1:length(w1)

w3(i)=w1(1)-%pi;

end

for i=1:length(w)

if w(i)<0 & w(i)>-%pi/2 then

x2(i)=w(i)+%pi;

elseif w(i)>0 & w(i)<%pi/8 then

x2(i)=-w(i)+%pi;

else

Page 75: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 75 -

x2(i)=0;

end

end

subplot(4,1,3);

plot(w,x2,"blue");

for i=1:length(w)

if w(i)<0 & w(i)>-%pi/4 then

x3(i)=w(i)+%pi;

elseif w(i)>0 & w(i)>%pi/4 then

x3(i)=-w(i)+%pi;

else

x3(i)=0;

end

end

subplot(4,1,4);

plot(w,x3,"green");

b) Pretpostavimo da je )( jeX kao što je prikazano na slici, tada je Furijeova

transformacija XB )( je izlaza SB, Furijeova transformacijaX1 )( je izlaza prvog

filtera i Furijeova transformacija XA )( je izlaza prvog niskofrekventnog filtera

su svi prikazani ispod. Očigledno, ovaj sistem, ne izvršava zadatak filtriranja.

Scilab kod

w=-%pi:0.1:%pi;

for i=1:length(w)

if w(i)<0 then

x(i)=w(i)+%pi;

else

x(i)=-w(i)+%pi;

end

end

subplot(4,1,1);

plot(w,x,"blue");

Page 76: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 76 -

for i=1:length(w)

w2(i)=w(i)+%pi

end

for i=1:length(w)

w3(i)=w(i)-%pi

end

subplot(4,1,2);

plot(w3,x,"green");

for i=1:length(w)

if abs(w(i))<%pi/2 then

x2(i)=1;

else

x2(i)=0;

end

end

subplot(4,1,3);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

plot(w,x2,"red");

for i=1:length(w)

if abs(w(i))<%pi/4 then

x2(i)=1;

else

x2(i)=0;

end

end

subplot(4,1,4);

lines(0);

a=get("current_axes");

a.axes_visible="on";

a.font_size=3;

plot(w,x2,"green");

Page 77: SEMINARSKI RAD Predmet: Osnovi analize signala i sistema Tema: Semplovanje: problemi 7.1- 7.20 Mentori

- 77 -

Literatura

Alan V. Oppenheim, Alan S. Willsky: Signals and Systems, with S.Hamid

Nawab

Alan V. Oppenheim, Alan S. Willsky: Signals and Systems Solution Manual,

with S.Hamid Nawab

Scilab Code for Signals and Systems by Alan V. Oppenheim, Alan S. Willsky

and S.Hamid Nawab

Lathi, B.P., Principles Of Linear Systems And Signals, Oxford University Press,

2009

Nagrath, I. J., Sharan, S.N.,Ranjan R., Signals And Systems, New Delhi, Tata

McGRaw – Hill Education Pvt. Ltd., 2010.