Lab 2 Fundamentos de Telecom

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Universidad Tecnológica de Panamá

Sede Campus Dr. Víctor Levi Sasso

Facultad de Ingeniería Eléctrica

Carrera

Lic. En Ingeniería Eléctrica Y Electrónica

Informe de Laboratorio N°2

Fundamentos de Telecomunicación

Profesor

Edson Galagarza

Estudiantes

Diana Méndez 1-747-1916

Ámbar Beitia 4-778-520

2023

1
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.
Laboratorio 2
Análisis espectral usando la DFT/FFT
Resumen:
Mediante el uso del software Octave realizaremos el análisis espectral con DFT/FFT. En esta sección
del laboratorio nos encontraremos analizando el espectro de las señales continuas, con la ayuda del
análisis matemático y simulación de Fourier para reafirmar cientos conceptos importantes sobre el
análisis en el dominio de la frecuencia, se utiliza la transformada de Fourier discreta (DFT), que se
produce como el resultado de sus componentes de dominio de frecuencia en valores discretos o bits. La
transformada rápida de Fourier (FFT) es una implementación optimizada de un DFT que implica menos
cómputo para llevarse a cabo, pero simplemente deconstruye una señal.

a. Forme una señal x(t) de 1000-puntos (N) de longitud (en el tiempo) que contenga una onda coseno
de 100 Hz con amplitud 0.8 y una onda seno de 200 Hz con amplitud 1.2. Use una frecuencia de
muestreo de 1 kHz. ¿Cuál es la resolución de frecuencia df?
1
𝑑𝑓 =
𝜏
1
La frecuencia de muestreo es igual a 𝑑𝑡 = 𝑓𝑠 (1 miliseg), la resolución de frecuencia es de 1Hz.

b. Calcule la transformada discreta de Fourier de la señal.


c. Calcule el espectro de amplitud de un solo lado X1. También calcule el espectro de doble lado X2.
d. Defina los soportes para cada espectro.
e. En una sola figura usando tres gráficas (una debajo de la otra), grafique la señal en el dominio del
tiempo, y los espectros de amplitud de un solo lado y de doble lado, de la señal.

Código del programa

1. N=1000;
2. F1=100;
3. A1=0.8;
4. F2=200;
5. A2=1.2;
6. Fs=1000;
7. dt=1/Fs;
8. T=N*dt;
9. t=(0:N-1)*dt;
10. df=1/T;
11.
12. x=A1*cos(2*pi*F1*t)+A2*sin(2*pi*F2*t);
13. X=fft(x)/N;
14. x1=2*abs(X(1:length(X)/2));
15. x2=fftshift(abs(X));
16. f1=0:df:Fs/2-df;
17. f2=-Fs/2:df:Fs/2-df;
2
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.
18.
19. subplot(3,1,1)
20. plot(t,x,'linewidth',2,"g"); grid; axis([0 3/100 -2 2]);
21. title('Señal x(t)');xlabel('tiempo [seg]');
22. subplot(3,1,2)
23. plot(f1,x1,'linewidth',2,"c"); grid; title('Espectro de magnitud X1(f)');
24. xlabel('frecuencia [Hz]');
25. subplot(3,1,3)
26. plot(f2,x2,'linewidth',2,"m"); grid
27. title('Espectro de magnitud X2(f)'); xlabel('frecuencia [Hz]');

Ejecución del programa

3
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.
Adición de ceros
La adición de ceros (zero padding) se usa para mejorar la estimación de las componentes de
frecuencia de una señal. Las frecuencias en la transformada discreta de Fourier están espaciadas en
intervalos de Fs/N (df, resolución de frecuencia). Cuando se intenta estimar la amplitud de una
componente de una sinusoide con una frecuencia que no corresponde a un DFT bin puede resultar
una estimación no precisa. La adición de ceros a los datos antes de calcular la DFT ayuda a mejorar
la precisión de las amplitudes estimadas.
a. Forme una señal x(t) de 1000-puntos de longitud (en el tiempo) que contenga una onda seno de
100 Hz con amplitud 1 y una onda seno de 202.5 Hz con amplitud 2. Use una frecuencia de
muestreo de 1 kHz. ¿Cuál es la resolución de frecuencia df? ¿se tendrá una buena estimación
de las amplitudes de las sinusoides que conforman la señal?
R: La resolución de frecuencia es de 1.
No, no se tendría una buena estimación de las amplitudes de las señales en la imagen.

b. Calcule la transformada discreta de Fourier de la señal y grafique el espectro de un solo lado


en el intervalo [0 300 Hz]. ¿Qué observa? ¿son correctas las amplitudes de las componentes
sinusoidales de la señal?
Se puede observar que el espectro de magnitud de un solo lado con N=1000 puntos no es tan
exacto para la segunda senoidal de 202.5Hz debería ser en 0.5 a 202.5, esto pasa por que la
resolución de frecuencia no es óptima va de 1 a 1 y no alcanza su posición máxima que es la
obtenida.

La primera amplitud de la señal senoidal es correcta y la segunda no lo es.

Se puede interpolar la DFT por medio de la adición de ceros, lo que permite mejorar la estimación de
las amplitudes de las componentes espectral de una señal. Por otro lado, la adición de ceros no mejora
la resolución espectral de la DFT. La resolución espectral está determinada por el número de muestras
(N) y la razón de muestreo (Fs).

c. Calcule la DFT de la señal usando una longitud de 2000 puntos (para la FFT). ¿Con esta
longitud, cuál es la separación entre Calcule la DFT de la señal usando una longitud de 2000
puntos. ¿Con esta longitud, cuál es la separación entre los DFT bins? Grafique el espectro de
un solo lado. ¿Qué observa? ¿son correctas las amplitudes de las componentes sinusoidales de
la señal?
Se pude observar con el espectro de magnitud de un solo lado con N=2000 puntos
optimizamos la resolución de frecuencia que era de 1 en 1 ahora es de 0.5 en 0.5 y tenemos
un mejor resultado en el espectro de magnitud la de 100Hz está en 0.5 y la de 202.5Hz está en
0.5, ahora se llegó a su posición máxima que es la que tenemos.
La primera amplitud de la señal senoidal si es correcta y la segunda también es correcta, se
mejoró la resolución de frecuencia y fue más exacto el resultado.

4
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.
Código del programa
1. clear;
2. clc;
3. N = 1000;
4. Fs=1000;
5. F3=100;
6. F4=202.5;
7. dt=1/Fs;
8. T =N*dt;
9. t =(0:N-1)*dt;
10. df=1/T;
11.
12. x =sin(2*pi*F3*t)+2*sin(2*pi*F4*t);
13. X=fft(x)/N;
14. X1=2*abs(X(1:length(X)/2));
15. f1=0:df:Fs/2-df;
16.
17. Xz=fft(x,2000)/length(x);
18. X1z=2*abs(Xz(1:length(Xz)/2));
19. dfz=Fs/length(Xz);
20. fz=0:dfz:Fs/2-dfz;
21.
22. v=[0 300 0 2];
23. subplot(3,1,1)
24. plot(t,x,'linewidth',2,"g");grid;axis([0 3/100 -3 3]);
25. title('Señal x(t)');xlabel('tiempo [seg]');
26. subplot(3,1,2)
27. plot(f1,X1,'linewidth',2,"c");grid;axis(v);
28. title('Espectroo de magnitud X(f) DFT con N=1000');xlabel('frecuencia [Hz]');
29.
30. subplot(3,1,3)
31. plot(fz,X1z,'linewidth',2,"m");grid;axis(v);
32. title('Espectroo de magnitud X(f) DFT con N=2000');xlabel('frecuencia [Hz]');

5
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.
Ejecución del programa

6
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.
Señales y sistemas
Una señal de un solo tono s = sin(400t) se transmite a un amplificador de audio y bocina para
producir una señal de advertencia. Un filtro con respuesta al impulso h = 200 e–100tcos(400t)u(t)
se ha diseñado para reducir la interferencia aditiva en la señal recibida.
a. Determine la señal de salida del filtro, y, cuando se recibe la señal de entrada x = [cos(100t)
+ sin(400t) – cos(800t)] u(t).
b. Determine el espectro de magnitud de las señales de entrada y salida, y la magnitud de la
respuesta en frecuencia del filtro.
c. En una misma figura (en un arreglo 3x2) grafique las señales del tiempo h, x y y (en la primera
columna) y sus espectros de magnitud correspondientes en la segunda columna.

Código del programa

1. clc;
2. T=5e-3;
3. dt=T/100;
4. df=1/T;
5. t = 0:dt:5*T-dt;
6. N = length(t);
7. Fs = N*df;
8. s=sin(400*pi*t);
9. h=200*exp(-100*t).*cos(400*pi*t);
10. x=cos(100*pi*t)+sin(400*pi*t)-cos(800*pi*t);
11. [y,ty]=conv_n(x,t,h,t);
12. y=y(1:length(t));
13.
14. N=length(t);
15. res=10;
16. H=fft(h,N*res)/N; H=2*abs(H(1:N*res/2));
17. S=fft(s,N*res)/N; S=2*abs(S(1:N*res/2));
18. X=fft(x,N*res)/N; X=2*abs(X(1:N*res/2));
19. Y=fft(y,N*res)/N; Y=2*abs(Y(1:N*res/2));
20. df=df/res;
21. f=linspace(0,Fs/res,length(H));
22.
23. v=[0 800 0 1];
24. g=[0 800 0 80];
25. subplot(4,2,1)
26. plot(t,h,'linewidth',2,"g");grid;
27. title('Respuesta al impulso del filtro');
28.
29. subplot(4,2,2)
30. plot(f,H/max(H),'linewidth',2,"c");grid;
31. title('Espectro |H(f)|');axis(v);
32.
7
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.
33. subplot(4,2,3)
34. plot(t,s,'linewidth',2,"m");grid;
35. title('Señal transmitida');
36.
37. subplot(4,2,4)
38. plot(f,S,'linewidth',2,"g");grid;
39. title('Espectro |S(f)|');axis(v);
40.
41. subplot(4,2,5)
42. plot(t,x,'linewidth',2,"c");grid;
43. title('Señal de entrada');
44.
45. subplot(4,2,6)
46. plot(f,X,'linewidth',2,"m");grid;
47. title('Espectro |X(f)|'); axis(v);
48.
49. subplot(4,2,7)
50. plot(t,y,'linewidth',2,"g");grid;
51. title('Señal de salida');
52.
53. subplot(4,2,8)
54. plot(f,Y,'linewidth',2,"y");grid;
55. title('Espectro |Y(f)|'); axis(v);

Ejecución del programa

8
Lab Análisis Espectral
Prof. Dr.-Ing. Carlos A. Medina C.

También podría gustarte