Języki Modelowania i Symulacji

Podobne dokumenty
KOMPRESJA STRATNA SYGNAŁU MOWY. Metody kompresji stratnej sygnałów multimedialnych: Uproszczone modelowanie źródeł generacji sygnałów LPC, CELP

ANALIZA SYGNAŁÓ W JEDNÓWYMIARÓWYCH

Kwantowanie sygnałów analogowych na przykładzie sygnału mowy

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI)

Przedmowa Wykaz oznaczeń Wykaz skrótów 1. Sygnały i ich parametry Pojęcia podstawowe Klasyfikacja sygnałów

Podstawy Przetwarzania Sygnałów

Detekcja zespołów QRS w sygnale elektrokardiograficznym

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem:

x(n) x(n-1) x(n-2) D x(n-n+1) h N-1

Ćwiczenie 6 Projektowanie filtrów cyfrowych o skończonej i nieskończonej odpowiedzi impulsowej

ZASTOSOWANIA PRZEKSZTAŁCENIA ZET

Praca dyplomowa magisterska

Akwizycja i przetwarzanie sygnałów cyfrowych

Laboratorium Przetwarzania Sygnałów Biomedycznych

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Rozpoznawanie i synteza mowy w systemach multimedialnych. Analiza i synteza mowy - wprowadzenie. Spektrogram wyrażenia: computer speech

DYSKRETNA TRANSFORMACJA FOURIERA

Kompresja danych DKDA (11)

Laboratorium Przetwarzania Sygnałów

Zaawansowane algorytmy DSP

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04

[d(i) y(i)] 2. Do wyprowadzenia algorytmu RLS posłuży kryterium autokorelacyjne: J n = e 2 (i) i=1. λ n i [d(i) y(i)] 2 λ (0, 1]

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Kwantyzacja wektorowa. Kodowanie różnicowe.

Przetwarzanie sygnałów

PRZETWARZANIE SYGNAŁÓW LABORATORIUM

Ćwiczenie 6 Projektowanie filtrów cyfrowych o skończonej i nieskończonej odpowiedzi impulsowej

8. Realizacja projektowanie i pomiary filtrów IIR

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

MODULACJE IMPULSOWE. TSIM W10: Modulacje impulsowe 1/22

ĆWICZENIE III ANALIZA WIDMOWA SYGNAŁÓW DYSKRETNYCH. ver.3

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

Algorytmy detekcji częstotliwości podstawowej

Zjawisko aliasingu. Filtr antyaliasingowy. Przecieki widma - okna czasowe.

b n y k n T s Filtr cyfrowy opisuje się również za pomocą splotu dyskretnego przedstawionego poniżej:

Układy i Systemy Elektromedyczne

Filtry cyfrowe. h(n) odpowiedź impulsowa. Filtr cyfrowy. Procesory sygnałowe (DSP), układy programowalne

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Laboratorium Przetwarzania Sygnałów Biomedycznych

Przetwarzanie i transmisja danych multimedialnych. Wykład 9 Kodowanie podpasmowe. Przemysław Sękalski.

Akwizycja i przetwarzanie sygnałów cyfrowych

PRZETWARZANIE MOWY W CZASIE RZECZYWISTYM

Symulacja sygnału czujnika z wyjściem częstotliwościowym w stanach dynamicznych

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

Katedra Elektrotechniki Teoretycznej i Informatyki

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Kartkówka 1 Opracowanie: Próbkowanie częstotliwość próbkowania nie mniejsza niż podwojona szerokość przed spróbkowaniem.

Adaptacyjne Przetwarzanie Sygnałów. Filtracja adaptacyjna w dziedzinie częstotliwości

Filtrowanie a sploty. W powyższym przykładzie proszę zwrócić uwagę na efekty brzegowe. Wprowadzenie Projektowanie filtru Zadania

Przekształcenie Fouriera i splot

TEORIA WYTWARZANIA DŹWIĘKÓW

Filtry cyfrowe procesory sygnałowe

ADAPTACYJNE PRZETWARZANIE SYGNAŁÓW LABORATORIUM. Ćwiczenie 1. Modelowanie i analiza widmowa dyskretnych sygnałów losowych

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 3

Generowanie sygnałów na DSP

STUDIA MAGISTERSKIE DZIENNE LABORATORIUM SYGNAŁÓW, SYSTEMÓW I MODULACJI. Filtracja cyfrowa. v.1.0

Instrukcja do laboratorium z cyfrowego przetwarzania sygnałów. Ćwiczenie 3. Transformata Z; blokowe struktury opisujące filtr

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

4 Zasoby językowe Korpusy obcojęzyczne Korpusy języka polskiego Słowniki Sposoby gromadzenia danych...

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

GENERACJA PRZEBIEGU SINUSOIDALNEGO.

Przetwarzanie sygnałów biomedycznych

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

ADAPTACYJNE PRZETWARZANIE SYGNAŁÓW LABORATORIUM. Ćwiczenie 5 - suplement

FFT i dyskretny splot. Aplikacje w DSP

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Ćwiczenie 3. Właściwości przekształcenia Fouriera

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do pracowni specjalistycznej

Inżynieria Systemów Dynamicznych (4)

Promotor: dr Marek Pawełczyk. Marcin Picz

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wprowadzenie. Spis treści. Analiza_sygnałów_-_ćwiczenia/Filtry

Modele zapisane w przestrzeni stanów

Laboratorium Inżynierii akustycznej. Przetwarzanie dźwięku - wprowadzenie do efektów dźwiękowych, realizacja opóźnień

Laboratorium nr 4: Porównanie filtrów FIR i IIR. skończonej odpowiedzi impulsowej (FIR) zawsze stabilne, mogą mieć liniową charakterystykę fazową

ADAPTACYJNE PRZETWARZANIE SYGNAŁÓW LABORATORIUM. Ćwiczenie 2. Badanie algorytmów adaptacyjnych LMS i RLS

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

ADAPTACYJNE PRZETWARZANIE SYGNAŁÓW LABORATORIUM. Ćwiczenie 2. Badanie algorytmów adaptacyjnych LMS i RLS

Filtr Kalmana. Struktury i Algorytmy Sterowania Wykład 1-2. prof. dr hab. inż. Mieczysław A. Brdyś mgr inż. Tomasz Zubowicz

Filtry aktywne filtr środkowoprzepustowy

Percepcyjne kodowanie dźwięku

DYSKRETNE PRZEKSZTAŁCENIE FOURIERA C.D.

Systemy i Sieci Telekomunikacyjne laboratorium. Modulacja amplitudy

Ćw. 18: Pomiary wielkości nieelektrycznych II

PARAMETRYZACJA SYGNAŁU MOWY. PERCEPTUALNE SKALE CZĘSTOTLIWOŚCI.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Filtracja. Krzysztof Patan

Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L

W11 Kody nadmiarowe, zastosowania w transmisji danych

Przetwarzanie i transmisja danych multimedialnych. Wykład 6 Metody predykcyjne. Przemysław Sękalski.

L ABORATORIUM UKŁADÓW ANALOGOWYCH

Transformata Fouriera

Laboratorium Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z przetwarzaniem sygnałów w MATLAB. 2. Program ćwiczenia. Przykład 1 Wprowadź

JAKOŚĆ ENERGII ELEKTRYCZNEJ Odkształcenie napięć i pradów

Przetwarzanie analogowo-cyfrowe sygnałów

Modulacja i kodowanie laboratorium. Modulacje Cyfrowe: Kluczowanie Amplitudy (ASK) i kluczowanie Fazy (PSK)

Rys 1 Schemat modelu masa- sprężyna- tłumik

Filtry aktywne filtr górnoprzepustowy

Przetwarzanie sygnałów

Transkrypt:

Języki Modelowania i Symulacji Przetwarzanie sygnałów fonicznych Marcin Ciołek Katedra Systemów Automatyki WETI, Politechnika Gdańska 3 listopada 211

O czym będziemy mówili? 1 2

wavrecord wavplay y = wavrecord(n, F s, ch, dtype ) y = wavplay(y, F s ) N - liczba próbek F s - częstotliwość próbkowania (domyślnie 1125Hz) ch - liczba kanałów wejściowych: 1 lub 2 (mono lub stero) dtype - typ danych wejściowych (np:. int16-16 bitów na próbkę, 32768 <= y <= +32767, double - 16 bitów na próbkę, 1. <= y < +1.) Typowe częstotliwości próbkowania sygnałów audio: 8, 1125, 225, i 441 Hz

wavrecord wavplay y = wavrecord(n, Fs) y = wavplay(y, Fs) Fs = 8; % częstotliwość próbkowania t = 4; % ile sekund N = Fs*t; display('naciśnij klawisz i nagraj wyraz') pause() y = wavrecord(n,fs,'double'); %nagrywanie wavplay(y,fs) %odtwarzanie

wavrecord.7 na----sze----go.6.5.4.3 (na---sze---go).2.1 -.1 -.2 -.3.5 1 1.5 2 2.5 3 3.5 4 czas [sek]

wavrecord.1 na----sze----go.8.6.4.2 -.2 -.4 -.6 -.8 -.1.5 1 1.5 2 2.5 czas [sek]

Wykres ts = 1/Fs:1/Fs:t; h=plot(ts,y) title('na----sze----go','fontsize',18) xlabel('czas [sek]','fontsize',16) xp =.3; xk = 2.8; yp = -.1; yk =.1; axis([xp,xk,yp,yk]) text(.4,.4,'(na---sze---go)',... 'FontName','Times New Roman','FontSize',48) set(gca,'ygrid','off','fontsize',16) set(h,'linewidth',1) set(gca,'ticklength',[.1;.25])

wavrecord.1 na.8.6.4.2 -.2 -.4 -.6 -.8 -.1.5.55.6.65.7.75.8 czas [sek]

wavrecord.1 sze.8.6.4.2 -.2 -.4 -.6 -.8 -.1 1 1.5 1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5 czas [sek]

wavrecord.1 go.8.6.4.2 -.2 -.4 -.6 -.8 -.1 1.6 1.8 2 2.2 2.4 2.6 czas [sek]

głoska a.1 a.8.6.4.2 s[n] -.2 -.4 -.6 -.8 -.1 2 4 6 8 1 n [numer próbki]

Funkcja autokorelacji N r(k) = s(n)s(n + k), k =, 1, 2,... n=1 Nr = 1; r = zeros(nr,1); for k=:nr r(k+1) = s(1:ns-k)'*s(k+1:ns); end r = r./max(r);

głoska a.1 głoska "a".5 s[n] -.5 -.1 2 4 6 8 1 n [numer próbki] r[k].14.12.1.8.6.4.2 -.2 Metoda funkcji autokorelacji -.4 1 2 3 4 5 6 7 8 9 1 k [wartość przesunięcia]

głoska a.1 głoska "a".5 s[n] -.5 -.1 2 4 6 8 1 n [numer próbki] 1 Metoda funkcji autokorelacji.8.6 r[k].4.2 -.2 -.4 1 2 3 4 5 6 k [wartość przesunięcia]

głoska a.1 głoska "a".5 s[n] -.5 -.1 2 4 6 8 1 n [numer próbki] 1 Metoda funkcji autokorelacji r[k].8.6.4.2 okres T = 181 2T 3T -.2 -.4 1 2 3 4 5 6 k [wartość przesunięcia]

głoska sz.1 głoska "sz".5 s[n] -.5 -.1 5 1 15 2 25 3 35 4 n [numer próbki] 1.8.6.4 Metoda funkcji autokorelacji r[k].2 -.2 -.4 -.6 2 4 6 8 1 12 14 16 k [wartość przesunięcia]

głoska a 1 głoska "a" - przetwarzanie segmentowe z użyciem okna Hamminga.5 s[n] -.5-1 2 4 6 8 1 n [numer próbki] 1 Metoda funkcji autokorelacji.8.6 r[k].4.2 -.2 -.4 5 1 15 2 25 3 35 4 45 k [wartość przesunięcia]

model Uproszczony model generacji sygnału mowy

koder Schemat uproszczonego kodera mowy

dekoder Algorytm dekodera mowy LPC-1 wejściowy strumień danych {T, G, a 1,..., a p } synteza fragmentów sygnału s 1 (n) = Ge(n) p a p s 1 (n k), k =, 1,..., M 1 k=1 Deemfaza - tłumienie wyższych częstotliwości metoda filtracji rekursywnej typu IIR s(n) = s 1 (n) +.9375 s(n 1)

Preemfaza Uwydatnienie wyższych częstotliwości (filtracja nierekursywna FIR) s 1 (n) = s(n).9375 s(n 1).2 Sygnał oryginalny.15.1.5 s[n] -.5 -.1 -.15 -.2.7.72.74.76.78.8.82.84.86.88 t [czas].2 Po preemfazie.15.1.5 s 1 [n] -.5 -.1 -.15 -.2.7.72.74.76.78.8.82.84.86.88 t [czas]

Okno Mnożenie sygnału z oknem Hamminga o długości N = 24 próbek (w = hamming(l)) w(n) =.54.46 cos( 2πn N ) s 2 (n) = s 1 (n)w(n) 6 x 1-3 Sygnał po preemfazie 4 2 s 1 [n] -2-4 -6 56 565 57 575 58 585 n [próbki] 6 x 1-3 Po zastosowaniu okna Hamminga 4 s 2 [n] 2-2 -4 56 565 57 575 58 585 n [próbki]

Filtr traktu głosowego W algorytmie LPC-1 przyjmuje się 1 rzad wielomianu mianownika H(z) = = G A(z) = G 1 + a 1 z 1 + a 2 z 2 + a p z p = G (1 p 1 z 1 )(1 p 1 z 1 )... (1 p 5 z 1 )(1 p 5 z 1 ) Równanie czasowe filtru syntezy 1 s(n) = G e(n) a k s(n k) k=1

Filtr traktu głosowego 6 Widmo filtru traktu głosowego 5 4 S 2 3 2 1 5 1 15 2 25 3 35 4 f [częstotliwość]

Filtr traktu głosowego Obliczanie współczynników filtru traktu głosowego i wzmocnienia G R a = r a = R 1 r r(k) = N 1 k n= s 2 (n)s 2 (n + k), G = r() + p a k r(k) k=1 Równanie Yule-Walker r() r(1)... r(p 1) r(1) r()... r(p 2)...... r(p 1) r(p 2)... r() k =, 1, 2,..., p a 1 a 2. a p = r(1) r(2). r(p)

help lpc Liniowy, predykcyjny filtr współczynników ustalanych po przez minimalizację błędów predykcji jednokrokowych w sensie średniokwadratowym a - wektor współczynników g - wariancja błędu predykcji [a, g] = lpc(x, p) ˆx(n) = a(2)x(n 1) a(3)x(n 2) a(p + 1)x(n p)

help lpc 5 Oryginalny sygnał i jego estymata Oryginalny sygnal Estymata LPC 4 3 2 Amplituda 1-1 -2-3 1 2 3 4 5 6 7 8 9 1 Numer próbki

help lpc randn('state',); noise = randn(5,1); x = filter(1,[1 1/2 1/3 1/4],noise); x = x(4594:5); [a,g] = lpc(x,3); g =.993 a = 1..4983.3287.22 % estymata sygnału est_x = filter([ -a(2:end)],1,x); % błąd predykcji e = x - est_x;

help lpc 1.2 Funkcja autokorelacji błędu predykcji 1.8 Znormalizowane wartości.6.4.2 -.2-5 -4-3 -2-1 1 2 3 4 5 Przesunięcie

help lpc [acs,lags] = xcorr(e,'coeff'); h2 = plot(lags,acs); title('funkcja autokorelacji błędu predykcji', 'FontName','Times New Roman','FontSize',16); xlabel('przesunięcie','fontname', 'Times New Roman','FontSize',16); ylabel('znormalizowane wartości', 'FontName','Times New Roman','FontSize',16); grid on; set(h2,'linewidth',1)

help lpc Algorytm LPC rozwjazuje problem najmnieszych kwadratów a = 1 a(2) Xa = b. a(p + 1), b = 1.

help lpc Dopisujemy p zer na poczatku i na końcu naszego wektora danych!!! Dlaczego???? X = x(1).... x(2) x(1)..... x(2)... x(p)... x(1). x(p + 1)... x(2)....... x(m)... x(m p + 1). x(m).. x(m p + 2)...... x(m)

help lpc s = [1 2 3 4 5 6]; p = 3; N = length(s); r = zeros(p+1,1); R = zeros(p,p); for k = :p for n = :N-1-k r(k+1) = r(k+1) + s(n+1)*s(n+1+k); end end % zbuduj macierz autokorelacji for m = 1:p R(m,1:p)=[r(m:-1:2)' r(1:p-(m-1))']; end R = 91 7 5 7 91 7 5 7 91

help lpc X = zeros(s-p+1,p); for i=p+1:n+1 X(i-p,:) = s(i-1:-1:i-p); end Q = X'*X; % Q > ale nie jest Toeplitz Q = 86 68 5 68 54 4 5 4 3 R = 91 7 5 7 91 7 5 7 91

help lpc s = [ 1 2 3 4 5 6 ]; N = length(s); X = zeros(s-p+1,p); for i=p+1:n+1 X(i-p,:) = s(i-1:-1:i-p); end Q = X'*X; % Q > i macierz Toeplitza Q = R = 91 7 5 7 91 7 5 7 91 91 7 5 7 91 7 5 7 91

help lpc X T Xa = X T b ˆRa = ˆr ˆR jest macierza Toeplitza i jest dodatnio określona Równanie Yule-Walker r() r(1)... r(p 1) r(1) r()... r(p 2)...... r(p 1) r(p 2)... r() a 1 a 2. a p = r(1) r(2). r(p)

help levinson Algorytm Levinson - Durbin rozwiazuje problem znalezienia współczynników wielomianu charakterystycznego, którego bieguny będa zawsze leżały wewnatrz okręgu jednostkowego na płaszczynie zespolonej Z, pod warunkiem, że podana macierz jest macierza Toeplitza i jest dodatnio określona [a, e] = levinson(r, p) r - wektor/macierz autoregresji p - liczba współczynników autoregresji a - wektor współczynników autoregresji e - wektor błędów predykcji

help levinson Rekurencyjny algorytm Levinson a-durbin a σ (t) = r (t) i = 1,... r κ i (t) = r i(t) i 1 j=1 âj,i 1(t)r i j (t) σ i 1 (t) σ i (t) = (1 κ 2 i (t))σ i 1(t) â i,i (t) = κ i (t) j = 1,..., i 1 â j,i (t) = â i,i 1 (t) κ i (t)â i j,i 1 (t) Jaka jest złożoność obliczeniowa względem rzędu modelu?

help levinson rr = zeros(p,1); R = 91 7 5 7 91 7 5 7 91 rr(1:p,1)=(r(2:p+1))'; rr = 7 5 32 a = R\rr a =.8399 -.297 -.87 a= levinson(r,p) a = 1. -.8399.297.87

Filtracja LP Filtracja dolnoprzepustowa filtrem o odpowiedzi impulsowej h(k) i górnej częstotliwości granicznej równej 9 Hz s 3 (n) = M h(k)s 2 (n k) k= Funkcje MATLAB-a: fir1() i filter() 6 x 1-3 Po zastosowaniu okna Hamminga 4 s 2 [n] 2-2 -4 56 565 57 575 58 585 n [próbki] 3 x 1-3 Po filtracji dolnopasmowej 2 1 s 3 [n] -1-2 -3 56 565 57 575 58 585 n [próbki]

Progowanie Progowanie sygnału s 3 (n) P dla s 3 (n) P s 4 (n) = s 3 (n) + P dla s 3 (n) P dla pozostałych P =.3 max(s 3 (n)) 3 x 1-3 Po filtracji dolnopasmowej 2 1 s 3 [n] -1-2 -3 56 565 57 575 58 585 n [próbki] 1.5.5 2 x 1-3 Po operacji progowania 1 s 4 [n] -.5-1 -1.5-2 56 565 57 575 58 585 n [próbki]

Autokorelacja Funkcja autokorelacji sygnału po sprogowaniu r(k) = N 1 k n= s 4 (n)s 4 (n + k), k =, 1, 2,..., p 1 Unormowana funkcja autokorelacji.5 r[k] -.5 2 4 6 8 1 12 14 16 18 2 k [przesunięcie]

Decyzja Klasyfikacja analizowanego fragmentu mowy na dźwięczny lub bezdźwięczny max(r p (k)) [.3.35] np:. k = 2,..., 16 Zakres k obejmuje przedział, w którym zmienia się okres tonu podstawowego. Przez k max oznaczamy indeks, dla którego funkcja autokorelacji przyjmuje wartość maksymalna.

Okres Okres tonu podstawowego dla fragmentu dźwięcznego T = k max zaś dla fragmentu bezdźwięcznego T =

Wyjście kodera Na wyjściu kodera mowy znajduja się: {T, G, a 1,..., a p }