• Nie Znaleziono Wyników

Wpływ próbkowania i kwantyzacji na jakość dźwięku

N/A
N/A
Protected

Academic year: 2021

Share "Wpływ próbkowania i kwantyzacji na jakość dźwięku"

Copied!
9
0
0

Pełen tekst

(1)

Ćwiczenie nr 2:

WPŁYW PRÓBKOWANIA I KWANTYZACJI NA JAKOŚĆ DŹWIĘKU Opracowanie:

dr Marek Szczerba dr inż. Piotr Odya

mgr inż. Dariusz Tkaczuk

1. Wprowadzenie

Rozwój systemów komputerowych umożliwił zastosowanie komputerów do cyfrowego zapisu i edycji dźwięku. Podstawowym problemem przy cyfrowej rejestracji sygnałów jest wybór szybkości próbkowania, formatu danych (liniowy PCM, kodery) i rozdzielczości bitowej zapisu. Wybór powyższych parametrów jest zdeterminowany następującymi czynnikami:

 jakość sygnału,

 oszczędność w wykorzystaniu pamięci masowej,

 możliwość zapisu sygnału w czasie rzeczywistym (szczególnie dotyczy to starszych systemów o niewielkiej mocy obliczeniowej),

 kompatybilność formatu zapisu.

W praktyce wybór formatu cyfrowej rejestracji sygnału jest najczęściej kompromisem pomiędzy jakością sygnału, a oszczędnością w wykorzystaniu pamięci masowej.

W związku z opracowywaniem metod akwizycji i przechowywania danych dźwiękowych przez wielu producentów sprzętu komputerowego i oprogramowania równocześnie, powstało wiele różnych formatów plików dźwiękowych. Obecnie można obserwować dążenie do unifikacji standardów i umożliwienia konwersji formatów.

Problem konwersji formatów plików dźwiękowych należy generalnie podzielić na dwa zasadnicze zagadnienia:

 problem konwersji formatów cyfrowego zapisu sygnału (konwersja szybkości próbkowania, sposobu kodowania, liczby kanałów i rozdzielczości bitowej),

 problem konwersji typów plików dźwiękowych (konwersja formatu zapisu danych w pliku).

2. Konwersja szybkości próbkowania

W cyfrowych systemach fonicznych wykorzystuje się wiele różnych szybkości próbkowania. Najczęściej spotykane szybkości próbkowania przedstawiono w Tab. 1.

KATEDRA SYSTEMÓW MULTIMEDIALNYCH

LABORATORIUM

(2)

Konwersja szybkości próbkowania wymaga przeprowadzenia dwuetapowej procedury. Pierwszym etapem jest wygenerowanie dodatkowych próbek na podstawie próbek istniejących. Operacja taka nazywana jest nadpróbkowaniem. Następnie usuwane są próbki nadmiarowe. Na rys. 1. przedstawiono poglądowo istotę działania algorytmu konwersji szybkości próbkowania .

Szybkość nadpróbkowania powinna być najmniejszą, wspólną wielokrotnością źródłowej i docelowej

szybkości próbkowania. Przykładowe relacje algebraiczne pomiędzy najczęściej stosowanymi szybkościami próbkowania przedstawiono na rys. 2.

Tab. 1. Szybkości próbkowania stosowane w cyfrowych systemach fonicznych. Szybkość próbkowania

(Hz) Opis

5500 22050/4 (Macintosh) lub 44100/8

7333 22050/3 lub 44100/6

8000 standard telefoniczny do kodowania -law a-law 8012.8210513 standard NeXT - używany z kodekiem Telco

11025 22050/2

16000 standard telefoniczny G.722 lub 32000/2

16384 16•1024

16726.8 standard NTSC TV = 7159090.5/(214•2)

18900 standard CD-ROM/XA

22050 standard Macintosh lub CD/2

22254.5454… standard złącza monitora komputera Macintosh 128k 32000 DAB (Digital Audio Broadcasting), NICAM

(Nearly-Instantaneous Companded Audio Multiplex) [IBA, BREMA, BBC] i inne systemy TV, R-DAT LP oraz HDTV

32768 32•1024

37800 High quality CD-ROM/XA

44056 szybkość próbkowania używana w sprzęcie profesjonalnym, kompatybilny ze standardem NTSC 44100 CD audio, najbardziej rozpowszechniona szybkość

próbkowania w aplikacjach profesjonalnych i domowych

48000 R-DAT, DVD-video

49152 48•1024

>50000 Wyższe szybkości próbkowania używane są niekiedy w profesjonalnych systemach cyfrowego przetwarzania

sygnałów.

96000, 192000 High resolution R-DAT, DVD-audio

Input sampling rate

Compute intermediate samples (oversampling)

Output sampling rate

Rys. 1. Działanie algorytmu konwersji szybkości próbkowania

(3)

Dodatkowe próbki generowane są przy użyciu różnego typu algorytmów interpolacyjnych. W zależności od oczekiwanej jakości procedury nadpróbkowania jak i możliwości systemowych stosuje się zarówno najprostsze metody interpolacji liniowej w prostych systemach powszechnego użytku, jak i np. interpolacje wielomianowe wysokiego rzędu w zastosowaniach profesjonalnych i w zaawansowanych systemach komputerowej obróbki sygnałów.

Decymacja, czyli wybranie co M-tej próbki z sygnału, realizowana jest zgodnie ze wzorem:

) ( ) ( ] [n x nTM x nT yaaY ej T M X e j T k M k M ( ) ( ) ( )         1

2 0 1

gdzie: T – wejściowy okres próbkowania, T’ – docelowy okres próbkowania,

M T

T

  – współczynnik (krotność) decymacji.

W celu zapobieżenia aliasingowi decymowany sygnał nie może zawierać częstotliwości wyższych niż połowa docelowej szybkości próbkowania, zgodnie ze wzorem:

1 2   T FN. ) ( ) ( ) ( ) ( 1 1 1  1    X e X j X j e Y M M T a T a T j M T j    dla       T T

Wymaga to, aby sygnał xa(t)poddać filtracji dolnoprzepustowej z częstotliwością odcięcia 

T .

Należy zauważyć, że sygnał wyjściowy może nie zawierać żadnych próbek z sygnału wejściowego; wszystkie próbki mogą zostać wygenerowane przez procedurę przepróbkowania.

44.1

32.0

47.25

50.4

48.0

50.0

25 MHz

50.349

1000/1001 320/441 63/64 24/25 126/125 1000/1001 40/63

44.056

1000/1001

Rys. 2. Relacje algebraiczne pomiędzy najczęściej stosowanymi szybkościami próbkowania.

(4)

3. Konwersja sposobu kodowania

Najprostszym i najbardziej rozpowszechnionym sposobem kodowania sygnału fonicznego jest kodowanie PCM (Pulse Code Modulation). Zaletą tego systemu jest możliwość uzyskania wysokiej jakości sygnału (równoważna z jakością płyty CD) i prostota procedury kodowania. Wadą natomiast są bardzo duże rozmiary plików (np. przy zapisie z jakością CD - 176400 bajtów na sekundę!). Bardziej zaawansowane metody kodowania pozwalają na oszczędny zapis sygnału fonicznego. Jest to niezwykle istotne zwłaszcza przy transmisji sygnałów audio, a przede wszystkim mowy, w sieciach IP. Kodeki kompandorowe. Podstawą działania kodeków kompandorowych jest zastosowanie zmiennej rozdzielczości kodowania względem amplitudy sygnału. Stosowana jest relatywnie większa rozdzielczość zapisu przy małych amplitudach sygnału, natomiast mniejsza w przy większych amplitudach. Najbardziej rozpowszechnionymi kodekami kompandorowymi są kodeki -law (standard amerykańsko japoński) i A-law (standard europejski).

ADPCM - Adaptive Differential PCM. Podstawą funkcjonowania koderów ADPCM jest właściwość quasi-okresowości sygnałów akustycznych. Stosowana jest zatem predykcja wartości kolejnej próbki na podstawie znanych próbek poprzednich. Jeśli predykcje są zgodne z rzeczywistymi wartościami próbek, wykres różnic pomiędzy wartościami predykcji i wartościami rzeczywistych próbek będzie znacznie bardziej płaski niż wykres fali. Opisana technika zapisu różnic nazywana jest DPCM (Differential Pulse Code Modulation). Różnice te będą nawet mniejsze, jeśli predyktor będzie adaptywny - będzie przystosowywał sposób predykcji do indywidualnej charakterystyki kodowanego sygnału.

Kodeki źródła tworzą model generatora dźwięku i dokonują rekonstrukcji sygnału na podstawie tego modelu. Najbardziej powszechnymi kodekami źródła są wokodery (voice coder), stworzone do transmisji sygnału mowy. Używane są dwa podstawowe modele sygnału: dźwięczny i bezdźwięczny (pobudzenie tonowe i szumowe). Dzięki przekazywaniu wyłącznie niewielkiego zbioru cech dystynktywnych wokodery pozwalają na przekazanie sygnału w bardzo małym pliku. Wadą kodeków źródła jest przydatność jedynie do kodowania określonego typu sygnałów. Nie nadają się do kodowania sygnałów złożonych (np. muzyki).

Kodeki hybrydowe łączą w sobie cechy kodeków falowych i kodeków źródła. Najbardziej rozpowszechnionymi kodekami hybrydowymi są kodeki AbS (Analysis-by-Synthesis). W procesie kodowania AbS dokonywany jest w fazie początkowej podział sygnału na ramki. Dla każdej kolejnej ramki budowany jest odpowiedni model źródła (tak jak w przypadku wokoderów). Następnie koder sprawdza zachowanie modelu źródła przy różnych sposobach pobudzenia układu. Po porównaniu z sygnałem źródłowym wybierany jest najodpowiedniejszy sposób pobudzenia.

W celu dokonania konwersji sposobu kodowania sygnału fonicznego stosuje się zasadniczo rozkodowanie do formatu PCM, a następnie kodowanie do formatu docelowego. Taka procedura pozwala na wykorzystanie istniejących kodeków.

4. Konwersja rozdzielczości bitowej i liczby kanałów

Do konwersji rozdzielczości bitowej cyfrowego sygnału fonicznego mogą być wykorzystywane proste algorytmy uśredniające i interpolacyjne. Niektóre konwertery pozwalają na normalizację amplitudy sygnału względem próbki o największej amplitudzie przy konwersji na niższą rozdzielczość bitową. Umożliwia to maksymalne wysterowanie kwantyzatora, a tym samym na wykorzystaniem maksymalnej dynamiki formatu.

Istnieją bardziej zaawansowane konwertery, pozwalające na kształtowanie widma szumu (ang. noise-shaping). Technika ta jest stosowana w połączeniu z techniką ditheringu. Polega ona na wykorzystaniu szumu addytywnego (dither), powodującego nieznaczne podniesienie podłogi szumowej sygnału (noise floor) przy jednoczesnym ograniczeniu zniekształceń harmonicznych sygnału i ograniczeniu zjawiska głuchoty cyfrowej (digital deafness). Dokonuje się odpowiedniego ukształtowania widma szumu dithera, mającego na celu jego przeniesienie w możliwie najmniej słyszalną część pasma (np. maskowaną zarejestrowanym sygnałem). Technika noise-shaping znalazła szerokie zastosowanie przy masteringu nagrań cyfrowych. Pozwala ona na optymalizację wykorzystania techniki 20 i 24-bitowej przy przejściu na format CD (16 bitów).

(5)

Konwersja liczby kanałów dokonywana jest najczęściej przez proste uśrednienie wartości sygnału w łączonych kanałach. Niektóre konwertery dopuszczają możliwość ustalenia balansu kanałów przy konwersji. Przy zwiększeniu liczby kanałów z reguły dokonuje się prostego powielenia sygnałów w kanałach.

5. Narzędzia do konwersji formatów plików dźwiękowych

Na rynku oprogramowania istnieje wiele narzędzi umożliwiających konwersję formatów plików dźwiękowych. W przebiegu ćwiczenia przewiduje się użycie aplikacji Adobe Audition i środowiska Matlab.

Aplikacja Adobe Audition pozwala na wszechstronną konwersję formatów i typów plików dźwiękowych. Konwersję formatu sygnału cyfrowego można dokonać z okna dialogowego Convert Sample Type (rys. 3) z menu Edit.

Na uwagę zasługuje możliwość zastosowania filtru antyaliasingowego (Pre/post filter), oraz możliwość wyboru dokładności algorytmu interpolacji (Quality). Aplikacja ta pozwala także na wykorzystanie szumu addytywnego (dither) i algorytmu kształtowania widma szumu (noise shaping) przy konwersji z formatu do mniejszej rozdzielczości bitowej. Możliwe jest ustawienie poziomu szumu dither względem LSB (poziomu najmłodszego bitu) oraz wybór algorytmu kształtowania widma szumu.

6. Obiektywne miary zniekształceń sygnału

6.1 Stosunek sygnału do szumu, SNR

W wyniku kwantyzacji sygnał w ogólnym przypadku (a w praktyce zawsze) będzie się różnił od sygnału oryginalnego. Różnicę obu sygnałów nazywamy błędem kwantyzacji lub – częściej – szumem kwantyzacji i wyrażamy wzorem:

] [ ] [ ] [n x n x n eQ  .

Przekształcając powyższy wzór do postaci:

] [ ] [ ] [n x n en xQ   ,

otrzymujemy prostą interpretację sygnału skwantowanego. Jest to bowiem sygnał, w którym występuje sygnał użyteczny x[n] oraz szum kwantyzacji e[n].

(6)

Należy zdawać sobie sprawę z tego, że proces kwantyzacji, a więc dyskretyzacji wartości, zachodzi nie tylko przy przekształcaniu sygnału analogowego do postaci cyfrowej, ale również w wyniku obecnych w obróbce numerycznej operacji zaokrągleń. Na wielkość błędu decydujący wpływ ma stosowana arytmetyka oraz rodzaj wykonywanych operacji. Na przykład przy stosowaniu wyłącznie liczb całkowitych sumowanie, odejmowanie i mnożenie są operacjami nie prowadzącymi do powstania błędów zaokrągleń, podczas gdy stosowanie arytmetyki zmiennoprzecinkowej, zwłaszcza o pojedynczej precyzji (liczby czterobajtowe), dla tych samych operacji może prowadzić do błędów. W ogólnym przypadku lepiej jest jednak stosować liczby zmiennoprzecinkowe, przede wszystkim z tego względu, że większość algorytmów, funktorów i operatorów używa liczb niecałkowitych (na przykład jako współczynników filtrów).

Miarą zaszumienia sygnału spowodowanego kwantyzacją jest, wyrażony w decybelach, stosunek energii sygnału użytecznego x[n] do energii szumu kwantyzacji e[n]:

L L k e n x SNR ] [ ] [ log 10 2 2 [dB],

gdzie L – długość sygnałów.

6.2 Współczynnik zniekształcenia aliasingowego, AF

Jako miarę stopnia zniekształcenia AF widma przyjęto tu stosunek energii sygnału zawartej w paśmie powyżej częstotliwości Nyquista FS/2 do całkowitej energii sygnału (bez składowej stałej):

    2 / 1 2 2 / 2 / 2 ] [ ] [ 100 N k N M N k k X k X AF [%],

gdzie X[k] – k-ta próbka dyskretnej transformaty Fouriera sygnału przed decymacją.

6.3 Współczynnik zawartości harmonicznych, THD

Stopień zniekształcenia sygnału, polegającego na pojawieniu się w nim harmonicznych zdefiniowano następująco: 2 1 2 2 100 X X THD k k

    [%]

gdzie: X1 2 – energia pierwszej harmonicznej, 2

k

X – energia k-tej harmonicznej, k = 2, 3, ...

W skrajnym przypadku, dla kwantyzatora jednobitowego, sygnał sinusoidalny zamieniany jest w falę prostokątną. Przy założeniu, że kwantyzator działa jak komparator porównujący wartość wejściową z zerem (czyli zwraca 1, gdy jest ona nieujemna, i –1 gdy jest ujemna), fala prostokątna ma wypełnienie 50 %, a w jej widmie nie występują parzyste harmoniczne. Wówczas współczynnik THD jest równy:

% 23 11 1 9 1 7 1 5 1 3 1 100 2 2 2 2 2         THD

(7)

7. Zadania

7.1 Część pierwsza – zmiana rozdzielczości bitowej

Korzystając z aplikacji Adobe Audition utworzyć nowy plik monofoniczny z następującymi ustawieniami: szybkość próbkowania 44,1 kHz, rozdzielczość 16 bitów.

Wygenerować sinusoidy o częstotliwościach: a) 1 kHz; b) 10 kHz, długości 2 s i maksymalnej amplitudzie (Generate Tones). Zapisać sygnały do osobnych plików w formacie Windows PCM (2 pliki).

Powyższe sygnały oraz przygotowane fragmenty muzyki przekonwertować do rozdzielczości bitowej: 8 bitów i 4 bity – bez dithera, z ditherem o trójkątnym rozkładzie prawdopodobieństwa i głębokością 1 bitową oraz z noise shapingiem A (szum kształtowany krzywą słyszenia A) (Edit Convert Sample Type). Wyniki zapisać na dysku (6 plików na każdy z sygnałów wejściowych/oryginalnych). Uwaga! Nie zmieniać amplitudy żadnego z sygnałów!

Po odsłuchaniu wszystkich próbek dźwiękowych dokonać ich subiektywnej oceny.

...

...

...

...

...

Zaobserwować widma próbek dźwiękowych (Window Frequency Analysis). Czym się różnią widma bez dithera, z ditherem i z noise shapingiem?

... ... ... ... ... ... PRZETWARZANIE DŹWIĘKÓW I OBRAZÓW

Ćw.1 Wpływ próbkowania i kwantyzacji na jakość dźwięku

Wykonujący: Ocena:

Specjalność:

(8)

Korzystając ze skryptu Matlaba kwantyzacja.m, zbadać zależność SNR od rozdzielczości bitowej. Funkcję wywołujemy w następujący sposób:

[SNR,h] = kwantyzacja(’nazwa_pliku_oryginalnego’, ’nazwa_pliku_po_kwantyzacji’);

Liczba bitów SNR [dB]

Brak dithera Dither Noise shaping Sinusoida 1 kHz 8 4 Sinusoida 10 kHz 8 4 Fragment muzyki (1) 8 4

Zbadać zależność zawartości harmonicznych od rozdzielczości bitowej.

Liczba bitów THD [%]

Brak dithera Dither Noise shaping Sinusoida 1 kHz 8 4 Sinusoida 10 kHz 8 4

Jakie zjawisko wystąpiło w przypadku przekroczenia przez kolejne harmoniczne połowy szybkości próbkowania?

... W jaki sposób na jakość dźwięku wpływa liczba bitów, obecność dithera i noise shaping?

...

...

... Co by się stało, gdybyśmy w czasie nagrania wykorzystali tylko połowę dynamiki kwantyzatora? ...

...

...

(9)

7.2 Część druga – zmiana szybkości próbkowania

Wygenerować i zapisać do pliku falę prostokątną i falę trójkątną o częstotliwości 230 Hz (rozdzielczość 16 bitów, FS = 44,1 kHz). Korzystając ze skryptu decymacja.m, przekonwertować oryginalne próbki dźwiękowe (wygenerowane przebiegi oraz fragment(y) muzyki) do szybkości próbkowania FS/2 (współczynnik decymacji 2) i FS/4 (współczynnik decymacji równy 4) z wyłączoną i włączoną filtracją antyaliasingową. Dokonać odsłuchu sygnałów (funkcja Matlaba sound(x,Fs) i sound(y,Fs)) oraz zaobserwować ich widma. Skrypt uruchamiamy następującym poleceniem:

[x,y,M,Fs] = decymacja(’nazwa_pliku’, M, Filtr);

Wejście: M – krotność decymacji

Filtr – włączony (1) lub wyłączony (0) filtr Nyquista Wyjście: x – wczytany ciąg próbek,

y – wyjściowy (zdecymowany) ciąg próbek, Fs – szybkość próbkowania.

Podać w tabeli zmierzone wartości AF:

Decymacja AF [%] M=2 bez filtracji M=2 z filtracją M=4 bez filtracji M=4 z filtracją Sinusoida 1 kHz Sinusoida 10 kHz Fala prostokątna 230 Hz Fala trójkątna 230 Hz Fragment muzyki (1) Fragment muzyki (2)

Jakie zjawisko zaszło w przypadku decymacji sygnału? Jak filtracja dolnoprzepustowa, poprzedzająca decymację, wpłynęła na widmo sygnału i jakość dźwięku?

... ... 7.3 Podsumowanie ... ... ... ...

Cytaty

Powiązane dokumenty

Gdy weźmiemy pod uwagę, że sytuacja zmienia się w taki sposób, że instytucje współcześnie żyją w niepewności (w zazwyczaj rocznych cyklach dotacyjnych, w najlepszym

Wobec dążenia do optymalnej reprezentacji zapisu EKG w postaci dyskretnego ciągu próbek, konsekwencją wykazania lokalnej zmienności szerokości pasma sygnału jest próba

 Całkowita energia, jaką promieniowanie słoneczne przenosi w jednostce czasu przez jednostkową powierzchnię ustawioną prostopadle do promieniowania w średniej

[4] Lipiński W.: Obliczenia numeryczne w teorii sygnałów i obwodów elektrycznych. Elektrotechnika Teoretyczna, PWN

Dla uproszczenia implementacji proszę skorzystać z tablicy 10x10, w której skrajne wiersze i kolumny są wypełnione przez ‘c’.. Program powinien zwracać informacje

Kto raz zakosztował tej władzy - pisze autor - tego bezgranicznego panowania nad ciałem, krwią i duchem takiego samego jak on człowieka, podobnie stwo­

Na czym polega zjawisko interferencji międzysymbolowej (międzyelementowej), co jest powodem jego powstawania oraz w jaki sposób możemy wyeliminować

Aby zamienić liczbę (dokonać konwersji) z systemu binarnego do dziesiętnego (BIN →DEC) należy ją zapisać jako suma, której składnikami są kolejne potęgi liczby 2,