Profesora:
Martha Erika Cejudo Torres Orozco
Curso:
Comunicaciones Analógicas y Digitales
Alumno:
Analco Bedolla Víctor Hugo
11-002-0102
Practica:
Simulación de coeficientes y transformada de Fourier.
OBJETIVO
Crear un programa en Matlab que simule y calcule los coeficientes de Fourier para una
señal cuadrada, así como también que permita dibujar n armónicos para dicha señal.
Además crear otro programa que calcule la transformada de Fourier para señal senoidal.
DESARROLLO
Coeficientes y armónicos de Fourier
Planteamiento del problema
Crearemos primero el fichero para calcular los coeficientes de Fourier.
Solución a mano
Vemos que la solución para el término constante está en función de tao (ancho del pulso)
y T (periodo), y de la misma forma pasa para la solución de los coeficientes Cn, es decir
podemos variar tanto tao como T para los coeficientes Cn. Para nuestro caso en particular
elegiremos tao=2 y T=6 para obtener nuestros coeficientes.
Y podemos apreciar el resultado obtenido con dichos valores, vemos gráficamente los
valores de los coeficientes de Fourier así como también de la magnitud.
Solución en Matlab.
% programa que obtiene los coeficientes de Fourier para una señal
cuadrada tao= 2; T = 6; w0 = 2*pi/T; % coeficientes N = 7; c0 = tao/T;
n=1:N; cn = (tao/T)*sinc(n*tao/T); %intervalo de frecuencia w = [w0*n 0 -w0*n]; %amplitudes modcn = [cn c0 cn]; %grafica cada amplitud subplot(2,1,1); stem(w,modcn); grid on; %numero de coeficientes que se muestran axis([-N N 0 0.6]); title(['coeficientes de fourier para N = ',num2str(N)]); ylabel('valores cn'); ylim([-0.2,0.6]);
%magnitud de los coeficientes modcn = abs([cn c0 cn]); %grafica cada amplitud subplot(2,1,2); stem(w,modcn); grid on; %numero de coeficientes que se muestran axis([-N N 0 0.6]); title(['magnitud de los coeficientes de fourier para N = ',num2str(N)]); ylabel('valores |cn|'); ylim([-0.1,0.6]);
Si aumentamos los números de coeficientes tenemos
De la solución anterior podemos obtener los enésimos armónicos para la señal cuadrada,
pero para este caso tomaremos a tao=4 y T=8
Solución en Matlab para los enésimos armónicos de la señal cuadrada.
%El siguiente programa determina los armonicos %de la Serie de Fouerier
%ancho del pulso menor a T tao =4; %periodo T=8; w0 = 2*pi/T; %intervalo t = -T:0.0006:T; % amplitud. 1v cc= (tao/T)*ones(1,length(t));
%--numero de armonicos deseados-- N =10;
for n=1:N %serie de fourier obtenida analiticamente cn = (tao/T)*(sinc(n*tao/T)); %representacion del tren de pulsos cc = cc + cn*exp(j*n*w0*t) + cn*exp(-j*n*w0*t); end
plot(t,cc,'r') title(['Grafica de arminicos para N = ',num2str(N)]) xlabel('Tiempo (segundos)') ylabel(['Amplitud (voltaje)']) grid on hold on
%señal ideal de referencia
%vector de menos el periodo hasta el periodo con 10k elementos de
pormedio x=linspace(-T,T,10000); %intervalo de la señal d=[-T:T:T]; %comando que genera pulsos rectangulares y=pulstran(x,d,'rectpuls',tao); plot(x,y,'Linewidth',2); ylim([-0.5,1.5]);
Para N=10
Para N=20
2. Coeficientes y armónicos de Fourier
Planteamiento del problema
Solución en Matlab.
%Transformada de Fourier
% Intervalo t=-1/2:0.01:1/2; %señal x=sin(2*pi*200*t+sin(2*pi*2*t)); figure(1); % Representacion en el tiempo plot(t,x); title('X(t)=sin(2*pi*200*t+sin(2*pi*2*t))'); xlabel('Tiempo "s" '); ylabel('x(t)');
% Transformada y representacion en frecuencia % Transformada rapida de fourier Xt=fft(x); % Reordenando en frecuencia X=fftshift(Xt);
% Magnitud y fase de la transformada Xm=abs(X); Xf=unwrap(angle(X))*180/pi;
% Base de frecuencias delta_t = t(2)-t(1); f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t; figure(2); plot(f,Xm); zoom; title('Transformada de Fourier de x(t)'); xlabel('frecuencia (Hz)'); ylabel('|X(jw)|');
% señal en el dominio del tiempo a partir de su transformada %Transformada inversa de fourier figure(3); xin=ifft(Xt); plot(t,xin); title('Transformada inversa') xlabel('Tiempo "s" '); ylabel('Xinversa(t)');
Señal de la Transformada de Fourier
Transformada de Fourier
Transformada inversa de Fourier
CONCLUSIONES
Así pues, podemos decir que se pudo realizar el programa en Matlab para generar tanto los
coeficientes como los armónicos para una señal cuadrada en donde, de acuerdo al problema, se
puede hacer variaciones para el ancho del pulso (tao) y para el periodo (T), así como también se
pudo realizar el programa que genera la transforma de Fourier para una señal senoidal y su
transformada inversa.