A0M38SPP - Signálové procesory v praxi - přednáška 4 2 Číslicové filtry typu FIR a IIR definice operace filtrace základní rozdělení FIR, IIR základní vlastnosti, používané struktury filtrů návrhové prostředky MATLAB problém kvantování koeficientů
A0M38SPP - Signálové procesory v praxi - přednáška 4 3 Odstranění jedné nebo více frekvenčních částí (složek) ze spektra zpracovávaného signálu (např. odstranění rušivých nežádoucích složek) Z teorie zpracování signálů známe, že je potřeba důsledně rozlišovat: Spojité signály a systémy (soustavy) popis pomocí Laplaceovy transformace výpočet spektra pomocí Fourierovy transformace (FT) Diskrétní signály a systémy (soustavy) popis pomocí Z transformace výpočet spektra pomocí diskrétní Fourierovy transformace (DFT)
A0M38SPP - Signálové procesory v praxi - přednáška 4 4 Spojité soustavy Příklad vstupní signál X(j obsahující dvě složky f R, f S a filtr s přenosem H(j typ dolní prostu s mezním kmitočtem f 0 x(t) y(t) X H Y Konvoluce v časové oblasti odpovídá prostému násobení ve frekvenční oblasti
A0M38SPP - Signálové procesory v praxi - přednáška 4 5 Diskrétní soustavy Uvažujme stejný příklad jako v předchozím případě analogické jako pro spojité signály, jen místo FT se používá Z transformace diskrétní konvoluce
A0M38SPP - Signálové procesory v praxi - přednáška 4 6 Nechť H(z) má přenos b i jsou přímo koeficienty filtru (FIR) Pak v časové oblasti platí: x(n) ( ) až x(n N) ( ) jsou vzorky signálu
A0M38SPP - Signálové procesory v praxi - přednáška 4 7 Z hlediska teorie systémů ČF = LTI čili Linear Time Invariable system Velice významná část v oblasti DSP vykazují vynikající vlastnosti ve srovnání s analogovými filtry Slouží pro separaci nebo pro rekonstrukci signálů Základní stavební prvky : zpožďovací člen (paměť) sčítačka násobička Z -1
A0M38SPP - Signálové procesory v praxi - přednáška 4 8 Každý ČF lze popsat např. přenosovou funkcí, vyjádřenou v z transformaci i(diferenční č rovnice) Obecný přenos filtru vyjádřený z transformaci 0 1. 1 2. 2. 1 1. 1 2. 2. Je li polynom A(z)=1 pak se jedná o FIR filter Je li polynom A(z) 1 pak se jedná o IIR filter Obecně polynom A(z) definuje zpětnou vazbu mezi výstupem a vstupem z toho důvodu IIR nemusí být vždy stabilní
A0M38SPP - Signálové procesory v praxi - přednáška 4 9 FIR Finite Impulze Response Vždy stabilní dáno n násobným polem v nule (n tý řád filtru) Pro dosažení veliké strmosti nutno zvolit vysoký řád filtru Majílineární fázi Nevýhodou je nárůst zpoždění IIR Infinite Impulze Responce Nemusí být vždy stabilní Analogie k analogovým filtrům Požadovanou strmost charakteristiky lze dosáhnout při nižším řádu než li u FIR Nelineární fáze
A0M38SPP - Signálové procesory v praxi - přednáška 4 10 Přímá forma (DIRECT FORM) Transverzální forma (DIRECT FORM TRANSPOSED) x(n) b 0 b 1 b 2 Z -1 Z -1 y(n)
A0M38SPP - Signálové procesory v praxi - přednáška 4 11 Výsledný přenos Při paralelním řazení bloků výsledný přenos dán součtem dílčích přenosů
A0M38SPP - Signálové procesory v praxi - přednáška 4 12 x(n) Z -1 Z -1 b 0 b 1 b 2 H 0 Z -1 Z -1 y(n) Při paralelním řazení bloků výsledný přenos dán součtem dílčích přenosů Výsledný přenos b 0 b 1 b 2 H 1
A0M38SPP - Signálové procesory v praxi - přednáška 4 13
Tato realizace využívá minimální počet zpožďovacích členů A0M38SPP - Signálové procesory v praxi - přednáška 4 14
A0M38SPP - Signálové procesory v praxi - přednáška 4 15 Pracujeme li s konečným rozlišením čísel, nutně tento problém musí nastat V MATLABu jsi spočítám koeficienty filtrů s daleko větší přesností než jsem schopen implementovatna na DSP či FPGA Dochází tedy ke kvantování těchto koeficientů S tím souvisí změna frekvenční charakteristiky filtru Nutno kontrolovat může vybočit mimo rámec zadání, v případě IIR filtrů může být nestabilní!
A0M38SPP - Signálové procesory v praxi - přednáška 4 16 Nejdostupnější a nejrychlejší způsob využití prostředí MATLAB Definovány funkce pro návrh FIR i IIR filtrů (v základní knihovně): FIR1 : b=fir1(n,wn), B = FIR1(N,Wn,'high') FIR2 : B = FIR2(N,F,A), Butter : [B,A] = BUTTER(N,Wn), [B,A] = BUTTER(N,Wn,'low') Cheby1 : [B,A] = CHEBY1(N,R,Wp), CHEBY1(N,R,Wp,'stop') Cheby2 : [B,A] = CHEBY2(N,R,Wst), Ellip : [B,A] = ELLIP(N,Rp,Rs,Wp)
A0M38SPP - Signálové procesory v praxi - přednáška 4 17 Vykreslení frekvenční charakteristiky navrženého filtru funkce freqz [H,W] = FREQZ(B,A,N) Existuje speciální grafický tool box pro návrh ČF Filter Design and Analysis Tool (FDATOOL) Je li řád filtru M, filter má M+1 koeficientů!!!
A0M38SPP - Signálové procesory v praxi - přednáška 4 18
A0M38SPP - Signálové procesory v praxi - přednáška 4 19 Intuitivní ovládání Design FIR, IIR (Butterworth, th Chebysev I, II, Eliptický) Volitelné typy frekvenční charakteristiky DP,HP,PP, PZ Výběr fyzické realizace (přímá, traspovaná, atd.) Vykreslení průběhu frekvenční a fázové charakteristiky Zobrazení rozložení pólů a nul filtru v komplexní rovině Koeficienty navrženého filtru lze exportovat do textového souboru nutno definovat též formát dat (např. double float, unsigned 16 a další)
Příklad : FIR, N=100, Fm =0,3*f s (f s = ) A0M38SPP - Signálové procesory v praxi - přednáška 4 20
A0M38SPP - Signálové procesory v praxi - přednáška 4 21
Při kvantování koeficientů obecně dochází ke změně ve frekvenční charakteristice Při implementaci na DSP nutno ověřit, zda li filtr splňuje veškeré požadavky U IIR filtrů nutno zkontrolovat polohu pólů (ověřit stabilitu filtru) A0M38SPP - Signálové procesory v praxi - přednáška 4 22
A0M38SPP - Signálové procesory v praxi - přednáška 4 23 1) seznámit se blíže s FDAtool nástrojem 2) navrhnout konkrétní FIRtypudolní nebohornípropust 3) pomocí nachystaného demo_projektu (audio_loopback) realizovat sw pro filtraci vstupního signálu vzorkovaného AD kodekem 4) implementovat vlastní algoritmus filtrace,tj.,j realizovat výpočet. 0 0 1 1 b i jsou přímo koeficienty filtru (FIR) x(n) ( ) až x(n N) ( jsou vzorky signálu 5) Ověřit funkci implementovaného filtru pomocí generátoru a osciloskopu (změřit frekvenční charakteristiku filtru alespoň ve třech bodech)