Professional Documents
Culture Documents
FIR Prilagođeni Filtar
FIR Prilagođeni Filtar
1.
Uvod
FIR prilagoeni filtar slui za uklanjanje poznatog uma iz digitalnog impulsnog signala, npr. digitalni serijski prijenos informacija. Koristi se u sluajevima gdje je signal jako pokriven umom, odnosno koristi se u onim sustavima gdje nije potrebno dobiti vjeran oblik signala, ve samo informaciju da je signal stigao. Prilagoeni filtar maksimizira odnos signal-um uz prisutnost sluajnog uma u nekom odabranom trenutku t0. Izlaz prilagoenog filtra je kroskorelacijska funkcija ulaznog signala i eljenog signala.
2.
Upotrebljava se u digitalnim komunikacijama, detekciji radarskih i sonarskih signala i sl. Ovdje priamo o hardwareovskom filrtru, filtar se moe i realizirati softwareovski i sluiti za obradu nekih signala. Primjer upotrebe FIR prilagoenog filtra u DVB (digital video brodcast) prijemniku (satelitskom digitalnom prijemniku):
Inae tvrtka XILINX trenutano je jedna od vodeih u realizaciji i primjeni naeg filtra. Pomou svojih FPGA programibilnih ipova s kojima se mogu realizirati razni modeli FIR prilagoenog filtra, pa i ostali sklopovi, gotovo cjeli prijemnik ili predajnik sa gornje slike (osim RF dijela!). Naravno XILINX ne realizira na filter direktnom realizacijom kao mi jer onda taj filter ne bi mogao biti dovoljno brz i dobar, tj. ne bi bio upotrebljiv na gornjem primjeru gdje je ostvarena velika brzina prijenosa podataka. Njihova realizacija filtera trenutano nadilazi nau matu, njihov FIR prilagoeni filter je znatno sloeniji i poboljan dodavanjem raznih dodatnih digitalnih sklopova u sam sklop filtra, ovisno o upotrebi. Npr. imaju ak i rjeenja sa FIR prilagoenim filtrom za novu generaciju UMTS GSM mree.
3.
hopt (t ) = k x(t 0 t )
odnosno
hopt (t ) = k x(t +t 0 )
s time da pomak t0 mora biti vei od trajanja signala da bi odziv bio kauzalan. Primjer:
x(t-t0) x(t)
x(t0-t)
t0
t0 +T
t0
Na ovom primjeru odziv s kanjenjem t0 i zrcaljenje oko vertikale kroz t0.
FIR filter veliine M karakteriziran s M koeficijenata potrebuje M mnoila i M-1 zbrajala za direknu realizaciju. Prijenosna funkcija glasi:
H ( z ) = h[k ]z k
k =0
M 1
M 1
dakle:
4.
FIR prilagoeni filtar prilagoen je na pravokutni impuls koji ustvari predstavlja osnovni dio od kojega se bazira digitalni signal koji e kasnije filtrirati. U primjeru simulacije filtar treba izfiltrirati um iz digitalnog serijskog prijenosa podataka, neeg signala, koji se sastoji od niza logikih 1 i 0 s jednakim periodom. Stoga filtar se mora prilagoditi za takav signal, tj. moraju se izraunati koeficijenti, signal za prilagodbu mora se sastojati jednoliko od oba stanja, jedne logike 1 i 0, tj. jedan pravokutni impuls. Zbog jednostavnosti izabran je bijeli um i hopt[M-1]=b[M-1]. Simulacija je izvrena za FIR prilagoeni filter s 32 i 64 koeficijenta, izabrani pomak t0 za 32 koeficijenta je 33, za 64 t0 je 65. Signal na kojega se filtar prilagoava:
5.
Zakljuak
Iz primjera za 32 i 64 koeficijenta naeg filtra vidi se da filtar radi bolje sa vie koeficijenata, tj. bolje se moe odrediti eljeni signal iz zaumljenog signala. Ukoliko bi odredili neku graninu razinu iz naeg primjera mogli bi odrediti logika stanja (0 i 1) filtriranog digitalnog signala. U praksi ne moemo napraviti dobar i brz filtar sa puno koeficijenata, zbog ogranienja brzine i koliine hardwarea, ali vidimo da je firma Xilinx ipak uspjela realizirati zadovoljavajue dobar filtar uz razne modifikacije i realizacije, za DVB prijenos, te za UMTS i sl.
6.
Literatura
Sanjit K. Mitra : Digital signal processing, inernational editions 1998. Donald G. Childers : Probability and random process Ricardo Losada : Practical FIR Filter Design in MATLAB, The MathWorks, Inc., January 12, 2004. biljeke s kolegija Sluajni procesi u sustavima http://www.xilinx.com http://www.mhhe.com/engcs/electrical/mitra/index.mhtml http://www.mathworks.com
Hopt=FIRBijeliSum(T, t0); Signal=[ones(1,2*T) zeros(1,2*T) ones(1,2*T) zeros(1,2*T) zeros(1,2*T) ones(1,2*T) zeros(1,2*T) ones(1,2*T) ones(1,2*T) zeros(1,2*T) zeros(1,2*T)]; SignalLength=length(Signal); BijeliSum=randn(1,SignalLength); SignalIBijeliSum=Signal+BijeliSum; % Signal s umom
akf=conv(Signal,Hopt); % Ako se na ulaz prilagodjenog filtra dovede signal za kojeg je on % prilago?en odziv autokorelacijska funkcija tog signala odziv= conv(SignalIBijeliSum,Hopt); % Odziv na signal s um figure, hold on, plot(akf,'r'),plot(odziv), title('Odziv FIR filtra i autokorelacijska funkcija'); b=Hopt; % Koeficijenti prilago?enog FIR filtra
FIRBijeliSum.m
function Hopt=FIRBijeliSum(T, t0) % Funkcija FIRBijeliSum(T, t0) prima dvije varijable trajanje signala za prilagodbu T % (T mora biti djeljiv sa 2 !!), koje je radi jednostavnosti i broj koeficijenata filtra, % eljeno kanjenje t0 koje mora biti t0 > T/2 kako bi odziv bio kauzalan(T/2 je % vrijeme trajanja logi?ke 1, stepenice). % Funkcija vra?a odziv prilago?enog filtra na signal za prilagodbu % (stepenicu, signal od logi?ke 1 i 0) za slu?aj bjelog uma, tj. % vrijednosti koeficijenata filtra SignalZaPrilagodbu=[ones(1,T/2) zeros(1,T/2)]; % signal sadri dva logi?ka stanja 1 i 0 jednolikog trajanja T/2, ukupno traje T figure, plot(SignalZaPrilagodbu), title('Signal za kojeg se filtar prilago?ava'); SignalZaPrilagodbu=[zeros(1,t0) SignalZaPrilagodbu]; % pomak signala za t0 udesno
Hopt=zeros(1, T); for k=0:T/2 Hopt(t0-k)=SignalZaPrilagodbu(t0+k); end figure, plot(Hopt), title('Odziv prilagodjenog filtra za bijeli um'); koeficijenti=Hopt; % koeficijente FIR filtra spremamo u matricu koeficijenti[]
Model u MATLABU (prvi model realiziran direktnom realizaciom vrijedi samo za 32 koeficijenta, dok druga dva vrijede za neogranieno koeficijenata za siganal bez uma i signal s umom) :
E U S S z a L l P e A k R m a Z S a l A s e n i + g K n j T e n u t I n
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i m _ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i g n
- - - - K- K- K- - - K - K - K- - - K - K - K- - - K - K - K- - - K - K - K - - - K - K - K- - - K - K - - - - - - - - - - b b b b b b b b b b 0 b 1 3 b 2 4 b b b 5 b 6 b 7 9 8 b 1 b 1 b 1 b 1 b 1 b 1 b 1 b b b 2 0 b 2 1 b 2 2 4b 2 3 3 3 5 1 6 1 6 1 2 2 7 2 8 2 9 1 0 7 8 9 1 0
2 3
S S F S
b 1 A
I i i O I i g m
Z d K R g
L _ n z F f n
A S a i a i l l
Z i v t l a b b g 1 r e n
S S F
b 1 O i
i g I
m d R n z
_ a f i i
S v l l t 2
i s a
g r