Tento dokument vcetne vsech odkazu pouziva kodovani ISO
885í-2 (Latin-2)
B2B31CZS cvičení - Číslicová filtrace ve frekvenční oblasti
Metoda sčítání přesahů (OLA) s obecným oknem
Úkoly k vypracování:
- OLA s obecným oknem - základní implementace algoritmu
- Vytvořte posloupnost reprezentující impulsní odezvu filtru
klouzavého průměrování řádu M=100, tj. délky N1=101 vzorků.
- 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 pro
potlačení přítomného náhodného šumu na bázi lineární konvoluce
(fce conv) těchto dvou posloupností a zobrazte
- subplot(311) - impulsní odezvu filtru klouzavých
průměrů h[n] (stem),
- subplot(312) - vstupní signál x[n] (plot),
- subplot(313) - výstupní signál y[n], tj. výsledek lineární
konvoluce x[n] a h[n] (plot).
- POZNÁMKA. Tyto body byly součástí minulého cvičení, úkoly 1 - 2.
- Realizace metody sčítání přesahů (OLA) s obecným oknem pro
filtraci dlouhého signálu ve frekvenční oblasti. Parametry metody
a jednotlivé dílčí kroky jsou následující:
- wlen=512 - délka okna,
- wstep=wlen/2 - krok segmentace (případně překryv okna - overlap),
- wtype - typ váhovacího okna - Hannovo,
- výpočet počtu zpracovávaných oken - wnum
- generace nulového výstupní signálu,
- hlavní cyklus pro zpracování i-tého segmentu (výběr, modifikace
spektra, přičtení k výstupní posloupnosti),
- korekce pro nastavení jednotkového zesílení - wnorm.
- Vyzkoušejte pro různá okna (Hammingovo, Blakmanovo,
obdélníkové) a různé úrovně překryvu (25%, 50%, 75%).
- Výsledek:
- Zobrazte a srovnejte výstupní signály vypočtené na bázi lineární
konvoluce a s využitím metody OLA s obecným oknem při použití
Hammingova okna s 50% (případně 75%) překryvem.
- Implementace pásmové filtrace ve frekvenční oblasti
- Realizujte ve frekvenční oblasti pásmovou filtraci do telefonního pásma pro signál
vzorkovaný kmitočtem 16 kHz s využitím výše uvedené metody OLA s
Hammingovým oknem a 75% překryvem. Délku okna volte 32 ms.
!
- Filtraci realizujte vytvořením masky nulující frekvenční
komponenty komplexního spektra mimo propustné pásmo 300 Hz <= f
<= 3400 Hz.
- Výsledek:
- Zobrazte vytvořenou masku filtru (ideální frekvenční charakteristiku).
- Zobrazte časový průběh a spektrogram vstupního
signálu SA107S06.CS0 (fs = 16
kHz, bez hlavičky, 16-bit PCM, signál lze načíst pomocí
loadbin.m, délku
okna pro krátkodobou analýzu při výpočtu spektrogramu volte 32 ms),
- Zobrazte časový průběh a spektrogram výstupního
signálu po omezení do telefonního pásma.
- Vstupní a výstupní signály srovnejte rovněž informativním poslechem.
- Opakujte při použití překryvu pouze 50% a
informativním poslechem ověřte kvalitu výstupního signálu.
- Opakujte při použití pravoúhlého okna a
informativním poslechem ověřte vliv nespojitostí na hranicích segmentů.
- Opakujte případně s dalšími okny a různými úrovněmi překryvu a
informativním poslechem ověřte kvalitu výstupního signálu.
- Opakujte pro řečové signály s různými vzorkovacími kmitočty
uložené v souboru
speech_8_16_44.mat (binární
formát v MATLABu, obsahuje 3 signály uložené v proměnných sig8, sig16
a sig44, pro načtení použijte příkaz "load
speech_8_16_44.mat").
- Výsledek:
- Zobrazte a srovnejte časové průběhy a spektrogramy širokopásmového
vstupního signálu sig44 vzorkovaného kmitočtem fs = 44.1
kHz a výstupního signálu omezeného do telefonního pásma.
- Implementace spektrálního prahování a spektrálního
odečítání pro potlačení bílého šumu ve směsi sinusovek
- Realizujte potlačení aditivního šumu v signálu z prvního úkolu metodou spektrálního
prahování a OLA s obecným oknem pro modelovaný signál x[n] = s[n] + n[n]
- s[n] - čistý signál: - součet 2 sinusovek s nulovým fázovým posuvem s
následujícími parametry A1 = 0.8, f1 = 100 Hz,
a A2 = 0.5, f2 = 427 Hz, vzorkovací kmitočet je v obou prípadech
fs = 8000 Hz, délka signálu t0 = 0.5 s;
- n[n] - aditivní šum: bílý šum s normálním rozložením s nulovou
střední hodnotou a rozptylem 1.5, délka signálu t0 = 0.5 s.
- Úroveň prahu pro spektrální prahování zvolte vhodně nad spočítanou úrovní bílého šumu v
amplitudovém spektru.
- Amplitudové spektrum bílého šumu pro spektrální odečítání odhadněte z výkonu bílého šumu
určeného průměrováním v horní polovině frekvenčního pásma. Po
odečtení odhadnutého amplitudového spektra aditivního šumu vynulujte
záporné hodnoty a pro
převod do časové oblasti použijte fázi vstupního (zašuměného) signálu.
- Výsledek:
- Zobrazte krátkodobé amplitudové spektrum vstupního zašuměného signálu v prvním
zpracovávaném segmentu.
- Vykreslete do odhadu spektra hladinu odpovídající amplitudovému
spektru bílého šumu a zvolenou úroveň prahu.
- Zobrazte časové průběhy vstupního signálu a signálu s potlačeným šumem.
- Vyčíslete SNR pro vstupní zašuměný signál a pro výstupní signál po
spektrálním prahování (SNR z prostředního úseku po odstranění
počátečního a koncového neúplného výstupu, např. pro vzorky 1000:3000).
PRÁCE NA DOMA:
- Implementace spektrálního odečítání
- Realizujte potlačení aditivního šumu v signálu
SA107S06_auto2.CS0 (věta,
fs = 16 kHz, bez hlavičky, 16-bit PCM) metodou spektrálního
odečítání a OLA s obecným oknem.
- Odhad výkonu šumu určete průměrováním amplitudového spektra v
počátečním úseku bez řečové aktivity.
- Po odečtení amplitudového spektra aditivního šumu negativní složky
vynulujte a pro zpětný převod do časové oblasti použijte fázi vstupního (zašuměného) signálu.
- Výsledek:
- Zobrazte krátkodobé amplitudové spektrum vstupního zašuměného signálu v prvním
zpracovávaném segmentu.
- Vykreslete do odhadu spektra hladinu odpovídající amplitudovému spektru šumu.
- Zobrazte časové průběhy a spektrogramy vstupního signálu a signálu s částečně
potlačeným šumem.
- Signály si ilustrativně poslechněte.
- Další možné signály k filtraci:
- Realizace potlačení aditivního šumu ve vlastním nahraném
řečovém signálu
- Nahrajte si vlastní promluvu s rušivým pozadím vzorkovanou
frekvencí 16 kHz. Při nahrávání zachovejte minimálně 1 vteřinovou
pauzu na začátku promluvy a amplitudové spektrum
šumu pozadí odhadněte průměrováním krátkodobých spekter v
počátečním úseku bez řečové aktivity. Realizujte spektrální
odečítání dle postupu výše.
- Výsledek:
- Zobrazte časové průběhy a spektrogramy vstupního (zašuměného) i výstupního signálu s
potlačeným rušivým pozadím.
- Vstupní i výstupní signály srovnejte rovněž ilustrativním poslechem.