A4M38AVS ‐ Aplikace vestavěných systémů
Základní metody číslicového zpracování signálu ‐ část I.
Radek Sedláček, katedra měření, ČVUT v Praze ‐ FEL, 2015
Obsah přednášky Úvod, motivace do problematiky číslicového zpracování signálu či obrazu (DSP) Základní definice a pojmy okolo DSP Digitalizace signálu vzorkování, kvantování typy AD převodníků Číslicové filtry (FIR, IIR) Přenos a struktura Problém kvantování koeficientů
Úvod, motivace
Proč využívat metody číslicového zpracování signálu či obrazu ???
Úvod, motivace ‐ příklady embedded systémů okolo nás
Spotřební elektronika
Úvod, motivace ‐ příklady embedded systémů okolo nás Měřicí technika – osciloskop 32GHz
Lékařská ultrasonografie,
Počítačová tomografie RADAR
Úvod, motivace ‐ příklady embedded systémů okolo nás
Router
ADSL modem
PLC Průmyslové PC
Úvod, motivace
Všechny tyto embedded systémy mají něco společného …
Využívají metody číslicového zpracování signálu či obrazu !!!
Jak lze vestavný systém chápat ? Typicky jednoúčelový systém, který obsahuje řídicí jednotku (procesor, mikrořadič, DSP, atd. ), a je zabudovaný do zařízení, jenž má řídit. Ve srovnání s univerzálním řešením – výrazně cenově výhodnější Firmware (program procesoru) uložen v paměti typu ROM či FLASH Může být vybaven uživatelským rozhraním Může využívat OS (i RTOS) Může být vybaven komunikačním rozhraním Může využívat metody číslicového zpracování signálu
Když se řekne DSP … Zkratka z angl. Digital Signal Processing (nebo Digital Signal Processor) – číslicové zpracování signálu Před vlastním použitím DSP algoritmů – nutno provést digitalizaci analogového signálu pomocí vhodného A/D převodníku, zpětná rekonstrukce se provádí D/A převodníkem DSP algoritmus (metoda) = operace s navzorkovaným signálem (obecně DATY), může to být např. převzorkování (změna vzorkovacího kmitočtu), filtrace matematické zpracování, výpočet různých parametrů, různé transformace komprese a zpětná dekomprese dat Uspořádání jednoduchého vestavěného číslicového systému na bázi DSP Analogový signál
A/D převodník
DSP
D/A převodník
Analogový signál
Typické příklady použití DSP v praxi Telekomunikace
Přenos hlasu, datová komprese, kódování dat, zabezpečení, potlačení echa, filtrace, modulace, přepínání hlasových kanálů
Komerce
Zpracování obrazu a zvuku, komprese dat, speciální obrazové efekty, kamery, fotoaparáty, LCD TV, spotřební elektronika, mobilní telefony, PDA, MDA
Průmysl
Automatizace (monitoring a řízení procesů), nedestruktivní testování (vířivé proudy, ultrazvuková defektoskopie), aplikace v automobilovém průmyslu
Armáda
RADAR, SONAR, zabezpečená komunikace, raketové systémy
Vesmír
Výzkum,věda
Medicína
Zpracování obrazové informace např. z dalekohledů, TV, komprimace dat, analýza dat z inteligentních dálkově řízených senzorů Monitoring zemětřesení & analýza a sběr dat, simulace a modelování, spektrální analýza (FFT) Zobrazovací diagnostické metody (CT, MR, ultrazvuk), analýza elektrokardiogramů,
Příklad: mobilní telefon – principiální obvodové řešení
Příklad : mobilní telefon – blokové schéma (dílčí bloky)
Z‐transformace Při číslicové zpracování signálu se pracuje s diskrétním vzorky dat – často je potřeba použít při popisu diskrétních systémů či signálů matematický aparát, tzv. Z‐transformaci
Základní teoretické pojmy, definice, vztahy, vysvětlení … Jednotkový skok
Jednotkový (Diracův) impulz
Základní teoretické pojmy, definice, vztahy, vysvětlení … Impulzní charakteristika – odezva systému na jednotkový impuls, Laplaceův obraz impulsní charakteristiky odpovídá přenosu ! Přechodová charakteristika – odezva systému na jednotkový skok Vzorkování – realizováno pomocí vzorkovacího obvodu – při vzorkování signálu je nutné splnit tzv. vzorkovací teorém – s tím souvisí použití anti‐ aliasing filtru
Základní teoretické pojmy, definice, vztahy, vysvětlení … Vzorkovací obvod (SAMPLE‐and‐HOLD zesilovač)
Základní teoretické pojmy, definice, vztahy, vysvětlení … Anti‐aliasing filter – slouží pro omezení frekvenčního pásma před vzorkováním signálu, splnění vzorkovacího teorému – zamezí překrývání spektra vstupního signálu – používá filter typu dolní propust
Vzorkovací (Shannonův‐Kotělnikův) teorém Zpětná a přesná rekonstrukce spojitého, frekvenčně omezeného signálu z jeho diskrétních hodnot možná pouze tehdy, je‐li vzorkovací kmitočet alespoň 2x vyšší než‐li maximální frekvence rekonstruovaného signálu.
Základní teoretické pojmy, definice, vztahy, vysvětlení …
A/D převodník – slouží k digitalizaci vstupního analogového signálu (vzorkuje+kvantuje)‐ výstupem je digitální číslo výstupní kód = (VIN / VREF) x 2N Vstupní napětí
(2N)-1 Digital Output (codes)
Kvantování – ke kvantování dochází v A/D převodníku v důsledku konečného rozlišení A/D převodníku
ADC Transfer Function
0 FullScale
0 Analog Input (V)
V+
Výstupní kód(10-bit)
>= VREF
1023 (0x03FF)*
VREF – 1 LSB
1023 (0x03FF)
½ VREF
512 (0x0200)
¼ VREF
256 (0x0100)
0V
0 (0x0000)
* Output of ADC is saturated
VREF
Reference Voltage AIN GroundReferenced Input Signal
Digital Output
ADC
Základní teoretické pojmy, definice, vztahy, vysvětlení … Chyby převodníků – diferenciální, integrální nelinearita
111 110
110
101
-0.5 LSB +0.5 LSB
100 011
ADC with Perfect DNL: All code widths are 1 LSB
010 001
Digital Code Output
Digital Code Output
111
Straight Line Reference for Transfer Function
ADC Skipped Code 100
101 100 011 010
2 LSB
001
000 0
7/8 x VREF Analog Voltage Input
000 0
7/8 x VREF Analog Voltage Input
Základní teoretické pojmy, definice, vztahy, vysvětlení … Příklad : Záznam zvukové stopy na CD‐ROM (formát audio‐CD) – využívá se pulzně kódová modulace (PCM) – vzorkovací frekvence 44,1 kHz Příklad 4‐bitové PCM
Základní teoretické pojmy, definice, vztahy, vysvětlení … Frekvenční spektrum signálu – nese informaci o rozložení jednotlivých spektrálních složek (frekvencí) v analyzovaném signálu – spektrum získáme aplikací Fourierovy transformace Příklady signálů, jejich spektra: harmonický signál (sin) – jedna frekvenční složka
symetrický obdélník (střída 1:1) – obsahuje pouze liché harmonické (útlum 1/n)
trojúhelník – obsahuje liché složky s alternující fází (0,180)
Dirac ‐ zastoupeny všechny frekvenční složky – konstantní amplituda
Základní teoretické pojmy, definice, vztahy, vysvětlení … Nejběžnější typy A/D převodníků: s postupnou aproximací – střední rychlé, rozlišení typicky 12‐18 bit.
Základní teoretické pojmy, definice, vztahy, vysvětlení … integrační – nejpřesnější, nejpomalejší, rozlišení 16 ‐18 bit., potlačují sériové rušení na kmitočtu, jehož převrácená doba periody odpovídá n‐ násobku doby integrace (typicky 20 ms ~ 50 Hz)
Základní teoretické pojmy, definice, vztahy, vysvětlení … paralelní – nejrychlejší, rozlišení cca do 8 ‐ 10 bit. – dáno počtem komparátorů
Základní teoretické pojmy, definice, vztahy, vysvětlení …
‐ převodník – pracuje na principu vyrovnání náboje
Obsah přednášky Úvod, motivace do problematiky číslicového zpracování signálu či obrazu (DSP) Základní definice a pojmy okolo DSP Digitalizace signálu vzorkování, kvantování typy AD převodníků Číslicové filtry (FIR, IIR)
Co je to filtrace 1‐D, 2‐D signálů? 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)
Souvislost mezi filtrací a konvolucí Spojité soustavy Příklad : vstupní signál X(j obsahující dvě složky fR, fS a filtr s přenosem H(j ‐ typ dolní propust s mezním kmitočtem f0
x(t) X
y(t) H
Y
Konvoluce v časové oblasti odpovídá prostému násobení ve frekvenční oblasti.
Souvislost mezi filtrací a konvolucí 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
Souvislost mezi filtrací a konvolucí Nechť H(z) má přenos
bi jsou přímo koeficienty filtru (FIR) Pak v časové oblasti platí:
x(n) až x(n‐N) jsou vzorky signálu
Definice číslicových filtrů Z hlediska teorie systémů : ČF = LTI (Linear Time‐Invariable system) ČF ‐ velice významná oblasti v DSP –ve srovnání s analogovými filtry vykazují vynikající vlastnosti – lze prakticky realizovat libovolný přenos fitru. Slouží pro separaci nebo pro rekonstrukci signálů. Základní stavební prvky : zpožďovací člen (paměť) sčítačka násobička
Z -1
Obecný přenos filtru Každý ČF lze popsat např. přenosovou funkcí, vyjádřenou v z‐transformaci (pomocí diferenční rovnice) Obecný přenos filtru vyjádřený z‐transformaci 0
1
1. 1.
1 1
2. 2.
2 2
… …
. .
Jsou‐li koeficienty a1, a2, … aM nulové, pak se jedná o FIR filtr Jsou‐li koeficienty a1, a2, … aM různé od nuly, pak se jedná o IIR filtr Obecně polynom A(z) definuje zpětnou vazbu mezi výstupem a vstupem – z toho důvodu IIR nemusí být vždy stabilní.
Základní rozdělení číslicových filtrů Finite Impulze Response (FIR) – konečná impulsní odezva 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í pro velké řády
Infinite Impulze Responce (IIR) – nekonečná impulzní odezva nemusí být vždy stabilní analogie k analogovým filtrům požadovanou strmost lze dosáhnout při nižším řádu než‐li u FIR nelineární fáze
Z hlediska struktury (zpětně vazby) : rekurzivní, nerekurzivní
Struktura číslicových filtrů typu FIR Přímá forma (DIRECT FORM I)
Transverzální forma (DIRECT FORM II – TRANSPOSED) ‐ stejná charakteristika ‐ jiná struktura
x(n)
b0
b1
b2 y(n)
Z -1
Z -1
Struktura číslicových filtrů ‐ IIR Přímá forma (DIRECT FORM I)
Struktura číslicových filtrů ‐ IIR Forma DIRECT FORM II
Tato realizace využívá minimální počet zpožďovacích členů.
Kaskádní (sériové ) řazení filtrů
Výsledný přenos
Paralelní řazení filtrů Z -1
x(n)
Z -1
b0
b1
b2 y(n)
H0
Z -1
Výsledný přenos Z -1
b0
b1
H1
b2
Problém s kvantováním koeficientů pracujeme‐li s konečným rozlišením čísel, nutně tento problém musí nastat např. v MATLABu koeficienty filtrů spočteny s daleko větší přesností než je reálná implementace 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í !
Návrhové prostředky v prostředí MATLAB Nejdostupnější a nejrychlejší způsob – využití prostředí MATLAB. Definováno mnoho funkcí pro návrh FIR i IIR filtrů (v základní toolboxu):
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)
Návrhové prostředky v prostředí MATLAB Vykreslení frekvenční charakteristiky navrženého filtru ‐ funkce freqz : [H,W] = FREQZ(B,A,N) Pozn.: Je‐li řád filtru N, filter má N+1 koeficientů !!! Existuje grafický toolbox pro návrh ČF ‐ Filter Design and Analysis Tool (v prostředí MATLAB se spustí příkazem FDATOOL)
Nástroj FDATOOL – grafické rozhraní toolboxu
Nástroj FDATOOL – co umí ?
Intuitivní ovládání Design FIR, IIR (Butterworth, Chebysev I, II, Eliptický) Volitelné typy frekvenční charakteristiky – DP, HP, PP, PZ Výběr fyzické realizace (přímá, transpovaná, 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ší)
Vliv kvantování koeficientů na frekvenční charakteristiku Příklad : FIR, N=100, Fm =0,3*fs (fs=)
Detail frekvenční charakteristiky okolo fm Vlivem kvantování koeficientů dochází ke změnám ( posunu mezního kmitočtu i velikosti útlumu) – proto je nutné návrh filtru ověřit i po kvantování koeficientů
Příklady digitálních filtrů Frekvenčně selektivní filtry:
dolní propust (low pass)
horní propust (high pass)
pásmové propusť (band pass)
pásmové zádrže (band stop)
Příklady digitálních filtrů Klouzavý průměr:
1
1
1
1
…
1
0
FIR realizující průměrování 6.řádu Lze např. využít na potlačení rušení na frekvenci 2/N
Příklady digitálních filtrů Diskrétní integrátor:
Diskrétní derivátor:
Příklady použití: detekce hran v obraze, výpočet rychlosti ze zrychlení
Srovnání analogových a číslicových filtrů
= FIR (N=100)
Srovnání analogových a číslicových filtrů
Nejdůležitější operace pro DSP Násobení dvou operandů A, B Y = A * B Násobení dvou operandů s akumulací, případně s odečítáním Y = Y + A*B, Y = Y – A* B Například: signálový procesor dokáže v jednom instrukčním taktu provést načtení obou operandů z datové a programové paměti, provést výpočet instrukce, výsledek uložit do registru, případně jej akumulovat k předchozímu výsledku. Tato vlastnost je dána zejména vnitřní architekturou procesoru, ta se vyznačuje oddělenou sběrnici pro data a program (je použita tzv. harwardská architektura). Pokud procesor hardwarově podporuje tyto dvě základní operace, lze jej s výhodou použít pro zpracování signálu. Poznámka: Procesory ST32Fxx tuhle operace podporují: MUL R10, R2, R5; multiply, R10 = R2 x R5 MLA R10, R2, R1, R5; multiply with accumulate, R10 = (R2 x R1) + R5 MULS R0, R2, R2; multiply with flag update, R0 = R2 x R2 MULLT R2, R3, R2; conditionally multiply, R2 = R3 x R2 MLS R4, R5, R6, R7; multiply with subtract, R4 = R7 ‐ (R5 x R6)
Aplikace digitálních filtrů filtrace rušivých signálů superponovaných na měronosný signál potlačení šumu omezení frekvenčního pásma separace různých frekvenčních složek signálu (viz. např. audio‐ekvalizéry, mixážní pulty, apod.) průměrování v čase mohou realizovat různé matematické operace: integrace, derivace či jiné transformace signálu