Lab3 - Final de Comunicaciones
Lab3 - Final de Comunicaciones
Lab3 - Final de Comunicaciones
Comunicaciones I
Laboratorio 1B
Grupo: 1IT141- B
Tabla de Contenido:
Resumen……………………………………………………………. 1
1. Introducción………………………………………………………1-2
3. Procedimiento experimentales……………………………………2-3
5. Conclusiones y recomendaciones………………………………...12
6. Referencias………………………………………..........................12
En primera instancia utilizamos una computadora que contenía instalado el software de MATLAB. En esta experiencia de
laboratorio trataremos realizar códigos para determinar el contenido espectral de señales continuas en el tiempo. Al modelar
señales con algún tipo de software se requiere presentar las señales con muestras, para esto entre las consideraciones que se deben
tomar en cuenta para modelar sistemas muestreados están: la razón o periodo de muestreo, las resoluciones de tiempo y
frecuencias, y qué transformaciones discretas (directa o inversas) de frecuencias se realizan, para realizar una transformada de
Fourier en Matlab se debe utilizar los comandos FFT en el caso de que el número de muestras sea una potencia de 2, de lo contrario
se utiliza DFT.
1
Procedimientos experimentales
Iniciamos leyendo la guía proporcionada, la cual está constituida por 3 puntos a realizar, los cuales fueron titulados de la siguiente
forma: FFT y FFTSHIFT, adición de ceros y ventanas (rectangular, hamming), análisis espectral- relación entre la resolución de
frecuencia y fuga espectral.
En la sección de FFT y FFTSHIFT: procedimos a realizar la resolución de frecuencia mediante códigos proporcionadas por el
profesor, calculamos la transformada de Fourier por medio de los códigos FFT y se graficó el espectro de amplitud de doble lado
y espectro de un solo lado. Con 2 tipos diferentes de amplitud y frecuencia.
Sección de adición de ceros y ventanas (rectangular, hamming): se usó para mejorar la estimación de los componentes de
frecuencia de una señal. Las frecuencias en la transformada discreta de Fourier están espaciadas en intervalos Fs/N (df, resolución
de frecuencias). Se interpolo la transformada DFT por medio de la adición de ceros, lo que permitió la estimación de las amplitudes
de los componentes espectrales de una señal. Pero no mejoro la resolución espectral de la DFT, la cual está determinada por
medio de números de muestras y razón de muestreo (Fs).
Sección de análisis espectral- relación entre la resolución de frecuencias y la fuga espectral: esta parte consta de 3 puntos, en el
primer punto se utilizaron 3 tipos diferentes de frecuencias: 𝑓1 = 4𝐾ℎ𝑧, 𝑓2 = 5𝐾ℎ𝑧, 𝑓3 = 6𝐾ℎ𝑧, en donde se realizó la resolución
de frecuencias, luego se realizó la gráfica de la señal X n vs el índice de muestras, se realizó el cálculo de la DFT y FFT para
graficar el espectro de un solo lado, luego se utilizó el comando IFFT para el cálculo de la transformada inversa de Fourier, se
realizó también la construcción de una ventana Hamming mediante los códigos proporcionados por el profesor.
El siguiente punto, se tiene una señal periódica rectangular x(t), con periodo T0, definida por:
𝐴, |𝑡| < 𝑡0
𝐴
𝑥(𝑡) = { , 𝑡 = ±𝑡0
2
0, 𝑑𝑒 𝑙𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜
Se utilizó el código pulstran para generar la señal x (t) y se determinó y graficó el espectro de magnitud y la fase de la señal.
Se graficó la señal en el intervalo -5>t>50 ms, la señal resultante (stem) con el código subplot2x1. Se graficó también el espectro
de amplitud y fase de la señal x(t). Se diseñó un filtro pasa bajas butterworth de orden 4 y frecuencia de corte de 10 hz, con el
comando butter en Matlab. Posteriormente se graficó la respuesta al impulso del filtro mediante el comando impz y se obtuvo la
gráfica de la señal de salida al introducir la señal de entrada por medio del filtro ya diseñado. Y por último se repitieron los mismos
pasos pero ahora con un filtro pasa bajas butterworth de orden 8.
2
Resultados
1. FFT y FFTSHIFT
Código:
N=1000;
Fs=1000;
df=N/Fs;
dt=1/Fs;
T=N*dt;
t=(0:N-1)*dt;
f=(0:N-1)*df;
f2=linspace(-500,500,1000);
f1=linspace(0,500,500);
a1=0.8; a2=1.2;
x=a1*cos(2*pi*100*t)+a2*sin(2*200*t);
X=(1/N)*abs(fft(x));
X2=fftshift(X);
X1=X(1:500);
%subplot(4,1,2); plot(f,X);
Figura1.Señal en el dominio del tiempo, espectro de amplitud de doble lado y espectro de amplitud de un solo lado.
3
2. Adición de ceros y ventanas (rectangular, Hamming)
Código:
dt=1/Fs;
T=N*dt;
t=(0:N-1)*dt;
f=(0:N-1)*df;
f1=(0:(N-1)/2);
x=sin(2*pi*100*t)+sin(2*pi*202.5*t);
X=(1/N)*abs(fft(x));
X1=X(1:500);
4
3. Análisis espectral – relación entre la resolución de frecuencia y la fuga espectral
Código:
N=100;
Fs=20000;
%Parte A
dt=1/Fs;
T=N*dt;
df=Fs/N;
f=(0:N-1)*df;
t=(0:N-1)*dt;
Figura 3. Resolución
Código:
%Parte B
dn=0:1:N-1;
x=cos(2.*pi.*f1.*t)+cos(2.*pi.*f2.*t)+cos(2.*pi.*f3.*t);
figure
5
Figura 4. Señal por muestras.
Código:
%Parte C
n=256;
X=(1/N).*(fft(x,n));
X2=abs(X);
X1=X2(1:((n)/2)+1);
fn=f/Fs;
ft=linspace(0,1,length((X1)/Fs));
figure
6
Codigo:
%ParteD
X3=ifft(X).*N;
figure
%%
Código:
%ParteE;
w=hamming(N);
h=w'.*x;
figure
%%
7
Figura 7. Señal en el tiempo y la señal en ventana hamming.
Código:
%ParteF
H=(1/N)*abs(fft(h,n));
H1=H(1:((n)/2)+1);
figure
%%
8
Código:
%Parte G
x=cos(2.*pi.*f1.*t)+cos(2.*pi.*f2.*t)+cos(2.*pi.*f3.*t);
H=(1/N)*abs(fft(h,n)); R=(1/N)*abs(fft(r,n));
H1=H(1:((n)/2)+1); R1=R(1:((n)/2)+1);
figure
Figura 9. Ventana rectangular y ventana hamming, en frecuencia normalizada y con un numero de muestras de 10.
9
N=25; dt=1/Fs; T=N*dt; df=Fs/N; f=(0:N-1)*df; t=(0:N-1)*dt;
x=cos(2.*pi.*f1.*t)+cos(2.*pi.*f2.*t)+cos(2.*pi.*f3.*t);
H=(1/N)*abs(fft(h,n)); R=(1/N)*abs(fft(r,n));
H1=H(1:((n)/2)+1); R1=R(1:((n)/2)+1);
figure
Figura 10. Ventana rectangular y ventana hamming, en frecuencia normalizada y con numero de frecuencia de 25.
10
N=50; dt=1/Fs; T=N*dt; df=Fs/N; f=(0:N-1)*df; t=(0:N-1)*dt;
x=cos(2.*pi.*f1.*t)+cos(2.*pi.*f2.*t)+cos(2.*pi.*f3.*t);
H=(1/N)*abs(fft(h,n)); R=(1/N)*abs(fft(r,n));
H1=H(1:((n)/2)+1); R1=R(1:((n)/2)+1);
figure
Figura 10. Ventana rectangular y ventana hamming, en frecuencia normalizada y con numero de muestra de 50.
11
12