Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NACIONAL MAYOR DE
SAN MARCOS
Fundada en 1551
PROFESOR:
CURSO:
Lima-Perú
2020
I. OBJETIVO
II. PROCEDIMIENTO
%FUNCIONES MATEMATICAS
>>x=sqrt (4) /2
x=1
>> x1=sqrt (256)/8
x1 =2
>> x2=sqrt (25)/3
x2 = 1.6667
>> y=asin(x)
y = 1.5708
>> y_deg=y*180
y_deg = 282.7433
>> y1=acos(x)
y1 = 0
>> y1_deg=y1*180/pi
y1_deg = 0
>> y2_deg=y2*90/pi
y2_deg =22.5000
%Raices
x=5
>> x1=sqrt(5^3-4^3)
x1 =7.8102
x2 =49.8197
>> %resto de la división
y =3
y1 =8
>> y2
y2 = 0.7854
y2 =1
>> %REDONDEOS
>> x=2.6;
>> y1=fix(x)
y1 =2
>> y2==floor(x)
ans = 0
>> y2=floor(x)
y2 =2
>> y3=ceil(x)
y3 3
>> y4=round(x)
y4 =3
>> %probamos
>> x7=3.8;
y1 =3
y2 =3
y3 =4
y4 =4
2.2 Números Complejos
>> x1=(-b+sqrt(b^2-4*a*c))/(2*a)
x1 = -1.1667 + 1.1426i
>> x2=(-b-sqrt(b^2-4*a*c))/(2*a)
x2 = -1.1667 - 1.1426i
>> %Comprobacion
>> a*x1^2+b*x1+c
ans =0
>> a*x2^2+b*x2+c
ans =0
>> a=5;b=11;c=16;
>> x3=(-b+sqrt(b^2-4*a*c))/(2*a)
x3 = -1.1000 + 1.4107i
>> x3=(-b-sqrt(b^2-4*a*c))/(2*a)
x3 = -1.1000 - 1.4107i
>> %Comprobacion
>> a*x3^2+b*x3+c
ans =0
>> a*x3^2+b*x3+c
ans = 0
2.3
Construcción de Arrays
2.4 Escribir en el editor de Matlab para obtener las gráficas de las funciones periódicas
La idea es multiplicar aquellos valores en un array que desea mantener por unos y
multiplicar los otros valores por ceros.
%Generacion de señales
discontinuas
x=linspace(0,15,100);
y=cos(x);
z=(y>=0).*y;
%Si sin(x) es negativo,
sumar 0.5
z=z+0.5*(y<0);
%fija a cero los
valores mayores
z=(x<=14).*z;
plot(x,z)
xlabel('x')
ylabel('z=f(x)')
title'señal
discontinua')
%Generacion de
señales
discontinuas
x=-10:0.1:10;
x1=x(x<0);
x2=x(x>=0);
y1=2*x1+4;
y2=4-2*x2;
figure(14)
plot(x,[y1 y2])
%Manipulacion de
Graficos
x=linspace(0,6*pi,60)
;
y=sin(x);
z=cos(x);
figure(15)
plot(x,y)
%Manipulación de
Gráficos
n=0:40;
x=sin(0.2*n);
h=sin(0.5*n);
y=conv(x,h);
stem(h,y(1:length(n))
,'filled');
title('manipulacion
de graficos')
%Subdivision de Graficos
subplot(2,2,1)
x=linspace(0,10);
y1=sin(x);
plot(x,y1)
title('sen(x)')
subplot(2,2,2)
y2=cos(2*x);
plot(x,y2)
title('cos(2x)')
subplot(2,2,3)
y3=cos(4*x);
plot(x,y3)
title('cos(4*x)')
subplot(2,2,4)
y4=sin(2*pi*x);
plot(x,y4)
title('sin(2*pi*x)')
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
Fundada en 1551
PROFESOR:
CURSO:
Lima-Perú
2020
I. Objetivos:
Haciendo uso de MATLAB, verificar la serie trigonométrica de Fourier y exponencial de
Fourier y desarrollar los ejercicios propuestos en el cuestionario.
II. Procedimiento:
1. Desarrolle la serie trigonométrica de Fourier de la función:
f (t )= {−AA enen0π≤≤tt≤≤π2 π
Grafique la serie de Fourier f(t), en Matlab
SOLUCION
La función f(t) es una función impar cuya serie trigonométrica de Fourier es:
(4 A ) 1 1
f (t)=
(π )[ ()
sin wt +
3
sin 3 wt +
5 ()
sin 5 wt +…
]
Programando para mostrar la gráfica de la serie de Fourier
Fs=1000;
t=(1:100)/Fs;
w=2*pi*10;
f=(8/pi)*(sin(w*t)+(1/3)*sin(3*w*t)
+(1/5)*sin(5*w*t)+(1/7)*sin (7*w*t)
+(1/9)*sin(9*w*t));
plot(t,f);
xlabel('t(seg)');
ylabel('AMPLITUD');
title('DESARROLLO DE LA SERIE TRIGONOMETRICA DE
LA FUNCIÓN');
grid
f (t )= A para−π /2 ≤t ≤ π /2
{ − A en π /2 ≤t ≤ 3 π / 2
SOLUCION:
Dado que f(t) = función par cuya serie trigonométrica de Fourier está dada por:
Fs=1000;
t=(1:100)/Fs;
w=2*pi*10;
f=(8/pi)*(cos(w*t)-(1/3)*cos(3*w*t)+(1/5)*cos(5*w*t)-
(1/7)*cos(7*w*t)+(1/9)*cos(9*w*t)- (1/11)*cos(11*w*t)
+(1/13)*cos(13*w*t));
plot(t,f);
xlabel('t(seg)');
ylabel('AMPLITUD');
title('DESARROLLO DE LA SERIE TRIGONOMETRICA DE LA
FUNCIÓN');
grid
3. De acuerdo con el problema 2, la expresión general de la serie trigonométrica
de Fourier para función f(t) par, está dado por:
f
( t ) =¿
( 4πA )∑ (1n )sin (nπ2 )cos nωt ¿
%Serie trigonométrica de
Fourier
fs=100;
t=(-100:100)/fs;
w=2*pi;
a=2;
f=0
for n=1:1000;
f=f+(4*a/
(n*pi))*(sin(0.5*pi*n))*cos(n*
t*w);
end;
plot(t,f)
xlabel('t(seg)' )
ylabel('amplitud')
title('función par onda
cuadrada')
grid
En este caso la serie trigonométrica de Fourier de la Señal sale una onda cuadrada.
Si no se aprecia la onda cuadrada, en octave podemos poner lo siguiente: pkg load signal.
Podemos ajustar mejor el ploteo de la señal dando un axis [0 1 -3 3].
Cuestionario
1. Dada la expresión de la serie de Fourier trigonométrica, desarrolle la gráfica de f(t).
Usando el criterio del problema 3
A 1
f (t )=
2
−∑
n ()
sin ( n wo t ) Sea f (t )= At en ( 0,1 ) .
Fs=100;
t= (-100:0.01:100)/Fs;
w=2*pi;
A=1;
f=0;
for n=1:100
f=f+(A/2-((1/n)*sin(n*w*t)));
end
plot(t,f,'b');
xlabel('t(seg)');
ylabel('AMPLITUD');
title('FUNCION ONDA DIENTE DE SIERRA');
grid
fs=100;
t=(-100:100)/fs;
w=2*pi;
A=2;
f=0;
for n=0:1000;
f=f+((2*(n+1)*pi)^2)\(4*A)*cos(n*w*t);
end;
figure(3)
plot(t,f)
xlabel('t(seg)')
ylabel('AMPLITUD')
title('FUNCION TRIGONOMETRICA IMPAR')
4. Grafique la serie exponencial de FOURIER DE LA FUNCION
f (t )= A e−2 t en t=[0,1]
Fs=100;
t=(-100:100)/Fs;
w=2*pi;
A=1;
f=0;
for n=1:100
f=f+sinh(pi)*(-1)^n*exp(-1*i*2*pi*t*n)/(1+pi*i*n);
end
figure (4)
plot(t,f);
xlabel('t(seg)');
ylabel('AMPLITUD');
title('Funcion Par Seno');
gri
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
Fundada en 1551
PROFESOR:
CURSO:
Lima-Perú
2020
I. OBJETIVO
Haciendo uso de MATLAB, desarrollar la transformada de funciones no periódicas y la
transformada rápida de Fourier FFT de señales muestreadas y mostrar las gráficas
correspondientes en el dominio del tiempo y la frecuencia.
II. PROCEDIMIENTO
n=128;
t=linspace(0,3,n);
f=2*exp(-20*t);
figure(1)
plot(t,f)
xlabel('time,seg'),ylabel('f(t)'),grid
axis([0 0.3 0 2]);
ts=t(2)-t(1);
Ws=2*pi/ts;
F=fft(f);
Fp=f(1:n/2+1)/ts;
W=Ws*(0:n/2)/n;
figure(2)
plot(W,abs(Fp),'+')
xlabel('frecuency,rad/s'),ylabel('f(w)')
n=128;
t=linspace(0,3,n);
Ts=t(2)-t(1);
Ws=2*pi/Ts;
W=Ws*(0:n/2)/n;
Fa=2./(20+j*W);
figure(3)
plot(W,abs(Fa))
xlabel('Frecuencia ,Rad/s')
ylabel('f(W)')
m=[0,1,2,3,4,5];
Xn=[1,2,3,4,5,6];
Xk=fft(Xn);
Xmag=abs(Xk);
Xphase=angle(Xk);
figure(1)
plot(m,Xmag),axis([0 5 0 23]);
figure(2)
stem(m,Xmag)
figure(3)
stem(m,Xphase)
4. Para la suma de dos señales senoidales contaminado con ruido desarrolle la gráfica
en el dominio del tiempo y su respectiva grafica de Fourier.
t=0:0.001:0.6;
x=sin(2*pi*50*t)-sin(2*pi*120*t);
y=x+2*randn(size(t));
figure(4)
plot(y(1:50))
Y=fft(y,512);
Pyy=Y.*conj(Y)/512;
f=1000*(0:255)/512;
figure(5)
plot(f,Pyy(1:256))
5. Desarrolle la transformada de Fourier de la suma de tres señales senoidales:
Fs=100;
t=(1:100)/Fs;
s1=5*sin(2*pi*t*5);s2=10*sin(2*pi*t*15);s3=7*sin(
2*pi*t*30)
s=s1+s2+s3;
figure(1)
plot(t,s);
S=fft(s,512);
w=(0:255)/256*(Fs/2);
figure(2)
plot(w,abs([S(1:256)]));
6. Desarrolle la gráfica de la transformada de la función de muestreo Sa(x):
Graficamos la Función Sa(x) o también apreciable de la forma Sin(x)/x, en este caso usamos
el comando fplot.
Otra forma de graficar la función Sa (x) es usando el comando sinc(x).
III. CUESTIONARIO
Fs=100;
x=(-200:0.8:200)/Fs;
s=sinc(2*pi*t);
figure(1);
plot(x,s);
title('FUNCION SA(x)');
xlabel('t(seg)');
ylabel('AMPLITUD');
S=fft(s,2048);
w=(0:255)/256*(Fs/2);
figure(2);
plot(w,abs([S(1:256)]));
title('TRANSFORMADA DE LA FUNCION SA(x)');
xlabel('Frecuencia(Rad/s)');
ylabel('|F(W)|');
2) Determine su transformada rápida de Fourier
jωt
Si F(t )=( e −e− jωt ) /2
w=2*pi;
f=(exp(j*w*t)+exp(-j*w*t))/2;
figure(1)
plot(t,f)
title('FUNCION A TRABAJAR');
xlabel('t(seg)');
ylabel('AMPLITUD');
N=128;
axis([-0.25 0.25 0 1]);
Ts=t(2)-t(1);
Ws=2*pi/Ts;
F=fft(f);
Fp=F(1:N/2+1)*Ts;
W=Ws*(0:N/2)/N;
figure(2)
plot(W,abs(Fp),'+')
title('TRANSFORMADA RAPIDA DE LA FUNCION');
xlabel('Frecuencia(Rad/s)');
ylabel('|F(W)|');
3) Dado F(t )= A sin ωt .Desarrolle su transformada rápida de Fourier.
Funcion Directa
t=0:0.001:3;
A=2;
w=2*pi;
f=A*sin(w*t);
plot(t,f);
xlabel('t(seg)');
ylabel('AMPLITUD');
title('FUNCION');
grid
Para poder apreciar bien la trasformada de Fourier de la señal tenemos que
ajustar la escala y tomar de -0.25 a 0.25.
Transformada de Fourier
t=-0.25:0.001:0.25;
A=2;
w=2*pi;
f=A*sin(w*t);
plot(t,f);
xlabel('t(seg)');
ylabel('AMPLITUD');
title('FUNCION');
F=fft(f);
Fp=F(1:N/2+1)*Ts;
W=Ws*(0:N/2)/N;
figure(3)
plot(W,abs(Fp),'+')
xlabel('Frecueny,rad/s');
ylabel('|F(W)|');
grid
m=[0,1,2,3];
Xm=[2,3,4,5];
Xk=fft(Xm);
Xmag=abs(Xk);
Xphase=angle(Xk);
figure(1)
plot(m,Xmag),axis([0 5 0 25]);
title('SEÑAL MUESTREADA');
xlabel('t(seg)');
ylabel('AMPLITUD');
figure(2)
stem(m,Xmag)
title('ESPECTRO DE FRECUENCIA DE LA SEÑAL MUESTREADA');
xlabel('Frecuencia(Rad/s)');
ylabel('|F(W)|');
figure(3)
stem(m,Xphase)
title('ESPECTRO DE FASE DE LA SEÑAL MUESTREADA');
xlabel('Frecuencia(Rad/s)');
ylabel('|F(W)|');
IV. CONCLUSIONES
PROFESOR:
CURSO:
Lima-Perú
2020
GUIA 4
I. OBJETIVO
Diseñar filtros de respuesta en frecuencia de audio y determinar sus características
en el dominio del tiempo y de la frecuencia. Asimismo, diseñar ecualizadores
digitales de audio frecuencia usando MATLAB.
II. PROCEDIMIENTO
Fs=8000;
t=(1:8000)/Fs;
f1=sin(2*pi*t*500); f2=sin(2*pi*t*1500); f3=sin(2*pi*t*3000);
f4=sin(2*pi*t*4000);
s=f1+f2+f3+f4;
figure(1)
plot(t,s)
axis([0 0.01 -4 4]);
[b,a]=ellip(4,0.1,40,[100 1000]*2/Fs);
[H,w]=freqz(b,a,512);
figure(2)
plot(w*Fs/(2*pi),abs(H));
sf1=filter(b,a,s);
figure(3)
plot(t,sf1);
xlabel('tiempo(seg)');ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S1=fft(s,513);
SF1=fft(sf1,513);
w=(0:255)/256*(Fs/2);
figure(4)
plot(w,abs(S1(1:256)),w,abs(SF1(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
[b,a]=ellip(4,0.1,40,[1000 2000]*2/Fs);
[H,w]=freqz(b,a,512);
figure(5)
plot(w*Fs/(2*pi),abs(H));
sf2=filter(b,a,s);
figure(6)
plot(t,sf2);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S2=fft(s,513);
SF2=fft(sf2,513);
w=(0:255)/256*(Fs/2);
figure(7)
plot(w,abs(S2(1:256)),w,abs(SF2(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transformada de Fourier');
[b,a]=ellip(4,0.1,40,[2500 3500]*2/Fs);
[H,w]=freqz(b,a,512);
figure(8)
plot(w*Fs/(2*pi),abs(H));
sf3=filter(b,a,s);
figure(9)
plot(t,sf3);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S3=fft(s,513);
SF3=fft(sf3,513);
w=(0:255)/256*(Fs/2);
figure(10)
plot(w,abs(S3(1:256)),w,abs(SF3(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transformada de Fourier');
Fs=10000;
[b,a]=ellip(4,0.1,40,[3500 4000]*2/Fs);
[H,w]=freqz(b,a,512);
figure(11)
plot(w*Fs/(2*pi),abs(H));
sf4=filter(b,a,s);
figure(12)
plot(t,sf4);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S4=fft(s,513);
SF4=fft(sf4,513);
w=(0:255)/256*(Fs/2);
figure(13)
plot(w,abs(S4(1:256)),w,abs(SF4(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transformada de Fourier');
zf5=0.8*sf1+0.5*sf2+0.2*sf3+0.4*sf4;
figure(14)
plot(t,zf5);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S5=fft(s,513);
SF5=fft(zf5,513);
w=(0:255)/256*(Fs/2);
figure(15)
plot(w,abs(S5(1:256)),w,abs(SF5(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
w=(0:255)/256*(Fs/2);
figure(16)
plot(w,abs(S5(1:256))+abs(SF5(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
2. Verificar la respuesta en frecuencia de otros filtros
% Verificar la respuesta en frecuencia de otros filtros.
f=[0 .4 .4 .6 .6 1];
H=[0 0 1 1 0 0 ];
fs=1000;
fhz=f*fs/2;
figure(1)
plot(fhz,H), title('Respuesta en frecuencia deseada');
axis([0,500,0,1.1])
xlabel('Frecuencia (Hz) '),
ylabel('Magnitud')
N=8;
%[b,a] = yulewalk(N,f,H)
[Bh,Ah]=yulewalk(N,f,H)
n=256;
hh=freqz(Bh,Ah,n);
hy=abs(hh);
ff=fs/(2*n)*(0:n-1);
figure(2)
plot(fhz,H,ff,hy)
title('Actual vs Respuesta en frecuencia deseada')
xlabel('Frecuencia (Hz) '),
ylabel('Magnitud')
N=4;passband=[.4 .6];ripple=.1;
[Bb,Ab]=butter(N,passband);
[Bc,Ac]=cheby1(N,ripple,passband);
h=[abs(hh) abs(freqz(Bb,Ab,n)) abs(freqz(Bc,Ac,n))];
figure(3)
plot(ff,h)
title('Filtros Yulewalk, Butterworth y Chebyshev')
figure(4)
plot(ff(2:n),20*log10(h(2:n,:)))
title('Filtros Yule Walk, Butterworth y Chebyshev')
xlabel('Frecuencia (Hz)'),
ylabel('Magnitud en dB')