Вы находитесь на странице: 1из 8

Deber: encontrar las muestras del espectro terico para la

siguiente funcin
1.- Planteamiento del problema
Encontrar el mdulo y ngulo tericos de la TFTD paso a paso.
2.- Resolucin
Para el siguiente ejercicio determinar modulo y ngulo tericos:

x [ n ]=cos

n+sen n
3
4

Si tomamos

Como

x [ n ]=cos

n+sen n=x 1 [ n ] + x 2[n]


3
4
x 1 [ n ] =cos

n=cos 1 n 1=
3
3

x 2 [ n ] =sen

n=sen 2n 2=
4
3

1 1
=
2 6 el periodo de x1[n] N1=6

2 1
=
2 8

el periodo es N2=8 por lo tanto el periodo de X[n] es el minimo

comn mltiplo de 6 y 8 es decir N=24

] [

1 j ( ) n j ( ) n 1 j( 4 ) n j( 4 ) n
x [ n ]= e 3 +e 3 +
e
e
2
2j

1 j ( ) n 1 j( ) n 1 j ( ) n 1 j n
x [ n ]= e 3 + e 3 + e 4 e ( 4 )
2
2
2j
2j

X ( w )= x [n] e j n w
n=0
23

X ( w )=
n=0

1 j( 3 ) n 1 j ( 3 ) n 1 j( 4 ) n 1 j ( 4 ) n j n w
e
+ e
+ e
e
e
2
2
2j
2j

1 j w 1 j ( ) w 1 j(
X ( w )= j e 4 + e 3 + e 6
2
2
2

)w + j 1 e j (74 ) w
2

( )

( ( ) ( )) ( (

1
5
5
X ( w )= j (cos w+ jsen w )+ (cos w + jsen( w))+ cos
w + jsen
w
2
4
4
2
3
3
2
6
6

( )

+j

1
7
cos
2

1
5
1
5
1
7
X ( w )= j cos w+ sen w + cos w + j sen w + cos
w + jsen
w + j cos
w
2
4
2
4
2
3
2
3
2
6
2
6
2
4

( )

( )

Parte real
1

5
7
X ( w )= sen w +cos w + cos
w sen
w =a
2
4
3
6
4

( ) (

Parte imaginaria
jX ( w )= j

5
7
cos w +sen w + sen
w +cos
w =b
2
4
3
6
4

) ( ) (

) (

Modulo:

|X ( jw )|= a2 +b2
Angulo
X ( w )=

imag
real

Implementacin en matlab.
Ahora implementaremos las funciones tericas encontradas
Cdigo en matlab
clc;
clear;
close all;
n=[0:1:500]*pi/500;%[0, pi]
X=-j*1/2*cos(pi/4*n)+1/2*sin (pi/4*n)+1/2*cos(pi/3*n)
+1/2*j*sin(pi/3*n)+1/2*cos(5*pi/6*n)...
+1/2*j*sin(5*pi/6*n)+1/2*j*cos(7*pi/4*n)-1/2*sin(7*pi/4*n);
%% Mdulo, ngulo, real, imaginaria
magX=abs(X);

angX=angle(X);
realX=real(X);
imagX=imag(X);
%% Grficas de DTFT
subplot(2,2,1);
plot(n/pi,magX,'r');
grid
xlabel('f');
title('Modulo');
ylabel('Magnitud')
subplot(2,2,3);
plot(n/pi,angX,'m');
grid
xlabel('f');
title('Parte Angular');
ylabel('Radianes')
subplot(2,2,2);
plot(n/pi,realX,'g');
grid
xlabel('f');
title('Parte Real');
ylabel('Real')
subplot(2,2,4);
plot(n/pi,imagX,'c');
grid
xlabel('f');
title('Parte Imaginaria');
ylabel('Imaginario')
z=(atan(imagX./realX))';

Grficos tericos obtenidos:

Ahora verificaremos lo obtenido tericamente con las obtenidas usando las funcin
DFT.
Al igual q los ejercicios realiazados en calse se tomara la seal para un cierto numero de
muestras y luego se ira aumentando el mismo
Implementacin en Matlab:
close all, clear all, clc
n=[0:1:99]; % tenemos un total de 100 muestras.
x= cos(0.33*pi*n) + sin(0.25*pi*n);
y2= [x(1:1:4) zeros(1,4)];
N = 8;
X=dft(y2,N)
modulo_X = abs(X)
stem (modulo_X)
fase_X = angle (X)*180/pi
figure
stem (fase_X)

Grficos obtenidos:

Aumentado el nmero de muestras


close all, clear all, clc
n=[0:1:99]; % tenemos un total de 100 muestras.
x= cos(0.33*pi*n) + sin(0.25*pi*n);
nota: las partes en rojo son los cambios implementados
y2= [x(1:1:4) zeros(1,28)];
N = 8;
X=dft(y2,32)
modulo_X = abs(X)
stem (modulo_X)
title('modulo')
fase_X = angle (X)*180/pi
figure
stem (fase_X)
title('angulo')

Ahora se implementar el algoritmo para determinar los puntos de


frecuencia de los tonos
close all, clear all, clc
n=[0:1:99]; % tenemos un total de 100 muestras.
x= cos(0.33*pi*n) + sin(0.25*pi*n);
% Se aumenta el numero de muestras
% pero seguimos usando solo 10 muestras de la seal.
n2=[0:1:99];
y2= [x(1:1:10) zeros(1,90)];
figure
subplot(2,1,1)
stem(n2,y2)
title('seal x(n)')
xlabel('n')

Y2 = dft (y2,100);
magY2= abs(Y2(1:1:51));
k2 = [0:1:50]; w2=2*pi/100*k2;
subplot(2,1,2)
stem(w2/pi, magY2);
title('100 muestras de la magnitud de la TFTD')
xlabel('frecuencia')

Grficos obtenidos:

Ahora aumentando el nmero de muestras:


Para lo cual implementamos los siguientes cambios en el algoritmo
close all, clear all, clc
n=[0:1:99]; % tenemos un total de 100 muestras.
x= cos(0.33*pi*n) + sin(0.25*pi*n);
% Se aumenta el numero de muestras
% pero seguimos usando solo 10 muestras de la seal.
n2=[0:1:99];
y2= [x zeros(1,900)];
figure
subplot(2,1,1)
stem(y2)
title('seal x(n)')
xlabel('n')
Y2 = dft (y2,1000);
magY2= abs(Y2(1:1:501));
k2 = [0:1:500]; w2=2*pi/500*k2;

subplot(2,1,2)
stem(w2/pi, magY2);
title('100 muestras de la magnitud de la TFTD')
xlabel('frecuencia')
Obtenemos el siguiente grafico:

Resultados:
Los grficos obtenidos tanto de forma terica as como los obtenidos en matlab son
parecidos, pero esto depende del nmero de muestras con las cuales se trabaje ya que un
mayor nmero de muestras se obtendr una mejor precisin en cuanto al valor real de la
funcin para lo cual aumentamos el nmero de ceros pero esto no nos sirve para tener
una mayor resolucin en frecuencia por lo cual de vemos tener un mayor nmero de
muestras de la seal, como se lo demuestra en el ejercicio para visualizar las frecuencias
q conforman la seal.

Вам также может понравиться