Marcin Kołodziej POLITECHNIKA WARSZAWSKA ZAKŁAD SYSTEMÓW INFORMACYJNO-POMIAROWYCH
Marcin Kołodziej POLITECHNIKA WARSZAWSKA ZAKŁAD SYSTEMÓW INFORMACYJNO-POMIAROWYCH
S1S1 S2S2 S3S3 X 1 = 0.1 * S * S * S 3 X 3 = 0.7 * S * S * S 3 X 2 = 0.3 * S * S * S 3 X=ASX=AS
x1 t x2 t
x1x1 x2x2
Wektor y o zerowej wartości średniej jest nazywany białym, jeśli jego macierz kowariancji (korelacji) definiowana jako wartość oczekiwana R xx = E {yy T } jest macierzą jednostkową Dowolny ciąg wektorów x(k) o zerowej wartości średniej można przekształcić do ciągu wektorów y typu białego przez następującą transformację liniową: y = W x
Macierz W jest nazywana macierzą wybielającą. Jej wybór musi być tak przeprowadzony, aby macierz R xx została przetransformowana w macierz jednostkową R yy R yy = E{yy T } = E{Wxx T W T } = E{WR xx W T } = 1 R xx = V x L x V x T W = L x -1/2 V x T
1) Wyznaczenie macierzy korelacji R xx 2) Dekompozycja macierzy R xx według wartości własnych R xx = V x L x V x T
3) Obliczenie macierzy wybielającej W W = L x -1/2 V x T 4) Wybielenie wektorów x przez transformację liniową y = W x
Separacja sygnałów jest możliwa poprzez transformację (zrzutowanie na wektor V x ): X sep =V x y
Fs=512; T=1/Fs; t=0:T:1-T; s1=sin(2*pi*3*t); s2=sin(2*pi*1*t); X=[s1;s2]; figure; plot(X');
x1=0.5*s1+0.7*s2; x2=0.7*s1+0.6*s2; figure; plot([s1;s2]');
Rxx=X*X'/length(X); [V,L]=eig(Rxx); W=inv(sqrt(L))*V; Y=W*X; y1=Y(1,:); y2=Y(2,:); figure; plot(Y');
Xsep=V*Y; figure; plot(Xsep');
x1x1 x2x2 figure; plot(x1,x2,'o',y1,y2,'x');
BSS x2=0.7*s1+0.6*s2 x1=0.5*s1+0.7*s2
Marcin Kołodziej POLITECHNIKA WARSZAWSKA ZAKŁAD SYSTEMÓW INFORMACYJNO-POMIAROWYCH