[Brmlab] Pokracovani DSP nights

George Blackhead blackhead at blackhead.cz
Wed Mar 27 01:25:33 CET 2013


Hezky pekne!

Tak ja teda mozna taky prijdu... Teda pokud uz neni pozde "zacit"...

BH

-----Original Message-----
From: brmlab-bounces at brmlab.cz [mailto:brmlab-bounces at brmlab.cz] On Behalf Of David Klusacek
Sent: Tuesday, March 26, 2013 9:21 PM
To: Brmlab: Hackerspace Prague (main discussion)
Subject: Re: [Brmlab] Pokracovani DSP nights


>   Mili brmlabaci,
> 
>   David Klusacek se rozhodl navazat na slavnou tradici DSP nights,
> ovsem v trochu exaktnejsim duchu - sam jiste rad doda, cim presne
> se planuje zabyvat. O terminu muzete hlasovat v Doodlu:
> 
> 	http://doodle.com/35n3885b9srvnzb8
> 
> 				Petr "Pasky" Baudis

Jak Pasky sliboval, zde je dodatek:

Chci to udelat o neco vice matematicke, ale nebojte, vse vysvetlim a nazorne
nakreslim a nepujdu dal dokud to vsichni nepochopi. V podstate si vystacime
se stredoskolskou matematikou (pozdeji mozna tu a tam neco zintegrujeme,
kdyby to nekdo uz od stredni zapomel, tak ukazu co si pod tim intuitivne
predstavovat, aniz bych zabihal do detailu).

Budu se snazit uvest na pravou miru debaty z minulych DSP kurzu, na kterych
jsem sice nemohl byt osobne, ale pozorne jsem se dival na zaznam. Debaty
jako k cemu je oversampling kdyz clovek stejne tak vysoko neslysi, jak
funguje I/Q sampling, jak je to s temi okenky u FFT, atd.

Vzdy se budu snazit ukazovat matematicke pojmy na nejake skutecne aplikaci,
abyste si je podle toho mohli zapamatovat. 

Prednasky na sebe ale navazuji, a v dalsi uz budu pouzivat to co vysvetlim
minule, takze doporucuji chodit pravidelne nebo se pred prednaskou podivat
na zaznam.


Lekce 1
¯¯¯¯¯¯¯

(1) Vektory a matice. Jak vektory souvisi s prostorem (souradnice). Jak se
transformuji souradnice pri otaceni kolem osy -- tim `objevime' maticove
nasobeni (aplikace: transformace objektu v pocitacove grafice).

(2) Funkce sin(), cos(), exp() a jejich vlastnosti.

(3) Komplexni cisla a proc jsou dulezita i kdyz ve skutecnem svete o komplexni
signal bezne nezakopnete. Souvislost s (1) a (2).

(4) Signaly konecne delky. Generator sinusovky vyuzivajici pouze celociselne
+ a * (aplikace: algoritmus pro nakresleni kruznice nebo elipsy, nebo
jednoduchy zvukovy syntezator z Arduina). Vliv zaokrouhlovani.

(5) Prvni setkani s cislicovymi filtry FIR a IIR. Co provedou se sinusovkou
a smesi sinusovek (aplikace: equalizer z Arduina (stihne-li to spocitat)).


Lekce 2
¯¯¯¯¯¯¯

(1) Opakovani (5) z minula, specialni pripad: klouzavy prumer a hrebenovy filtr.

(2) Diskretni Fourierova transformace (DFT).

(3) FFT neboli rychly zpusob vypoctu DFT. Nejprve drevorubecky a pak
elegantne pomoci matic. Jak delat FFT na vektorech libovolne (i prvociselne)
delky. Jak ekonomicky pocitat FFT, kdyz ma vstup nulovou imaginarni cast.

(4) souvislost FIR filtru s nasobenim polynomu. Konvoluce a jeji rychly
vypocet pomoci FFT (aplikace: moznost rychleho vypoctu FIR filtru s velmi
mnoha (desitkami tisic) koeficientu, nebo napr. nasobeni velmi dlouhych
cisel).


Lekce 3
¯¯¯¯¯¯¯

(1) Casove neomezene signaly. Energie signalu. 

(2) Fourierovy rady (tady si trochu zaintegrujeme) a proc je potrebujeme k
definovani casove neomezeneho signalu. Signal a jeho spektrum. Parsevalova
rovnost.

(3) `Datovy typ' signal a operace na nem definovane: zesileni, scitani,
konvoluce, posunuti v case, nasobeni 2 signalu, inverze signalu, obraceni
signalu v case, komplexni sdruzeni a proc to najednou delame tak formalne.

(4) Linearni, casove invariantni system (LTI), ktery transformuje signaly
(muze to byt napriklad ozvena v mistnosti). Jak souvisi LTI a konvoluce.

(5) Priklad LTI: Brick-wall filter a prvni setkani s principem neurcitosti.

(6) Obecny cislicovy filtr a jeho reseni. z-rovina: poly a nuly obecneho
filtru. 2smerne filtry pro filtry s poly mimo jednotkovou kruznici.

(7) V teto lekci nebude aplikace (ale teorii pouzijeme v dalsich lekcich,
takze nebojte aplikace to ma). Misto ni si dovolim historickou vsuvku o
Babbagove `Difference Engine' na kterou se da divat jako na specialni pripad
cislicoveho filtru. Vysvetlim jak si pomoci takoveho filtru muzete spocitat
logaritmicke tabulky, nebo navigacni tabulky pro lodstvo jejiho velicenstva.
Kdyz uz budu v tom tak ukazu jak spocitat nejakou konkretni hodnotu cos(x),
exp(x), sqrt(x), a jak pocitat dvojkovy logaritmus kdyz nemate nasobicku
(tzv. Feynmannuv algoritmus (ktery objevil kdyz pomahal konstruovat
Connection Machine 1)).


Lekce 4
¯¯¯¯¯¯¯

(1) Prenosova funkce filtru. Amplitudova a fazova charakteristika. Skupinove
zpozdeni. Zaporne skupinove zpozdeni a paradox `stroje casu'. Numericky
odhad skupinoveho zpozdeni z fazove charakteristiky.

(2) Prakticka realizace filtru (tak aby nam vysledek neznicily
zaokrouhlovaci chyby, apod). Take si povime o ruznych druzich
zaokrouhlovani.

(3) Filtry s minimalni fazi --- proc jim dat prednost pri zpracovani zvuku
(psychoakustika a problem pre-echa (jeden z duvodu proc HiFisti nemaji radi
nektere digitalni systemy zaznamu zvuku)).

(4) Modulace signalu sinusovkou (aplikace: voice changer, nebo vyber jednoho
z kanalu v SDR).


Lekce 5
¯¯¯¯¯¯¯

(1) Okenka a k cemu jsou dobra. Short time fourier transform (STFT).
Souvislost STFT a FIR filtru.

(2) Hilbertova transformace, analyticky signal a I/Q samply (aplikace:
presny amplitudove-frekvencni demodulator)

(3) Vzrokovaci veta, aliasing, AD a DA prevodniky, Kelluv efekt.


Myslim ze to zatim na ukazku staci, dale se muzeme domluvit podle toho co by
vas zajimalo (treba komprese zvuku, 2D signaly (obrazky), teorie informace a
prenos informace po zasumelem kanalu, rozpoznavani reci, NMR-tomograf,...)


David

_______________________________________________
Brmlab mailing list
Brmlab at brmlab.cz
http://brmlab.cz/cgi-bin/mailman/listinfo/brmlab



More information about the Brmlab mailing list