B2M31DSP cvičení
Realizace zjednodušené WT pomocí QMFB a potlačování šumu na
bázi WT
(program na 1 nebo 2 cvičení a domácí práci)
OPAKOVÁNÍ - Demonstrace rozkladu a zpětné syntézy signálu do 2 pásem
S využitím následujícího skriptu
example_filter_banks_proto.m a signálu s0001.bin (fs = 8
kHz, bez hlavičky, 16-bit PCM, pro načtení do MATLABu použít
funkci loadbin.m)
si připomeňte princip rozkladu a syntézy pomocí banky filtrů
do 2 pásem (opakování
realizované
úlohy v předmětu B2B31CZS). Sledujte signály v jednotlivých krocích, zejména si pak
uvědomte význam decimace a interpolace v jednotlivých
subpásmech.
Sledujte výkon chybového signálu na výstupu syntetizující banky filtrů.
Sledujte změnu úrovně chybového signálu při použití prototypu navrženého v MATLABu pomocí fir1 a optimálního prototypu dolní propusti pro účely perfektní rekonstrukce.
Koeficienty tohoto prototypu jsou k disposici ve výše odkazovaném skriptu.
Výsledek:
Srovnání analýzy a syntézy do 2 pásem pro výše uvedené
případy banky filtrů.
PRVNÍ TÝDEN - DOMÁCÍ ÚKOL :
Realizace rekurzivního symetrického rozkladu do více pásem
Realizujte rozklad a následně i zpětnou syntézu pomocí
banky kvadraturně zrcadlových filtrů (QMFB - Quadrature Mirror
Filter Bank) do více pásem, a to pomocí symetrické rekurzivní aplikace rozkladu/syntézy signálu do/z 2
pásem. Implementujte tento rozklad obecně s volitelným počtem
stupňů N použité banky filtrů.
Vstupní resp. výstupní signály v každé jednotlivé sekci
organizujte v maticích, kde signály v jednotlivých pásmech budou
uloženy ve sloupcích těchto matic.
Určete zpoždění generované bankou filtrů s N úrovněmi a toto
zpoždění vhodně kompenzujte.
Určete chybový signál na výstupu syntetizující banky filtrů a
spočítejte odstup chybového signálu od originálu dle vztahu SNR_e = 10*log10(Ps/Pe).
Pracujte s následujícími signály:
- SA001S01.CS0 (fs = 16
kHz, bez hlavičky, 16-bit PCM, pro načtení do MATLABu použít
funkci loadbin.m),
- případně jiným řečovým/akustickým signálem (je možné použít i vlastní nahrávku),
- jednotkový puls na pozici 2500 celkové délky signálu 10000 vzorků.
Výsledek:
Zobrazte původní signál, rozložené signály do jednotlivých
pásem banky filtrů.
Zobrazte zpětně syntetizovaný signál a
chybový signál na výstupu syntetizující banky filtrů.
Určete dosažené SNR_e pro rozklad s optimálním prototypem
resp. s prototypem navrženým v MATLABu.
DRUHÝ TÝDEN :
Realizace potlačení šumu na bázi WT
Realizujte potlačení šumu na bázi WT v signálech rozložených do jednotlivých hladin rozkladu (pásem) na bázi zrcadlových filtrů (QMFB - Quadrature Mirror
Filter Bank) pomocí měkkého resp. tvrdého prahování. Vhodnou úroveň prahu zvolte na bázi analýzy části zpracovávaného signálu, která obsahuje pouze šum pozadí.
Pracujte s vybraným akustickým/řečovým signálem s přidaným aditivním bílým šumem s normálním (Gauss.) rozložením a nulovou střední hodnotou různé úrovně, tj. s nižší resp. vyšší úrovní rušení.
Sledujte potlačení barevného šumu v analyzovaném signálu. V tomto případě vyberte z následujících možností:
- nc1.bin (pro načtení do MATLABu
použijte funkci loadbin.m) - umělý nízkofrekvenční šum,
- nc2.bin - umělý vysokofrekvenční šum,
- nc3.bin - umělý pásmový šum,
- nc4.bin - umělý pásmový šum .
Výsledek:
Zobrazte původní zašuměný signál, signál rozložených do jednotlivých
pásem před a po prahování, zpětně syntetizovaný signál s potlačeným šumem.
Srovnejte vstupní SNR_in zašuměného signálu a dosažené SNR_out výstupního zvýrazněného signálu s potlačeným šumem.