Tento dokument vcetne vsech odkazu pouziva kodovani ISO
885í-2 (Latin-2)
B2B31CZS cvičení - Číslicová filtrace ve frekvenční oblasti
Cyklická konvoluce - OLS, OLA.
Úkoly k vypracování:
- Lineární konvoluce
- Vytvořte posloupnost reprezentující impulsní odezvu filtru
klouzavého průměru řádu M=100, tj. impulsní odezvu
délky N1=M+1=101 .
- Vytvořte posloupnost délky N2=4000
vzorků reprezentující signál x[n], která bude obsahovat součet
sinusovky nulovým fázovým posuvem s parametry A = 1, f = 12 Hz,
fs = 8000 Hz a bílého šumu s normálním rozložením s nulovou
střední hodnotou a jednotkovým rozptylem.
- Realizujte filtraci výše uvedeným filtrem klouzavých průměrů pro
potlačení přítomného náhodného šumu na bázi lineární konvoluce
(fce conv) těchto dvou posloupností.
- Výsledek:
Zobrazte
- frekvenční charakteristiku v dB filtru klouzavých
průměrů h[n],
- impulsní odezvu filtru klouzavých
průměrů h[n],
- vstupní signál x[n],
- výstupní signál y[n], tj. výsledek lineární
konvoluce x[n] a h[n].
- VE VOLNÉM ČASE nebo DOMA:
Zvažte, jak by se realizovala výše uvedená filtrace pomocí IIR filtru na bázi exponenciálního zapomínání (y[n] = p * y[n-1] + (1-p) * x[n], parametr zapomínání volte p=0.98).
Opakujte s filtrem aproximujícím exponenciální zaomínání na bázi FIR filtru s exponenciální impuslovou odezvou konečné délky N1=101 vzorků.
- Cyklická konvoluce
- Vypočítejte cyklickou konvoluci mezi posloupnostmi x[n]
a h[n] pomocí DFT řádu:
- NDFT = N1+N2-1
- NDFT = N2,
- NDFT = 512 (případně kratším, např. 256),
- NDFT > N1+N2-1.
- Výsledek:
Vykreslete dosažené výsledky na bázi lineární a cyklické konvoluce
do jednoho obrázku a vysvětlete pozorované rozdíly.
- Realizace cyklické konvoluce pro dlouhé signály (on-line zpracování)
- Proveďte filtraci na bázi cyklické konvoluce nezávislým
zpracováním v krátkodobých segmentech délky NDFT = 512
vzorků. Segmentaci realizujte bez překryvu a srovnejte opět dosažené
výsledky na bázi lineární a cyklické konvoluce.
- Proveďte filtraci na bázi cyklické konvoluce nezávislým
zpracováním v krátkodobých segmentech s překryvem na bázi metody OLS
(Overlap-And-Save, tj. metoda uschování přesahu). Řád FFT volte opět NDFT = 512
vzorků a srovnejte opět dosažené výsledky na bázi lineární a cyklické konvoluce.
- Proveďte filtraci na bázi cyklické konvoluce nezávislým
zpracováním v krátkodobých segmentech s překryvem na bázi metody OLA
(Overlap-And-Add, tj. metoda přičtení přesahu). Řád FFT volte opět NDFT = 512
vzorků a srovnejte opět dosažené výsledky na bázi lineární a cyklické konvoluce.
- Výsledek:
- Zobrazte a srovnejte výstupní signály vypočtené na bázi lineární
konvoluce a cyklické konvoluce po segmentech s využitím metody OLS i
OLA.
- Modelování dozvuku
- Na bázi cyklické konvoluce a metody OLA nebo OLS realizujte
filtraci modelující signál snímaný v místnosti s větším
dozvukem. Níže odkazované wav-soubory načtěte pomocí funkce audioread, pro případný
poslech uchovejte při načtení informaci o vzorkovacím kmitočtu.
- Výsledek:
- Pro naměřenou impulsní odezvu ir_iim03.wav
(vhodně zkrácenou)
a vstupní signál guitar_dry.wav
zobrazte a srovnejte výstupní signály vypočtené na bázi:
- lineární konvoluce,
- cyklické konvoluce po segmentech s využitím metody OLA,
- cyklické konvoluce bez překryvu.
- Srovnejte počítačový čas potřebný pro výpočet lineární a cyklické
konvoluce na bázi OLA.
- Vstupní a výstupní signály srovnejte poslechem.
- Vyzkoušejte také pro následující signály:
- impulsní odezvy:
ir_iim01.wav, ir_iim02.wav, ir_betlem.wav,
- zpracovávané signály: voice_dry.wav