Sunteți pe pagina 1din 16

% Ejercicio 1 % % Genere una secuencia de instantes de tiempo que parta de t=0s y llegue hasta % t=0.25s en intervalos de 1ms.

Construya una funcin seno en esa base de % tiempo de amplitud 1 y frecuencia 5Hz. Use plot para dibujar la forma de onda. % Adems, destaque cada punto de la grfica con *. Tinicial=0; Tfinal=0.25; step=0.001; t=Tinicial:step:Tfinal-step; y=1*sin(5*2*pi*t); plot(t,y); hold on; plot(t,y,'r*'); title('Ejercicio 1'); % % % % % % % % Definimos el tiempo inicial Definimos el tiempo final Definimos el paso entre instantes de tiempo Se genera el vector de tiempos Se genera y Dibujamos y Dibujamos las muestras de y Nombre del ejercicio (grafica)

% Ejercicio 2 % % Escriba un fichero MATLAB que proporcione los coeficientes de Fourier de una % seal cuadrada de periodo 0.2s (frecuencia 5Hz) y amplitud igual a 1V. % % Obtener los coeficientes de Fourier para una seal cuadrada de periodo % 0.2s y amplitud 1. clear; % frecuencia de la seal cuadrada (=1/T) f=5; T=1/f; % Indice de los coeficientes n=1:10; % Coeficientes de Fourier cn=2*(cos(n*pi)-1)./(-2*j*n*pi); co=1; subplot(2,1,1); stem(n,abs(cn)); ylabel('Magnitud de cn'); title('Ejercicio 2'); subplot(2,1,2); stem(n,angle(cn)); ylabel('fase de cn'); xlabel('n');

% Ejercicio 3 % % Escriba un fichero en MATLAB para dibujar n armnicos de una seal cuadrada % de periodo 0.2s y amplitud 1. % % Desarrollo en serie de Fourier de una seal cuadrada de periodo 0.2s y amplitud 1 clear; % frecuencia de la seal cuadrada (=1/T) f=5; T=1/f; % Indice de los coeficientes n=1:10; % Generamos la serie de Fourier t=-1:0.01:1; % vector de tiempos for i=1:50 for k=1:size(t,2) s(i,k)=(2*(1-cos(pi*i))/(pi*i))*sin(2*pi*i*f*t(k)); end end for k=1:size(t,2) st(k)=sum(s(:,k)); end st(1)=st(1)+1; plot(t,st,'r'); hold on; % Seal cuadrada original f_cuadrada=square(2*pi*f*t,50); plot(t,f_cuadrada); xlabel('tiempo'); ylabel('Amplitud');

% Ejercicio 4 % % Obtenga la transformada de Fourier de una seal exponencial modulada en % amplitud con una frecuencia de portadora de 200Hz, x(t)=exp(% 2t)sin(2pi200t). % % Ejemplo de una ffT de una seal exponencial modulada en amplitud % con una frecuencia portadora de 200Hz. % % Definicion de la seal t=-0.25:0.001:0.25; x=exp(-2*t).*sin(2*pi*200*t); % Representacion en el tiempo subplot(3,1,1); plot(t,x); title('x(t)=exp(-2t)sin(2pi200t)'); xlabel('Tiempo (t)');ylabel('x(t)'); % Transformada de Fourier X=fftshift(fft(x)); % 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; % Representacion en frecuencia subplot(3,1,2); plot(f,Xm,'r'); title('Mdulo de transformada de Fourier de x(t)'); xlabel('frecuencia (Hz)');ylabel('|X(jw)|'); subplot(3,1,3); plot(f,Xf,'r');zoom; title('fase de la transformada de Fourier de x(t)'); xlabel('frecuencia (Hz)');ylabel('fase X(jw)');

% Ejercicio 5 % % Obtenga la transformada de Fourier de una seal exponencial modulada en % amplitud , x(t)=exp(-2t)sin(2pi3t). Realice la transformada inversa y % obtenga la seal en el tiempo a partir de su transformada. % % Ejemplo de una ffT de una seal exponencial modulada en amplitud % Obtencin de la seal en el tiempo a partir de su transformada % % Definicion de la seal t=-0.25:0.001:0.25; x=exp(-2*t).*sin(2*pi*3*t); % Representacion en el tiempo figure(1); plot(t,x); title('x(t)=exp(-2t)sin(2pi200t)'); xlabel('Tiempo (t)');ylabel('x(t)'); % Transformada y representacion en frecuencia Xt=fft(x); 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); subplot(2,1,1); plot(f,Xm,'r');zoom; title('Mdulo de transformada de Fourier de x(t)'); xlabel('frecuencia (Hz)');ylabel('|X(jw)|'); subplot(2,1,2); plot(f,Xf,'r');zoom; title('fase de la transformada de Fourier de x(t)'); xlabel('frecuencia (Hz)');ylabel('fase X(jw)'); % Obtener la seal en el dominio del tiempo a partir de su transformada xrec=ifft(Xt); figure(3); plot(t,xrec); title('Transformada inversa') xlabel('Tiempo (t)');ylabel('xrec(t)');

% Ejercicio 6 % % Genere un fichero MATLAB donde realice la convolucin de una seal coseno % de frecuencia 100Hz y una seal escaln. Compruebe que se verifican las % propiedades de la transformada de Fourier respecto al producto de convolucin. % % Ejemplo de una ffT de una seal exponencial modulada en amplitud % Obtencin de la seal en el tiempo a partir de su transformada % % Definicion de las seales t = -pi:0.001:pi; g_escalon=[zeros(1,1000*pi+1), ones(1,1000*pi+1)]; w = 2*pi; g = cos(w*100*t); g_conv = conv(g,g_escalon); figure(1); subplot(3,1,1); plot(t,g_escalon); title('SEAL ESCALON'); xlabel('Tiempo (t)');ylabel('e(t)'); subplot(3,1,2); plot(t,g); title('cos(2pit)'); xlabel('Tiempo (t)');ylabel('cos(2*pi*100*t)'); % Convolucion g_conv = conv(g,g_escalon); subplot(3,1,3); plot(t,g_conv(1:length(g)),'r') title('Convolucion'); xlabel('Tiempo (t)'); % Transformada y representacion en frecuencia de la convolucion G_conv=fftshift(fft(g_conv)); % Magnitud de la transformada Gm_conv=abs(G_conv); % Base de frecuencias delta_t = t(2)-t(1); f = ((1:length(g_conv)) - ceil(length(g_conv)/2)) / length(g_conv) / delta_t; figure(2); subplot(2,1,1); plot(f,Gm_conv,'r');zoom; title('Transformada de Fourier del producto de convolucion)'); xlabel('frecuencia (Hz)');ylabel('|X(jw)|'); % Obtener G_conv como el producto de los espectros G_escalon=fftshift(fft(g_escalon)); G=fftshift(fft(g)); G_conv2=G.*G_escalon; % Base de frecuencias delta_t = t(2)-t(1); f2 = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;

subplot(2,1,2); plot(f2,abs(G_conv2),'r');zoom; title('Producto de las transformadas de Fourier)'); xlabel('frecuencia (Hz)');ylabel('|X(jw)|');

% Ejercicio 7 % % Genere un fichero MATLAB donde realice la densidad espectral de potencia de % una seal coseno de frecuencia 100Hz. % % Densidad espectral de potencia t=-pi:0.001:pi; w=2*pi*100; g=cos(w*t); PSD=psd(g,2^10,length(g)); plot(PSD);

% Ejercicio 8 % % Definir una funcin seno de forma simblica % y calcular su transformada de Fourier. % % Anlsis de Fourier con clculo simblico syms t % crear variable simblica g=sin(2*pi*t); G=Fourier(g); % Transformada de Fourier ezplot(g); ginv=iFourier(G); % Transformada inversa Nota para ejercicio 8: No se pudo realizar el ejercicio por problemas con Matlab R2008a, pues la instruccin sym, syms (para crear variables simblicas), no se reconoce por falta de la librera llamada Symbolic Math Toolbox en la paquetera de este.

S-ar putea să vă placă și