Está en la página 1de 6

UNIVERSIDAD CATÓLICA ANDRÉS BELLO

FACULTAD DE INGENIERÍA
ESCUELA DE TELECOMUNICACIONES
PROCESAMIENTO DE SEÑALES
Carlos Colmenares C.I: 27.313.772
Douglas Delgado C.I: 25.846.722
Alexis Paulino C.I: 25.051.869

TAREA N°2
1.- Considere una secuencia formada por la suma de dos señales sinusoidales
+ruido blanco. Las señales sinusoidales tendrán amplitud de 1 y frecuencia wo =
2π/12 y amplitud de 1 y frecuencia w1=2π/14. El ruido será gaussiano de media
cero y varianza unitaria. La longitud de la secuencia generada será de 1024
muestras.

Señal con ruido blanco:


Se puede apreciar la secuencia solicitada para el estudio de los distintos
escenarios de periodograma, la suma de dos señales sinusoidales y del ruido
gaussiano, a pesar de tener un número de muestras de 1024 la gráfica no logra
mostrar en su totalidad. Para el ruido se usa la función rand en Matlab.

2.- Obtenga el periodograma para 1024.

Periodograma para 1024 muestras:

Usando la función periodogram, se obtiene la estimación de la densidad


espectral de potencia del periodograma para la señal de entrada que en nuestro
caso fue la suma de las dos sinusoides más el ruido gaussiano, el periodograma
utiliza una ventana rectangular.

3.- Obtenga el periodograma promedio usando una longitud de la ventana L=256 y


un número de segmentos K=7 (Solape L/2). Use cualquier ventana.

Periodograma con K=7 y L=256:


En este escenario donde tenemos una longitud de ventana L=256, este
valor representa una ventana grande y se refleja en el periodograma una calidad
un poco baja.

4.- Obtenga el periodograma promedio usando una longitud de la ventana L=64 y


un número de segmentos K=31 (solape L/2).

Periodograma con K=31 y L=64:


En este caso nos encontramos con una ventana un poco más pequeña. Se
dice que mientras más pequeña sea la ventana la resolución va a empeorar, pero
disminuye la varianza.

5.- Obtenga los coeficientes de predicción lineal para la secuencia y evalué el


Espectro de potencia de la señal usando estos coeficientes.

Gráfica de Error vs Orden:

El predictor lineal a usar para calcular la DSP a nivel práctico en Matlab es


el pyulear. Antes de esto vamos a buscar el orden del filtro óptimo, para ello
haremos uso de la función aryule, ya que nos arroja directamente el error asociado
al orden usado y si se lo restamos a la entrada y elevamos el resultado al
cuadrado obtendremos la potencia de error asociada al orden ejecutado en la
función. Con la función aryule se realizó un ciclo para grafica para órdenes desde
0 al 30.

Como se puede observar en la figura 3. Se obtuvo una curva que decrece y


luego se va manteniendo constante, es decir, en cierto punto va decreciendo poco.
Dicho punto es alrededor DEP = 14, por lo que este valor fue el escogido como
orden óptimo.
El orden a la medida que el p aumente el error también entonces podemos
tomar un valor como p=25 pero en general viendo la gráfica podemos agarrar
valores de 9 en adelante ya que su error es relativamente pequeño. Para efectos
prácticos se tomará un p=60 (para distinguir las posibles líneas espectrales).

Ahora bien, en este punto ya determinado el orden del filtro aplicado en el


predictor vamos a utilizar la función aryule para estimar la DSP de la señal de
entrada.

Densidad espectral de potencia, con Aryule de orden 10:

Código empleado:

clc;
clear;

%Vector de tiempo de 1024 muestras. El cero también cuenta por ende el


vector llega a 1023 para un total de 1024 muestras.
n=0:1023;
%Señal enviada
signal= sin((2*pi/12)*n)+sin((2*pi/14)*n);
%Señal enviada con ruido
swnoise = signal + randn(size(n));
%Graficación
figure
plot(n,swnoise,'r');
title('Señal con ruido');
xlabel('muestras(n)');
ylabel('Volts');

figure
[px1,w1] = periodogram(swnoise); %Period. De la señal
plot(w1,10*log10(px1),'r'); % DEP por periodograma
title('Periodograma');
xlabel('Frecuencia');
ylabel('DEP');

figure
[px2,w2] = pwelch(swnoise,256,128); %Period. 256 muestras
plot(w2,10*log10(px2),'r')
title('Periodograma con L=256');
xlabel('Frecuencia');
ylabel('DEP');

figure
[px3,w3] = pwelch(swnoise,64,32); %Period. 64 muestras
plot(w3,10*log10(px3),'r')
title('Periodograma con L=64');
xlabel('Frecuencia');
ylabel('DEP');

z=[];
figure
for i = 0:30
[a,error] = aryule(swnoise,i);
ref=error;
z=[z,ref];
end

lim=linspace(0,30,31);
plot(lim,z,'r');
title('Error VS Orden');
xlabel('Orden');
ylabel('Error');

%DEP con aryule


figure
[t,err] = aryule(swnoise,60);
t=[1,t];
l=fft(t,1024);
%Invirtiendo grafica
w2=(1-l).*conj(1-l);
err=1./w2;
w=linspace(-pi,pi,1024);
%Normalizando de -pi a pi
plot(w,fftshift(err),'r');
xlabel('frecuencia(Hz)');
ylabel('Potencia(Watts)');
title('DEP con aryule orden 10');

También podría gustarte