Está en la página 1de 47

UNIVERSIDAD

NACIONAL MAYOR DE
SAN MARCOS
Fundada en 1551

FACULTAD DE INGENIERIA ELECTRONICA Y


ELECTRICA
“PROCESAMIENTO DE SEÑALES Y
FUNCIONES PERIÓDICAS USANDO MATLAB”
ALUMNO:

Ccoyllo Sanchez Liliana

PROFESOR:

Alberto Orestes Silva Ibarra

CURSO:

LABORATORIO DE INTRODUCCIÓN A LAS TELECOMUNICACIONES

Lima-Perú

2020
I. OBJETIVO

Simular e investigar en forma experimental el procesamiento de señales usando los

comandos e instrucciones del software Matlab.

II. PROCEDIMIENTO

Desarrollar los siguientes ejercicios

III. DESARROLLO DEL CUESTIONARIO


III.1Funciones Matemáticas

%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

>> %CONVERSION DE RADIONES A GRADOS SEXAGESIMALES

>> 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=sqrt (3^2+4^2)

x=5

>> x1=sqrt(5^3-4^3)

x1 =7.8102

>> x2=sqrt (7^4+3^4)

x2 =49.8197
>> %resto de la división

>> y=rem (23,4)

y =3

>> y1=rem (35,9)

y1 =8

>> y2

y2 = 0.7854

>> y2=rem (55,6)

y2 =1

>> %REDONDEOS

>> x=2.6;

>> %fix(x) redondea hacia cero

>> y1=fix(x)

y1 =2

>> %floor(x)redondea hacia menos infinito

>> y2==floor(x)

ans = 0

>> y2=floor(x)

y2 =2

>> %ceil(x) redondea hacia infinito

>> y3=ceil(x)

y3 3

>> %round(x) redondea hacia el entero más próximo

>> y4=round(x)

y4 =3

>> %probamos

>> x7=3.8;

>> y1=fix(x7), y2=floor(x7),y3=ceil(x7),y4=round(x7)

y1 =3

y2 =3

y3 =4

y4 =4
2.2 Números Complejos

>> %ECUACION GENERAL DE SEGUNDO GRADO

>> a=3; b=7; c=8;

>> 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

>> %Ecuación de segundo grado

>> 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

%Gráficos de Funciones Periódicas


x=linspace(0.2*pi,60);
y=sin(x);
figure(1)
plot(x,y);
z=cos(x);
figure(2)
plot(x,z,x,y)
figure(3)
plot(x,y,x,x,'*')
figure(4)
plot(y,z)
figure(5)
plot(x,y,x,2*y.*z,'--')
grid
xlabel('variable independiente x')
ylabel('variable dependientes')
title('2sen(x)cos(x)sen(2x)')
figure(6)
plot3(x,y,z)
grid
%Gráficos de Funciones periódicas
t=-3*pi:.1:3*pi;
n=2+cos(2*t);
figure(7)
plot(t,n);
p=cos(t);
figure(8)
plot(t,n,t,p)
figure(9)
plot(n,p,n,p,'o')
figure(10)
plot(n,p)
figure(11)
plot(t,n,t,2*n.*p,'--')
grid
xlabel('variale independiente t')
ylabel('variable dependientes')
title('2sen(t)cos(t)sen(2t)')
figure(12)
plot3(t,n,p)
grid
2.5 Generación de señales
discontinuas

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])

2.6 Manipulación de gráficos

%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')

2.7 Subdivisión de ventana de gráficas


(m,n,p)
%Subdivision de Graficos
x=linspace(0,4*pi,60);
y=sin(x);
z=cos(x);
a=2*sin(x).*cos(x);
b=sin(x)./(cos(x)+eps);
subplot(2,2,1) %selecciona la
subgráfica superior izquierda
plot(x,y),axis([0 4*pi -1 1]),
title('sin(x)')
subplot(2,2,2) %selecciona la
subgráfica superior derecha
plot(x,z),axis([0 4*pi -1 1]),
title('cos(x)')
subplot(2,2,3) %selecciona la
subgráfica inferior izquierda
plot(x,a),axis([0 4*pi -1 1]),
title('2sin(x)cos(x)')
subplot(2,2,4) %selecciona la
subgráfica inferior derecha
plot(x,b),axis([0 4*pi -40 40]),
title('tan=sin(x)/cos(x)')

%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

FACULTAD DE INGENIERIA ELECTRONICA Y


ELECTRICA
“DESARROLLO DE LA SERIE DE FOURIER”
ALUMNO:

Ccoyllo Sanchez Liliana

PROFESOR:

Alberto Orestes Silva Ibarra

CURSO:

LABORATORIO DE INTRODUCCIÓN A LAS TELECOMUNICACIONES

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

 En este caso para graficar la Serie Trigonométrica de la función impar le damos


un rango de 0 a 0.1, Variando este rango podemos ver con mejor apreciación la
forma de la serie.

 La diferencia con el problema anterior es el rango que se le da al tiempo, en este caso es


− 𝜋/2 ≤ 𝑡 ≤ 𝜋/2
𝜋/2 ≤ 𝑡 ≤ 3𝜋/2
2. Desarrolle la siguiente serie trigonométrica de Fourier, para:

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:

( 4πA ) [cos wt−( 13 ) cos 3 wt +( 15 ) cos 5 wt −( 17 ) cos 7 wt +( 19 )cos 9 wt ]


f (t )=

Cuyo programa en Matlab es:

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

2. Desarrolle la exponencial de Fourier, si 𝑓(𝑡) = 𝐴 sin(𝜋𝑡) en el intervalo (0,1). Grafique la S.E.F.


Fs=100;
t=(-100:100)/Fs;
w=2*pi;
A=1;
f=0;
for n=1:100
f=f+((-1)^n )*4*n*exp(-i*2*pi*t*n)/(i*pi*(4*n^2-1));
end
plot(t,f);
xlabel('t(seg)');
ylabel('AMPLITUD');
title('DESARROLLO DE LA EXPONENCIAL DE FOURIER DE f(t)=Asen*pi*t');
grid on

3. Programe en Matlab la siguiente serie trigonométrica.

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

FACULTAD DE INGENIERIA ELECTRONICA Y


ELECTRICA
“DESARROLLO DE LA TRANSFORMADA
RÁPIDA DE FOURIER”
ALUMNO:

Ccoyllo Sanchez Liliana

PROFESOR:

Alberto Orestes Silva Ibarra

CURSO:

LABORATORIO DE INTRODUCCIÓN A LAS TELECOMUNICACIONES

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

1. Desarrolle la transformada de Fourier usando Matlab cuya expresión es:

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)')

 En este caso para hallar la Transformada de Fourier usamos un N=128, lo cual


apreciamos en la segunda imagen.
 Hemos usado un axis [0 0.3 0 2] para visualizar mejor la forma de la señal.
2. Desarrolle la grafica de la transformada de Fourier desarrollada:

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)')

3. Desarrolle la transformada rápida


de Fourier de una señal muestreada

X|k|=∑ X|n| e− j ( 24π )nk Donde k =0,1,2,3 , …..


Cuyo desarrollo esta dado por el siguiente programa

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):

%Transformada de la transformada de la funcion de


muestreo Sa(x)
fplot('6*sin(x)./x',[-30 30 -.2 6])
title('fplot of f(x)=5.sin(x)/x')
xlabel('x')
ylabel('f(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

1) Desarrolle la transformada rápida de Fourier de la función de Sa(x)

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

4) Desarrolle la transformada de Fourier de la señal muestreada m=[0,1,2,3] y


Xm=[2,3,4,5].

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

 En esta experiencia hemos podido hacer uso de la transformada rápida de

Fourier a través del software Matlab.

 Hemos analizado la transformada trigonométrica y exponencial de Fourier y

así mismo lograr su gráfica a través de Matlab.

 Hemos sincronizada las diferentes funciones a través del tiempo, teniendo

en cuenta señales periódicas que se generan a través del Matlab.

 Para poder expresar la serie trigonométrica y exponencial de Fourier

realizamos un análisis teórico para obtener la forma expresada

matemáticamente y luego digitarla en Matlab.


UNIVERSIDAD
NACIONAL MAYOR DE
SAN MARCOS
Fundada en 1551

FACULTAD DE INGENIERIA ELECTRONICA Y


ELECTRICA
“DISEÑO DE FILTROS Y ECUALIZADOR
DIGITAL”
ALUMNO:
Ccoyllo Sanchez Liliana

PROFESOR:

Alberto Orestes Silva Ibarra

CURSO:

LABORATORIO DE INTRODUCCIÓN A LAS TELECOMUNICACIONES

Lima-Perú

2020
GUIA 4

DISEÑO DE FILTROS Y ECUALIZADOR DIGITAL

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

1. Diseñe un ecualizador digital usando el comando ELLIP y grafique la señal resultante


en el dominio del tiempo y su respectiva transformada de Fourier.

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')

También podría gustarte