Sei sulla pagina 1di 10

UNIVERSIDAD NACIONAL MAYOR DE

SAN MARCOS
FACULTAD DE INGENIERIA ELECTRONICA

Nombre:
PAUL
Cdigo:
Curso:
SEALES

RAMOS ACOSTA JUAN GIAN


12190110
PROCESAMIENTO DIGITAL DE

Profesor:

CARRILLO

Nm. de informe:

Tema:
Ciclo:

SECUENCIAS
2015_II

CUESTIONARIO
1. Tarea 1:
Las secuencias impulsionales desplazadas [n-n0], pueden
utilizarse para construir un tren de impulsos discretos
ponderados, con periodo T y longitud total finita MT:
63

s [ n ] = x [ k ] [nkT ]
k=0

Los x[k] son las amplitudes de cada impulso unidad y si todos


son iguales, el tren de impulsos resultante ser peridico y de
periodo T.
Genere y represente grficamente s[n] , para x[k] =
cos((/8)k), donde k = 0, 1, 2, , 63.
Cdigo:
%insertando x
nx=0:63;
xn=cos((pi/8)*nx);
%insertando el periodo
T=input('Ingrese el periodo T: ');
%dimensiones de s
ns=nx;
ls=length(ns);
s=zeros(1,ls);
for k=1:64
if (k-1)*T<64
s=s+xn.*[zeros(1,(k-1)*T) 1 zeros(1,ls-(k-1)*T-1)];
end
end
figure(1)
subplot(2,1,1), stem(nx,xn,'r'), grid; ylabel('x[n]');
subplot(2,1,2), stem(ns,s), grid; ylabel('s[n]');

Simulacin:
La siguiente simulacin es para un periodo T=3.

2. Tarea 2:
a. Asumiendo que muestreamos la siguiente seal x(t) con
una frecuencia de muestreo fm=8,000 muestras/segundo.

x ( t )=cos (2 1396.9129 t ) +cos ( 2 1567.981 t ) +cos ( 2 1760.000 t )


Cuantas muestras puede haber en 2 segundos?
Cul es la ecuacin para x[n]?
Graficar x[n] para fm= 10KHz., 5KHz., 2.5KHz., 1.25KHz.,
1KHz. Compare la grfica de cada uno de los casos y
analice sus resultados con el fundamento terico
correspondiente.
Si fm=8,000Hz, entonces Tm=125us.
Para saber cuantas muestras obtenemos en 2 segundos solo hay
que multiplicar 2 por la frecuencia de muestreo.
Muestras=fmx2=16000 muestras.
El muestrear a esa frecuencia es equivalente a evaluar t en
mltiplos del periodo de muestreo, es decir t=nT o tambin
t=n/fm, para n=0,1,2,3,
Entonces:

x ( nT )=cos ( 2 1396.9129nT ) +cos ( 2 1567.981 nT )+ cos ( 2 1760.000 nT )


Al evaluar T
Para fm=8000Hz

x ( n )=cos ( 2 0.1746 n )+ cos ( 2 0.196 n ) +cos ( 2 0.220 n )


Para fm=10kHz:

x ( n )=cos ( 2 0.1397 n )+ cos ( 2 0.1568 n ) +cos (2 0.176 n )


Para fm=5kHz:

x ( n )=cos ( 2 0.2794 n ) +cos ( 2 0.3136 n )+ cos ( 2 0.352 n )


Para fm=2.5kHz:

x ( n )=cos ( 2 0.5588 n )+ cos ( 2 0.6272 n ) +cos ( 2 0.704 n )


Para fm=1.25kHz:

x ( n )=cos ( 2 1.1175 n )+ cos ( 2 1.2544 n )+ cos ( 2 1.408 n )


Para fm=1kHz:

x ( n )=cos ( 2 1.3969 n ) +cos ( 2 1.5680n )+ cos ( 2 1.760 n )


Cdigo de simulacin:
n=0:40;
t=0:0.000001:0.01;
x=cos(2*pi*1396.9129*t)+cos(2*pi*1567.981*t)+cos(2*pi*1760.000*t)
x1=cos(2*pi*0.1397*n)+cos(2*pi*0.1568*n)+cos(2*pi*0.176*n);
x2=cos(2*pi*0.2794*n)+cos(2*pi*0.3136*n)+cos(2*pi*0.352*n);

x3=cos(2*pi*0.5588*n)+cos(2*pi*0.6272*n)+cos(2*pi*0.704*n);
x4=cos(2*pi*1.1175*n)+cos(2*pi*1.2544*n)+cos(2*pi*1.408*n);
x5=cos(2*pi*1.3969*n)+cos(2*pi*1.5680*n)+cos(2*pi*1.760*n);
figure(1)
subplot(3,2,1),
subplot(3,2,2),
subplot(3,2,3),
subplot(3,2,4),
subplot(3,2,5),
subplot(3,2,6),

plot(t,x);grid;title('Seal alanlgica');
stem(n,x1,'r');grid;title('fm=10kHz');
stem(n,x2,'g');grid;title('fm=5kHz');
stem(n,x3,'y');grid;title('fm=2.5kHz');
stem(n,x4,'o');grid;title('fm=1.25kHz');
stem(n,x5);grid;title('fm=1kHz');

Simulacin:

Para analizar los resultados primero veamos la frecuencia mxima


de nuestra seal analgica, fmax=1760Hz; ahora por el criterio de
Nyquist para poder reproduce esta forma de onda necesitamos
una frecuencia de muestreo como mnimo del doble de esta
frecuencia es decir

fm 2 fmax , entonces

fm 3520 Hz . Algo

tambin importante a tener en cuenta es que a mayor frecuencia


de muestreo mas muestras se obtendrn para un mismo intervalo
temporal de la seal muestreada.
Vemos que con un fm de 10 y 5kHz, se puede distinguir la forma
de onda de la seal original, pero a menores frecuencias se
distorsiona la seal, adems que para un mismo nmero de
muestras las seales de menor fm, abarcan una mayor ventana de
tiempo de la seal, caso contrario en las seales de mayor
frecuencia.
b. De acuerdo a lo desarrollado en (a) y teniendo en cuenta
que muestreamos la siguiente seal x(t) con una
frecuencia de muestreo fm=8,000 muestras/segundo.

Desarrolle un cdigo para generar una seal controlada


por la siguiente expresin, para cada uno de los casos:

x ( t )=cos (2 1396.9129 t + 1 ) +cos ( 2 1567.981 t+ 2 ) +cos ( 2 1760.000t3 )


Donde: caso (I) 1 = 2 = 3 =0 radianes.
Caso (II) 1 =0, 2 = /4, 3 = /8 radianes.
Seguidamente utilizando los comandos de reproduccin de
sonido, reproduzca y almacene en formato *.wav, cada una
de las seales generadas. Compare y analice el sonido
obtenido para los casos I y II
Cdigo:
n=0:60;
phi1=input('Ingrese phi1: ');
phi2=input('Ingrese phi2: ');
phi3=input('Ingrese phi3: ');
x=cos(2*pi*0.1746*n+phi1)+cos(2*pi*0.196*n+phi2)+cos(2*pi*0.220*nphi3);
figure(1)
stem(n,x)
grid

Simulacin:
Para caso(I):

Para caso(II):

Ahora generamos la misma secuencia anterior para 10000


muestras, y las almacenamos como archivos de sonido formato
wav.
Cdigo:
n=0:10000;
%caso1
phi1_1=0;
phi2_1=0;
phi3_1=0;
%caso2
phi1_2=0;
phi2_2=pi/4;
phi3_2=pi/8;
x1=cos(2*pi*0.1746*n+phi1_1)+cos(2*pi*0.196*n+phi2_1)+cos(2*pi*0.220*n
-phi3_1);
x2=cos(2*pi*0.1746*n+phi1_2)+cos(2*pi*0.196*n+phi2_2)+cos(2*pi*0.220*n
-phi3_2);
figure(1)
stem(n,x1)
grid
figure(2)
stem(n,x2)
grid
wavwrite(x1,'C:\Users\Carlos\Desktop\pds_tarea2_b_caso1.wav');
wavwrite(x2,'C:\Users\Carlos\Desktop\pds_tarea2_b_caso2.wav');
y1=wavread('C:\Users\Carlos\Desktop\pds_tarea2_b_caso1.wav');
y2=wavread('C:\Users\Carlos\Desktop\pds_tarea2_b_caso2.wav');

c. Genere el cdigo que corresponda y represente


grficamente a cada una de las siguientes secuencias
mostrada. En cada caso el eje horizontal n deber
extenderse sobre el intervalo indicado y deber ser
numerado apropiadamente y asignarle la escala de
tiempos en seg.

x 1 [ n ] =3 cos
x 2 [ n ] =sen

( 5 n+ 4 )20 n 20

( 35 n+ 2 )10 n 10

( 25 n) 0 n 50
n
n
x 4 [ n ] =cos ( ) cos ( )25 n 25
4
8
x 3 [ n ] =cos

Para x2[n] obtenga una expresin ms simple sin hacer


uso de funciones trigonomtricas. Luego observe x3[n] y
x4[n], estas tienen alguna caracterstica que llama su
atencin? Justifique su respuesta.
Luego, utilizando x1[n] realizar la conversin para obtener
x1(t) para: fm = 1KHz, 2KHz y 8 KHz. Luego, compare los resultados.
Cdigo:
%base de tiempos
n1=-20:50;
n2=-10:10;
n3=0:50;
n4=-25:25;
%funciones
x1=3*cos(pi*n1/5+pi/4);
x2=sin(3*pi*n2/5+pi/2);
x3=cos(pi*n3/sqrt(25));
x4=cos(n4/4).*cos(n4*pi/8);
%Grficas
figure(1)
subplot(2,2,1)
stem(n1,x1)
grid;
subplot(2,2,2)
stem(n2,x2)
grid;
subplot(2,2,3)
stem(n3,x3)
grid;
subplot(2,2,4)
stem(n4,x4)
grid;

Para x2[n], podemos reducir aplicando la propiedad del seno:

x 2 [ n ] =sin

( 53 n+ 2 )=cos ( 53 n)

Las seales x3 y x4 son parecidas, solo que en x3 la amplitud de


la seal vara entre -1 y 1 conforme a la ley del seno, pero en x3
cambia su amplitud de manera que esta varia con el coseno de
n4/4.
Finalmente si deseamos recuperar la seal analgica, necesitamos
una frecuencia de recuperacin, adems de despejar la siguiente
relacin en funcin del tiempo continuo t=n*T, entonces n=t/T o
n=fm*t.
El cdigo seria el siguiente:
%conversion a analogo:
%para
fm1=1e3;
fm2=2e3;
fm3=8e3;
t=0:0.0001:0.025;
xa1=3*cos(pi*fm1*t/5+pi/4);
xa2=3*cos(pi*fm2*t/5+pi/4);
xa3=3*cos(pi*fm3*t/5+pi/4);
figure(2)
subplot(3,1,1)
plot(t,xa1)
title('fm=1kHz')
grid
subplot(3,1,2)
plot(t,xa2)
title('fm=2kHz')

grid
subplot(3,1,3)
plot(t,xa3)
title('fm=8kHz')
grid

Vemos que a pesar de recuperar los datos de la misma seal


analgica si la frecuencia de recuperacin varia tambin lo hace la
seal recuperada, si se re reproduce a mayor frecuencia la seal,
se tendr ms periodos de la misma para un mismo intervalo de
tiempo.
3. Tarea 3:
Gravar un tramo de voz de la palabra Hola San Marcos y
las cinco vocales, donde cada uno corresponde a un archivo
en formato *.wav para un tiempo mximo de duracin de 2
segundos.
Cdigo:
%primer audio
grabacion1 = audiorecorder(44100, 16, 2);
get(grabacion1)
% Record your voice for 5 seconds.
grabacion1 = audiorecorder;
disp('Start speaking.')
recordblocking(grabacion1, 2);
disp('End of Recording.');
y1 = getaudiodata(grabacion1);
%segundo audio
grabacion2 = audiorecorder(44100, 16, 2);
get(grabacion2)
% Record your voice for 5 seconds.
grabacion2 = audiorecorder;
disp('Start speaking.')
recordblocking(grabacion2, 2);
disp('End of Recording.');

y2 = getaudiodata(grabacion2);
%tercer audio
grabacion3 = audiorecorder(44100, 16, 2);
get(grabacion3)
% Record your voice for 5 seconds.
grabacion3 = audiorecorder;
disp('Start speaking.')
recordblocking(grabacion3, 2);
disp('End of Recording.');
y3 = getaudiodata(grabacion3);
%guardando en wav
wavwrite(y1,'C:\Users\Carlos\Desktop\grabacion1.wav');
wavwrite(y2,'C:\Users\Carlos\Desktop\grabacion2.wav');
wavwrite(y3,'C:\Users\Carlos\Desktop\grabacion3.wav');
m1=wavread('C:\Users\Carlos\Desktop\grabacion1.wav');
m2=wavread('C:\Users\Carlos\Desktop\grabacion2.wav');
m3=wavread('C:\Users\Carlos\Desktop\grabacion3.wav');

Potrebbero piacerti anche