B2M31DSP cvičení
Aplikace diskrétní kosinové transformace
Definice diskrétní kosinové transformace (DCT) a výpočet DCT pomocí FFT
Pro uměle vygenerovanou posloupnost x = [10 7 4 1 -2 -5
-8 -5 -2 1] spočítejte DCT
a) podle definice DCT-1 (NE fce dct v Matlabu !!) -
použijte následující funkce dctxc1.m a idctxc1.m b) pomocí DFT (uvažujte 2N-2 sudou symetrii prodloužené posloupnosti)
Výsledek:
srovnání výpočtu DCT-1 podle definice a FFT.
V případě volného času opakujte pro DCT podle definice DCT-2, tj.
a) použijte následující funkce dctxc2.m a idctxc2.m b) pomocí DFT (uvažujte 2N sudou symetrii prodloužené posloupnosti)
srovnejte s dct v MATLABu, zde je 2N symetrie prodloužené posloupnosti
Výsledek:
srovnání výpočtu DCT-2 podle definice a FFT.
Určete reálné kepstrum daného signálu pomocí fce rceps
Určete reálné kepstrum po jednotlivých krocích pomocí DFT a IDFT
Zvažte možnost náhrady DFT a IDFT výpočtem pomocí DCT
resp. IDCT
Srovnejte, že docházíte ke stejným výsledkům.
Výsledek:
Srovnání výpočtu reálného kepstra na bázi DFT a DCT
Komprese pomocí DCT
Vygenerujte signál s1 = 0.99.^n.*cos(0.02*pi*n) délky N=256 vzorků. Signál vytvořte jako sloupcový vektor a zobrate!
Vypočtěte jeho DCT a DFT spektrum a zobrazte pro oba případy výkonová spektra v dB. Signál neváhujte žádným oknem.
Rekonstruujte signál z komprimované verze, tj. reprezentovaný pouze k spektrálními komponentami (bez započtení stejnosměrné složky).
POZNÁMKA: Vzhledem k symetrii DFT spektra nezapomeňte zahrnout i blok k symetrických složek. Pro analogickou DCT kompresi vezměte vždy blok 2k DCT spektrálních složek. Stejnosměrnou složku vždy zahrňte.
Zobrazte rekonstruované signály na bázi DCT resp. DFT komprese včetně srovnání s původním nekomprimovaným signálem.
Kvantifikujte chybu komprese na bázi DCT resp. DFT kritériem na bázi SNR, tj. počítejte odstup výkonu původního signálu od výkonu chybového signálu v dB (SNR_e).
Výsledek:
Srovnání výpočtu DFT a DCT výkonových spekter.
Srovnání původního a rekonstruovaného signálu s kompresí na bázi DFT resp. DCT.
Srovnání SNR_e u rekonstruovaného signálu s kompresí na bázi DFT resp. DCT.