You are on page 1of 4

Para la Seal original tendremos el cdigo:

x = -0.5:0.01:0.5; y = square(2*pi*.25*t,100); plot(x,y) tl = -1:0.01:-0.5; yl = square(0*pi*.25*tl,0); tr = 0.5:0.01:1; yr = square(0*pi*.25*tl,0); tg = [tl t tr]; yg = [yl y yr]; plot(tg,yg) Usando este pulso de seal obtenemos el espectro de frecuencia complementado por el cdigo anterior: matlabFFT = figure; YfreqDomain = fft(yr); grid axis([0,100,0,120]) function [X,freq]=centeredFFT(x,Fs) N=length(x); if mod(N,2)==0 k=-N/2:N/2-1; % N even else k=-(N-1)/2:(N-1)/2; % N odd end T=N/Fs; freq=k/T; y = square(2*pi*.25*t,100); X=fft(x)/N; X=fftshift(X); [YfreqDomain,frequencyRange] = centeredFFT(y,Fs); centeredFFT = figure; function [X,freq]=positiveFFT(x,Fs) N=length(x); k=0:N-1; %create a vector from 0 to N-1 T=N/Fs; freq=k/T; X=fft(x)/N; cutOff = ceil(N/2); X = X(1:cutOff); freq = freq(1:cutOff);

Y obtenemos la siguiente grafica:

Empleado el mismo procedimiento pero variando el periodo de /T, variando y dejando a T constante se puede observar la variacin de la seal en las siguientes graficas:
matlabFFT = figure; YfreqDomain = fft(yr); grid axis([0,100,0,120]) function [X,freq]=centeredFFT(x,Fs) N=length(x); if mod(N,2)==0 k=-N/2:N/2-1; % N even else k=-(N-1)/2:(N-1)/2; % N odd end T=N/Fs; freq=k/T; y = square(2*pi*.25*t,125); X=fft(x)/N; X=fftshift(X); [YfreqDomain,frequencyRange] = centeredFFT(y,Fs); centeredFFT = figure; function [X,freq]=positiveFFT(x,Fs) N=length(x); k=0:N-1; %create a vector from 0 to N-1 T=N/Fs; freq=k/T; X=fft(x)/N; cutOff = ceil(N/2); X = X(1:cutOff); freq = freq(1:cutOff);

matlabFFT = figure; YfreqDomain = fft(yr); grid axis([0,100,0,120]) function [X,freq]=centeredFFT(x,Fs) N=length(x); if mod(N,2)==0 k=-N/2:N/2-1; % N even else k=-(N-1)/2:(N-1)/2; % N odd end T=N/Fs; freq=k/T; y = square(2*pi*.25*t,150); X=fft(x)/N; X=fftshift(X); [YfreqDomain,frequencyRange] = centeredFFT(y,Fs); centeredFFT = figure; function [X,freq]=positiveFFT(x,Fs) N=length(x); k=0:N-1; %create a vector from 0 to N-1 T=N/Fs; freq=k/T; X=fft(x)/N; cutOff = ceil(N/2); X = X(1:cutOff); freq = freq(1:cutOff);

matlabFFT = figure; YfreqDomain = fft(yr); grid axis([0,100,0,120]) function [X,freq]=centeredFFT(x,Fs) N=length(x); if mod(N,2)==0 k=-N/2:N/2-1; % N even else

k=-(N-1)/2:(N-1)/2; % N odd end T=N/Fs; freq=k/T; y = square(2*pi*.25*t,200); X=fft(x)/N; X=fftshift(X); [YfreqDomain,frequencyRange] = centeredFFT(y,Fs); centeredFFT = figure; function [X,freq]=positiveFFT(x,Fs) N=length(x); k=0:N-1; %create a vector from 0 to N-1 T=N/Fs; freq=k/T; X=fft(x)/N; cutOff = ceil(N/2); X = X(1:cutOff); freq = freq(1:cutOff);

You might also like