Вы находитесь на странице: 1из 3

Gonzlez Rodrguez Pablo Vinicio

Tarea 1

5 de marzo de 2012

La solucin a esta tarea se hace por medio de MATLAB. El primer paso es declarar los
valores de la muestra de 20 ms.
X=1.0e+002*[
-0.1510345889
-0.3945388484
0.0931414472
0.2400957071
0.1714492505
0.6950902893
-0.0591082277
-0.2780721749
-0.0229897732
0.0980840634
0.1871266030
1.0094836490
-0.1891802649
-0.4395056285
-0.0467213459
0.3391585450
0.2126186301
1.0031068460
-0.1583616286
-0.4882886325
-0.0035811773
0.2343420121
0.2294389394
0.7039671916
-0.1849957836
-0.3761559242
0.0449345728
0.2817972869
0.4455505380
0.4869551586
-0.1580493955
-0.3132543377

-0.1971473663
-0.3538025146
0.1590434010
0.2382678314
0.3407372851
0.5144347758
-0.0637771109
-0.3215805828
0.0590622278
0.0937443372
0.3857993461
0.7713150420
-0.2694145732
-0.4511046937
0.0889037687
0.3398985747
0.3676620213
0.8014220781
-0.2300390125
-0.5031587857
0.1139448961
0.2348991505
0.3442950797
0.5648177625
-0.2643403754
-0.3831377675
0.1872382749
0.2190237558
0.6690967636
0.2312399320
-0.1773320054
-0.2643119138

-0.2517355223
-0.2611400116
0.1922702485
0.2115747307
0.5466083217
0.2899325358
-0.0834427576
-0.3131212100
0.1087180104
0.1054260266
0.6882306014
0.4732644296
-0.3100922426
-0.4130346297
0.1919046289
0.3115064360
0.6324683764
0.5127233967
-0.2743569584
-0.4367313144
0.1853844213
0.2225956727
0.4998230529
0.3581755083
-0.3010874965
-0.3395271299
0.2934664702
0.1530295516
0.8283291809
0.0257796884
-0.2153194326
-0.1718824221

-0.3158941346
-0.1276049660
0.2153723425
0.1411775125
0.7220873626
0.1090401177
-0.1250660851
-0.2438279471
0.1162129554
0.0928937365
0.9325141190
0.1697665648
-0.3478445756
-0.3152128090
0.2747543093
0.2464975878
0.8823959023
0.2061044831
-0.3446625089
-0.3088129654
0.2272292294
0.2330632684
0.6503402135
0.1313435186
-0.3343681420
-0.2484471806
0.3388802228
0.1445560420
0.8505524537
-0.0974028078
-0.2742081633
-0.0730390096

-0.3767936131
-0.0031446538
0.2306556625
0.0936137966
0.7688253360
-0.0093994089
-0.1967731405
-0.1301956644
0.1098027859
0.1041178376
1.0648430040
-0.0594190879
-0.4032718340
-0.1904796889
0.3197202204
0.1929244089
1.0336271240
-0.0235997598
-0.4277320381
-0.1579647511
0.2319034873
0.2160962497
0.7431866773
-0.0506070657
-0.3582544709
-0.1156696527
0.3225048995
0.2474587295
0.7212178166
-0.1457394392
-0.3147284217
0.00269225];

Posteriormente hubo que encontrar los coeficientes de Rx que darn la solucin al


sistema de ecuaciones.
%Encuentre los coeficientes de autocorrelacin Rx(0),Rx(1),...,Rx(10)
%Rx(k)=SUM from 1 to 159-k x(j)x(j+k) para k=0 hasta 10
%for k=0:10
%
for n=1:(length(X)-k)
%
Rx(k+1)=Rx(k+1)+(X(n)*X(n+k));
%
end
%end
Rx=zeros(1,11);
for k=0:10;
for j=1:(length(X)-k)
Rx(k+1)=Rx(k+1)+(X(j+k)*X(j))*(1/160-k);
end
end

Gonzlez Rodrguez Pablo Vinicio

Tarea 1

5 de marzo de 2012

El vector que resulta de obtener Rx es:


Rx = 1.0e+005 *[
0.0148249592
-2.2371478420
-4.0735529678
-2.9534469583
1.8805359214
3.6899713169

-3.8544506439
-4.4671646951
-1.4563858748
0.1777340675
5.6335532223];

Para encontrar los valores que satisfacen el sistema de ecuaciones se resuelve la matriz
%Encuentre
A= [Rx(1)
Rx(2)
Rx(3)
Rx(4)
Rx(5)
Rx(6)
Rx(7)
Rx(8)
Rx(9)
Rx(10)

los coeficientes del filtro LPC A(z)=1+a1Z^-1+...+a10z^-10


Rx(2) Rx(3) Rx(4) Rx(5) Rx(6) Rx(7) Rx(8) Rx(9) Rx(10)
Rx(1) Rx(2) Rx(3) Rx(4) Rx(5) Rx(6) Rx(7) Rx(8) Rx(9)
Rx(2) Rx(1) Rx(2) Rx(3) Rx(4) Rx(5) Rx(6) Rx(7) Rx(8)
Rx(3) Rx(2) Rx(1) Rx(2) Rx(3) Rx(4) Rx(5) Rx(6) Rx(7)
Rx(4) Rx(3) Rx(2) Rx(1) Rx(2) Rx(3) Rx(4) Rx(5) Rx(6)
Rx(5) Rx(4) Rx(3) Rx(2) Rx(1) Rx(2) Rx(3) Rx(4) Rx(5)
Rx(6) Rx(5) Rx(4) Rx(3) Rx(2) Rx(1) Rx(2) Rx(3) Rx(4)
Rx(7) Rx(6) Rx(5) Rx(4) Rx(3) Rx(2) Rx(1) Rx(2) Rx(3)
Rx(8) Rx(7) Rx(6) Rx(5) Rx(4) Rx(3) Rx(2) Rx(1) Rx(2)
Rx(9) Rx(8) Rx(7) Rx(6) Rx(5) Rx(4) Rx(3) Rx(2) Rx(1)];

B=-1*[Rx(1) Rx(2) Rx(3) Rx(4) Rx(5) Rx(6) Rx(7) Rx(8) Rx(9) Rx(10)]';
C=A\B;

Para el siguiente punto fue necesario pasar la seal original por el filtro que se obtuvo
%Pase la seal x(n) por el filtro A(z) para encontrar el residuo e(n),
%n=1,160 los valores de e(n) pongalos en la columna H
%Az=[1 C'];
en=zeros(1,length(X));
en(1)=X(1);
n=2;en(n)=X(n)+C(1)*X(n-1);
n=3;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2);
n=4;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2)+C(3)*X(n-3);
n=5;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2)+C(3)*X(n-3)+C(4)*X(n-4);
n=6;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2)+C(3)*X(n-3)+C(4)*X(n-4)+C(5)*X(n5);
n=7;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2)+C(3)*X(n-3)+C(4)*X(n-4)+C(5)*X(n5)+C(6)*X(n-6);
n=8;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2)+C(3)*X(n-3)+C(4)*X(n-4)+C(5)*X(n5)+C(6)*X(n-6)+C(7)*X(n-7);
n=9;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2)+C(3)*X(n-3)+C(4)*X(n-4)+C(5)*X(n5)+C(6)*X(n-6)+C(7)*X(n-7)+C(8)*X(n-8);
n=10;en(n)=X(n)+C(1)*X(n-1)+C(2)*X(n-2)+C(3)*X(n-3)+C(4)*X(n-4)+C(5)*X(n5)+C(6)*X(n-6)+C(7)*X(n-7)+C(8)*X(n-8)+C(9)*X(n-9);
for n=11:length(X)
sumprod=0;
for k=1:10
sumprod=C(k)*X(n-k)+sumprod;
end
en(n)=X(n)+sumprod;
end

Gonzlez Rodrguez Pablo Vinicio

Tarea 1

Este paso anterior es equivalente a utilizar el comando filter


Posteriormente la correlacin con los valores obtenidos de error.
Re=zeros(1,160);
for k=0:159
for j=1:(length(X)-k)
Re(k+1)=Re(k+1)+(en(j+k)*en(j))*(1/160-k);
end
end

Se genera una seal sinttica


En=rand(1,160);
En(31)=11;
En(60)=11;
En(90)=11;
En(119)=1;

Por ltimo la seal sinttica


sn=zeros(1,160);
for n=1:10
sn(n)=0;
end
for j=1:10
for n=11:160
sn(n)=-(sn(n)+(A(j)*sn(n-j)+En(n)));
end
end

5 de marzo de 2012

Вам также может понравиться