Informe 1.Labo Intro a Tele

PROCESAMIENTO DE SEÑALES Y FUNCIONES PERIÓDICAS, USANDO MATLAB I. OBJETIVOS  Simular e investigar en forma experimental

Views 106 Downloads 3 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROCESAMIENTO DE SEÑALES Y FUNCIONES PERIÓDICAS, USANDO MATLAB I. OBJETIVOS  Simular e investigar en forma experimental el procesamiento de señales usando los comandos e instrumentos del software Matlab, desarrollándolos ejercicios propuestos en función de los ejercicios planteados.

II. EQUIPOS Y MATERIALES  Matlab versión 5.3, hasta versión 2013.  PC actual.  Manual de Matlab. III. INTRODUCCIÓN TEÓRICA MATLAB nos permite analizar señales analógicas. Esto se debe a que la forma natural de representar una señal en MATLAB es definir una secuencia finita de valores mediante un vector fila. Por tanto, siendo estrictos, en MATLAB toda señal es discreta en tiempo, mientras que en amplitud puede ser discreta (cuantizada) o continúa (aunque limitada por la precisión de los tipos numéricos). No obstante, si los intervalos temporales entre valores son suficientemente pequeños y el rango temporal en el que se define la señal es suficientemente amplio, la secuencia de valores empleada para representar la señal y las operaciones realizadas para su análisis proporcionan una buena aproximación a los resultados teóricos. En el caso más simple y frecuente, los valores se toman en instantes equiespaciados, intervalo que no debe confundirse con el periodo de muestreo. A partir de la serie de Fourier, es posible reconstruir una señal periódica. Cuanto mayor sea el número de armónicos utilizado en el desarrollo en serie, mejor será la reconstrucción. Un parámetro importante en la reconstrucción de señales es la velocidad de convergencia, o lo que es lo mismo, la velocidad con la que los coeficientes de Fourier tienden a 0. MATLAB está equipado con funciones especiales que nos van a permitir realizar un análisis de Fourier de funciones definidas por un conjunto de valores discretos. Por ejemplo, el comando fft() nos permite obtener la transformada rápida de Fourier (fast Fourier Transform) de una secuencia de números definida por el vector x.

Por ejemplo: >> X=fft(x);

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

Donde X es un vector de números complejos ordenados desde k=0...N-1. Si queremos que sea más eficiente en el cálculo de la ffT, la longitud del vector x deberá ser una potencia de 2. Podemos rellenar de ceros el vector x para que tenga la longitud apropiada. Esto se consigue automáticamente haciendo: >> X=fft(x,N); Donde N es exponente de 2. Mientras más largo sea x, más fina será la escala para la ffT. Debido a un fenómeno de plegamiento del espectro, sólo la primera mitad de los puntos obtenidos son de utilidad. La función fftshift() reordena el vector X en orden creciente de frecuencia. Si X es el vector resultante de hacer una ffT, utilizando esta función reordenamos los puntos en función de la frecuencia. >> X=fftshift(X); A partir de la transformada de Fourier, es posible reconstruir la señal en el dominio del tiempo. El comando ifft() sirve para obtener la transformada inversa de Fourier de una serie de números complejos: >> x=ifft(X)

IV. PROCEDIMIENTO 1) Desarrollar en el programa principal del Matlab los siguientes ejemplos y anotar sus resultados. 1.1. Dada un polinomio

𝑷 = 𝒔𝟒 + 𝟒𝒔𝟑 + 𝟒𝒔𝟐 + 𝒔 + 𝟐𝟎 DETERMINE LAS RAÍCES DEL POLINOMIO P MEDIANTE:

INFORME FINAL

2

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

CONOCIENDO LAS RAICES DE P DETERMINAMOS LOS COEFICIENTES DEL POLINOMIO MEDIANTE:

EVALUACIÓN DE FUNCIONES POLINÓMICAS x=linspace(-1,3); >> p=[1 4 -7 -10]; >> v=polyval(p,x); >> plot(x,v),title('x^3+4x^2-7x-10'),xlabel('x')

INFORME FINAL

3

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

MULTIPLICAION DIVISION DE POLINOMIOS

2) Escribir en el block de notas o depurador del Matlab los siguientes ejercicios y copiar en el programa principal, para graficar las funciones periódicas: 2.1 GRAFICA FUNCIONES TRIGONOMETRICAS x=linspace(0.4*pi,60); >> y=sin(x); >> plot(x,y)

INFORME FINAL

4

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

z=cos(x); >> plot(x,z,x,y)

plot(x,y,x,y,'*')

plot(y,z)

plot(x,y,x,2*y.*z,'--')

INFORME FINAL

5

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

>> grid >> xlabel('Variable independiente x') >> ylabel('Variable dependiente') >> title('2sen(x)cos(x)sen(2x)') >> plot3(y,z,x),grid

2.2 GENERACION DE SEÑAL DISCONTINUA La idea es multiplicar aquellos valores en un array que desea mantener por unos, y multiplicar los otros valores por ceros. x=linspace(0,16,100); >> y=sin(x); >> z=(y>=0).*y; >> z=z+0.5*(y> z=(x> plot(x,z) >>xlabel('x'),ylabel('z=f(x)') >>title('Señal Discontinua')

2.3 MANIPULACION DE GRAFICOS x=linspace(0.6*pi,60); >> y=sin(x); >> z=cos(x); >> plot(x,y) >> hold on >> plot(x,z,'m') >> hold off

INFORME FINAL

6

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

2.4 SUBDIVISION DE VENTANA DE GRAFICAS >>x=linspace(0,4*pi,60); >>y=sin(x); >>z=cos(x); >>a=2*sin(x).*cos(x); >>b=sin(x)./(cos(x)+eps); >>subplot(2,2,1) >>plot(x,y), axis ([0 4*pi -1 1]),title('sin(x)') >>subplot(2,2,2) >>plot(x,z), axis ([0 4*pi -1 1]),title('cos(x)') >>subplot(2,2,3) >>plot(x,a), axis ([0 4*pi -1 1]),title('2sin(x)cos(x)') >>subplot(2,2,4) >>plot(x,b), axis ([0 4*pi -40 40]), title('tg=sin(x)/cos(x)')

V. CUESTIONARIO 1. Cambie el valor de las variables en cada uno de los ejercicios y desarrolle nuevas aplicaciones, por lo menos 2 ejercicios adicionales de cada uno de los ejercicios planteados como ejemplo. GRAFICA DE FUNCIONES TRIGONOMÉTRICAS a)>> x=linspace(0,4*pi,60); >> y=cos(x); >> figure(1) >> plot(x,y)

>> z=sin(x); >> figure(2) >> plot(x,z,x,y) >> figure(3) >> plot(x,y,x,y,'*')

INFORME FINAL

7

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES >> plot3(y,z,x),grid

>> figure(4) >> plot(y,z)

b)>> x=linspace(0,5*pi,80); >> y=tan(x); >> figure(1) >> plot(x,y)

>> figure(5) >> plot(x,y,x,2*y.*z,'--')

>> z=acos(x); >> figure(2) >> plot(x,z,x,y)

>> grid >> xlabel('Variable independiente x') >> ylabel('variable dependiente') >> title('2sen(x)cos(x)sen(2x)') >> figure(6)

INFORME FINAL

>> figure(3)

8

LAB. N°01 >> plot(x,y,x,y,'*')

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES >> figure(6) >> plot3(y,z,x),grid

>> figure(4) >> plot(y,z)

GENERACIÓN DE SEÑALES DISCONTINUAS: a)>> x=linspace(0,20,200); >> y=cos(x); >> z=(y>=0).*y; >> z=z+0.6*(y> z=(x> plot(x,z)

>> figure(5) >> plot(x,y,x,2*y.*z,'--')

>> xlabel('x'),ylabel('z=f(x)') >> title('señal discontinua') b)>> x=linspace(0,10,150); >> y=sin(x); >> grid

>> z=(y>=1).*y;

>> xlabel('variable independiente x')

>> z=z+0.3*(y> ylabel('variable dependiente')

>> z=(x> title('2sen(x)cos(x)sen(2x)')

>> plot(x,z)

INFORME FINAL

9

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES >> hold off b)x=linspace(0,8*pi,75); >> y=sin(x); >> z=cos(x); >> plot(x,y) >> hold on >> plot(x,z,'m')

>> xlabel('x'),ylabel('z=f(x)') >> title('señal discontinua') MANIPULACIÓN DE GRÁFICOS: a)>> x=linspace(0,7*pi,70); >> y=cos(x); >> z=sin(x); >> plot(x,y) >> holt off >> plot(x,z,'m')

>> hold on >> plot(x,z,'m') >> hold off SUBDIVISIÓN DE VENTANA DE GRAFICAS (M,N,P) a)>> X=linspace(0,5*pi,70); >> y=sin(x); >> z=cos(x); >> a=2*sin(x).*cos(x); >> b=sin(x)./(cos(x)+eps); >> subplot(2,2,1)

INFORME FINAL

10

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES >> plot(x,a),axis([0 4*pi -1 1]),title('2sin(x)cos(x)')

>> plot(x,y),axis([0 4*pi -1 1]),title('sin(x)')

>> subplot(2,2,4)

>> subplot(2,2,2)

>> plot(x,y),axis([0 4*pi -1 1]),title('cos(x)') >> plot(x,b),axis([0 4*pi -40 40]),title('tg=sin(x)/cos(x)')

>> subplot(2,2,3)

b)>> X=linspace(0,9*pi,90); >> y=sin(x); >> z=cos(x); >> a=2*sin(x).*cos(x);

INFORME FINAL

11

LAB. N°01 >> b=sin(x)./(cos(x)+eps); >> subplot(2,2,1)

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES >> plot(x,a),axis([0 4*pi -1 1]),title('2sin(x)cos(x)')

>> plot(x,y),axis([0 4*pi -1 1]),title('sin(x)')

>> subplot(2,2,4)

>> subplot(2,2,2)

>> plot(x,y),axis([0 4*pi -1 1]),title('cos(x)')

>> plot(x,b),axis([0 40]),title('tg=sin(x)/cos(x)')

4*pi

-40

>> subplot(2,2,3)

INFORME FINAL

12

2. Explique las funciones de cada una de las principales instrucciones y comandos utilizados en los ejercicios anteriores.             

Y_deg permiete convertir grados a radianes) Fix(x) (Redondea hacia cero) Floor(x) (Redondea hacia menos infinito) Ceil (redondea hacia el infinito) Round (Redondea hacia el entero más próximo) Real (expresa la parte real de un número complejo) Imag (Expresa la parte imaginaria de un número complejo) Mag (expresa el módulo del número complejo) Linspace (La instrucción linspace sirve para definir un intervalo y un número de puntos en ese intervalo.) Plot (Permite plotear u obtener la gráfica en 2d ó 3d) Grid (Genera líneas horizontales y verticales en un gráfico) Subplot (Permite en una sola ventana mostrar varios gráficos) Hold off (permite liberar ventanas de gráficos para poder ser nuevamente usadas)

VI. CONCLUSIONES 

En este laboratorio hemos podido comprender los diferentes comandos y funciones que existen en el matlab, y que facilitan hacer diferentes operaciones como gráficos de señales en el plano y en el espacio.



Pudimos graficar diferentes señales periódicas mediante el uso de diferentes ventanas y también todas las gráficas en 1 sola ventana, lo cual permite una superposición y comparación de las diferentes señales que hemos analizado.



Hemos podido manipular las diferentes gráficas establecidas en cierto intervalo generado por nosotros, ya sea modificándola de forma directa, mediante recortes, pausas o inicio de otras señales.



Hemos comprendido que en matlab podemos trabajar con números reales, así como también se puede trabajar en función de números complejos lo que es un gran beneficio, ya que las señales reales se aproximan a valores con números complejos en gran parte.



Debemos de recordar algo muy importante una función es multievaluada en el tiempo, mientras que una señal verdadera es evaluada una sola vez en el tiempo.

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

DESARROLLO DE LA SERIE DE FOURIER I. OBJETIVOS  Haciendo uso de Matlab, verificar la serie trigonométrica y exponencial de Fourier y desarrollar los ejercicios propuestos en el cuestionario.

II. PROCEDIMIENTO 1. Desarrolle la serie trigonométrica de Fourier de la función: 𝐴, 𝑓(𝑡) = { −𝐴,

𝑒𝑛 0 ≤ 𝑡 ≤ 𝜋 𝑒𝑛 𝜋 ≤ 𝑡 ≤ 2𝜋

Grafique la serie de Fourier f(t), en MATLAB: SOLUCION La función f(t) es una función impar cuya serie trigonométrica de Fourier es:

4𝐴 1 1 𝑓(𝑡) = ( ) [sin 𝜔𝑡 + ( ) sin 3𝜔𝑡 + ( ) sin 5𝜔𝑡 + ⋯ ] 𝜋 3 5 Programando para mostrar la gráfica de la serie de Fourier: >>Fs=1000; >>t=(1:100)/Fs; >>w=2*pi*10; >>f=(8/pi)*(sin(w*t)+(1/3) *sin(3*w*t)+(1/5)*sin(5*w*t)+(1/7) *sin(7*w*t)+(1/9)*sin(9*w*t)); >>plot(t,f) >>grid

INFORME FINAL

14

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

2. Desarrolle la siguiente serie trigonométrica de Fourier, para: 𝐴, 𝑓(𝑡) = { −𝐴,

𝑝𝑎𝑟𝑎 − 𝜋/2 ≤ 𝑡 ≤ 𝜋/2 𝑝𝑎𝑟𝑎 𝜋/2 ≤ 𝑡 ≤ 3𝜋/2

SOLUCION: Dado que f(t) = función par cuya serie trigonométrica de Fourier está dada por: 𝑓(𝑡) = (

4𝐴 1 1 1 ) [cos 𝜔𝑡 − ( ) cos 3𝜔𝑡 + ( ) cos 5𝜔𝑡 − ( ) cos 7𝜔𝑡 + (1/9)cos(9𝜔𝑡)] 𝜋 3 5 7

Cuyo programa en Matlab es: >>Fs=1000; >>t=(1:100)/Fs; >>w=2*pi*10; >>f=(8/pi)*(cos(w*t)(1/3)*cos(3*w*t)+(1/5)*cos(5*w*t)(1/7)*cos(7*w*t)+(1/9)*cos(9*w*t)); >>plot(t,f) >>grid

3. De acuerdo al problema 2, la expresión general de la serie trigonométrica de Fourier para función f(t) par, está dado por: 𝑓(𝑡) = (

4𝐴 1 𝑛𝜋 ) ∑ ( ) sin ( ) cos 𝑛𝜔𝑡 𝜋 𝑛 2

Desarrolle mediante la instrucción de control de flujo FOR del Matlab: SOLUCION: >>Fs=100; >>t=(-100:100)/Fs; >>w=2*pi; >>A=2; >>f=0; >>for n=1:1000; >>f=f+(4*A/(n*pi))*(sin(n*0.5*pi))*cos(n*w*t);

INFORME FINAL

15

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

>>end; >>plot(t,f) >>xlabel('t(seg)') >>ylabel('AMPLITUD') >>title('FUNCION PAR ONDA CUADRADA') >>grid

INFORME FINAL

16

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

DESARROLLO DE LA TRANSFORMADA RÁPIDA DE FOURIER I. OBJETIVOS  Haciendo uso de Matlab, desarrollar la transformada de funciones no periódicas y la transformada rápida de Fourier FFT de señales muestreadas y mostrar las gráficas correspondientes en el dominio del tiempo y la frecuencia.

II. PROCEDIMIENTO 1. Desarrolle la transformada de Fourier usando Matlab cuya expresión es: >>N=128; >>t=linspace(0,3,N); >>f=2*exp(-20*t); >>figure(1) >>plot(t,f) >>xlabel('Time,seg'),ylabel('f(t)'),grid >>axis([0 0.3 0 2]); >>Ts=(2)-t(1); >>Ws=2*pi/Ts; >>F=fft(f); >>Fp=F(1:N/2+1)*Ts; >>W=Ws*(0:N/2)/N; >>figure(2) >>plot(W,abs(Fp),'+') >>xlabel('frequency,Rad/s'),ylabel('|F(W)|')

INFORME FINAL

17

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

Verifique la gráfica de la transformada de Fourier desarrollada: >>N=128; >>t=linspace(0,3,N); >>Ts=t(2)-t(1); >>Ws=2*pi/Ts; >>W=Ws*(0:N/2)/N; >>Fa=2./(20+j*W); >>figure(3) >>plot(W,abs(Fa)) >>xlabel('frequency,Rad/s'),ylabel('|F(W)|')

2. Desarrolle la transformada rápida de Fourier de una señal muestreada 𝑋(𝑘) = ∑ 𝑋(𝑛) 𝑒 −𝑗 (

2𝜋 ) 𝑛𝑘 4

𝐷𝑜𝑛𝑑𝑒 𝑘 = 0,1,2,3, …

Cuyo desarrollo está dado por el siguiente programa: >>n=[0,1,2,3,4,5]; >>Xn=[1,2,3,4,5,6]; >>Xk=fft(Xn); >>Xmag=abs(Xk); >>Xphase=angle(Xk); >>figure(1) >>plot(m,Xmag),axis([0 5 0 23]); >>figure(2) >>Stem(m,Xmag) >>figure(3) >>Stem(m,Xphase)

INFORME FINAL

18

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

3. Para la suma de dos señales senoidales contaminado con ruido desarrolle la gráfica en el dominio del tiempo y su respectiva grafica de Fourier.

>>t=0:0.001:0.6; >>x=sin(2*pi*50*t)-sin(2*pi*120*t); >>y=x+2*randn(size(t)); >>figure(4) >>plot(y(1:50)) >>Y=fft(y,512); >>Pyy=Y.*conj(Y)/512; >>f=1000*(0:255)/512; >>figure(5) >>plot(f,Pyy(1:256))

INFORME FINAL

19

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

4. Desarrolle la transformada de Fourier de la suma de tres señales senoidales:

>>Fs=100; >>t=(1:100)/Fs; >>s1=5*sin(2*pi*t*5);s2=10*sin(2*pi*t*15);s3=7*sin(2*pi*t*30) >>s=s1+s2+s3; >>figure(1) >>plot(t,s); >>S=fft(s,512); >>w=(0:255)/256*(Fs/2); >>figure(2) >>plot(w,abs([S(1:256)]));

INFORME FINAL

20

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

5. Desarrolle la gráfica de la transformada de la función de muestreo Sa(x): >>fplot('5*sin(x)./x',[-30 30 -.2 6]) >>title('fplot of f(x)=5.sin(x)/x') >>xlabel('x') >>ylabel('f(x)')

III. CUESTIONARIO FINAL TEMA 3 1. Desarrolle la transformada rápida de Fourier de la función Sa(t).

INFORME FINAL

21

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

2. Si 𝑭(𝒕) = (𝒆𝒋𝝎𝒕 + 𝒆−𝒋𝝎𝒕 )/𝟐 . Determine su transformada rápida de Fourier.

>>t=-0.25:0.001:0.25; >>w=2*pi; >>f=(exp(j*w*t)+exp(j*w*t))/2; >>figure(1) >>plot(t,f)

>>N=128; >>axis([0 0.2 0 2]); >>Ts=t(2)-t(1); >>Ws=2*pi/Ts; >>F=fft(f); >>Fp=F(1:N/2+1)*Ts; >>W=Ws*(0:N/2)/N; >> figure(2) >> plot(W,abs(Fp),'+') >> xlabel('Frequency,Rad/s') ,ylabel('|F(W)|')

3. Dado 𝑭(𝒕) = 𝑨 𝐬𝐢𝐧 𝝎𝒕. Desarrolle su transformada rápida de Fourier. a).function directa >> N=128; >> A=2; >> w=2*pi; >> f=A*sin(w*t); >> figure(1)

INFORME FINAL

22

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

>> plot(t,f) >> xlabel('Time,seg') ,ylabel('f(t)'),grid

b) Transformada de furrier >> t=-0.25:0.001:0.25; >> A=2; w=2*pi; f=A*sin(w*t); subplot(2,1,1); plot(t,f); F=fft(f); Fp=F(1:N/2+1)*Ts; W=Ws*(0:N/2)/N; figure(3) plot(W,abs(Fp),'+') xlabel('Frecueny,rad/s'),ylabel('|F(W)|')

4. Desarrolle la transformada de Fourier de la señal muestreada m=[0,1,2,3] y Xm=[2,3,4,5]. m=[0,1,2,3]; Xm=[2,3,4,5]; Xk=fft(Xm); Xmag=abs(Xk); Xphase=angle(Xk); figure(1)

INFORME FINAL

23

LAB. N°01

LAB. INTRODUCCIÓN A LAS TELECOMUNICACIONES

plot(m,Xmag),axis([0 5 0 25]); figure(2) stem(m,Xmag) figure(3) stem(m,Xphase)

IV. Conclusions  En esta experiencia hemos podido hacer uso de la transformada rápida de Fourier a través del software Matlab.  Para poder expresar la serie trigonométrica y exponencial de Fourier realizamos un análisis teórico para obtener la forma expresada matemáticamente y luego digitarla en Matlab.  Hemos sincronizada las diferentes funciones a través del tiempo, teniendo en cuenta señales periódicas que se generan a través del Matlab.  Hemos analizado la transformada trigonométrica y exponencial de Fourier y así mismo lograr su gráfica a través de Matlab.

INFORME FINAL

24