Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I.
INTRODUCCION
II.
VERIFICACION DE OCTAVE/MATLAB
III.
PERCEPCION AUDITIVA
Esta seccin involucra la generacin de seales de audio
(i.e., sonidos) para posteriormente ilustrar Aspectos
particulares de la percepcin de sonidos.
1. Genere y reproduzca una seal de audio de 5 segundos
de duracin, consistiendo de la Suma de dos
sinusoidales de igual amplitud, una con frecuencia de
440 Hz y otra con frecuencia de 442 Hz. Escuche y
detecte las pulsaciones. Cuente el nmero de
oscilaciones.
CODIGO:
t=[0:1/8000:5];
x=2*sin(2*pi*440*t);
y=2*sin(2*pi*442*t);
s=x+y;
stem((1:50),s(1:50),'g.');
sound(s,8000);
t=[0:1/8000:5];
x=2*sin(2*pi*441*t);
y=2*sin(2*pi*443*t);
s=x+y;
stem((1:50),s(1:50),'g.');
sound(s,8000);
t=[0:1/8000:5];
x=2*sin(2*pi*220*t);
y=2*sin(2*pi*222*t);
s=x+y;
stem((1:50),s(1:50),'g.');
sound(s,8000);
f=9000;
PI=3.1416;
t=(0:1/9000:5);
x=2*sin(2*PI*222*t)
y=2*cos(2*PI*222*t)
p=[x,y];
i=p(:,1);
d=p(:,2);
soundsc(p,f);
%%%CANAL IZQUIERDO%%%
stem((1:50),x(1:50),'g.');
title('CANAL IZQUIERDO');
ylabel('2*sin(2*pi*440*t)');
xlabel('t');
%%%%CANAL DERECHO%%%
stem((1:50),y(1:50),'g.');
title('CANAL DERECHO');
ylabel('2*cos(2*PI*222*t)');
xlabel('t');
CODIGO:
fm=44000; %Frecuencia de muestreo
fr=220 %frecuencia sonido, nota musical La
duracion=0.5; %Duracion en segundos
t=0:1/fm:duracion;
y=sin(fr*2*pi*t); % Seal senoidal
sound(y,fm) %sonido
2.
fm=44000;
fr=220;
duracion=0.5;
t=0:1/fm:duracion;
% Seales senoidales
y=sin(fr*2*pi*t);
z=sin(fr*3*pi*t);
o=sin(fr*4*pi*t);
p=sin(fr*5*pi*t);
q=sin(fr*6*pi*t);
a=[y,z,o,p,q]
sound(a,fm)
t=t(round(68.5*length(t)/100):round(70*length
(t)/100));
y=y(round(68.5*length(y)/100):round(70*length
(y)/100));
plot(t,y)
title('grafica de las formas de la seal que
esta guardada en "y"');
3.
fm=44000;
fr=220;
t=0:1/fm:0.5;
w=2*pi*t; %w->Ohmega
y=sin(w*fr)
A=[13, 3, 10, 6, 6, 10, 3, 13];
for(i=1:8)
Y=y.*A(i);
end
Y=Y';
B=[1, 12, 5, 8, 8, 5, 12, 1];
for(j=1:8)
Z=y.*A(j);
end
Z=Z';
n=length(Y);
W(:,1)=Y;
W(:,2)=Z;
sound(W,4000)
subplot(2,1,1),plot(W,'g'),title('Sonido
Estereo');
s=1:1000+floor(fm/100);
subplot(2,1,2),plot(s,W(s)),title('Primeras
muestras');
3.
IV.
ANALISIS DE FURIER
IV.A Descomposicin
En el siguiente conjunto de actividades, el estudiante
visualizar y descompondr seales en sus componentes
sinusoidales fundamentales.
1. Construya un vector representando un segundo de una
seal de onda cuadrada con frecuencia de un Hz y
amplitud igual a 1, con tasa de muestreo de 44.1 KHz.
CODIGO:
T = 1/44100;
t = [0:T:1];
f1 = 1;
w1 = 2*pi*f1;
phi = 2*pi*0.75;
x1 = cos(w1*t + phi);
cuad=square(x1)
plot(t, cuad,'m');
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Onda Cuadrada');
Para f1=2Hz
Para f1=3Hz
2.
T=0.0025;
t=[0:T:1];
cuad1=square(2*pi*t);
subplot(3,1,1),plot(t,cuad1,'g')
title('Seal Cuadrada');
fs = 44.1;
T = 0.0025;
t = [0:T:1];
f1 = 1;
w1 = 2*pi*f1;
x1 = sin(w1*t);
subplot(3,1,2),plot(t,x1,'r')
title('Seal Senoidal');
cuad2=x1.*cuad1;
subplot(3,1,3),plot(t,cuad2,'m')
title('Producto de Hadamard');
media=0;
for i=1: 401
media=media+cuad2(i);
end
r=media/401;
b1=2*r;
Para f1=4Hz
Para f1=5Hz
Las crestas del producto de hadamard en frecuencias
impares en el punto 0.5 generan un par que se dirige para la
parte superior ya que en medio segundo se generan 2,5
ciclos y para las frecuencias pares las crestas van al contrario
porque se generan 2 ciclos exactos por cada 0,5 segundos.
4.
T=0.0025
t=[0:T:3];
cuad1=square(2*pi*t);
subplot(3,1,1),plot(t,cuad1,'b'),title('Seal
Cuadrada');
fs = 44.1; %tasa de muestreo%
T = 0.0025; %perodo de muestreo%
t = [0:T:3];o
f1 = 1; % Frecuencia q va variando
1,2,...[HZ]
w1 = 2*pi*f1; x1 = cos(w1*t);
subplot(3,1,2),plot(t,x1,'r'),title('Seal
Senoidal');
cuad2=x1.*cuad1;
subplot(3,1,3),plot(t,cuad2,'g'),title('Produ
cto de Hadamard');
media=0;
for i=1: 401
media=media+cuad2(i);
end
r=media/401;
b1=2*r;
Para f1=1Hz
Para f1=2Hz
Para f1=3Hz
Para f1=4Hz
Triangular:
Se puede observar que al aumentar la frecuencia en cada
seal es decir las veces que se repite la onda en un tiempo
determinado (periodo) y cada salto de ciclo el producto de
Hadamar es el inverso a la seal senoidal.
5.
IV.B Propiedades
El siguiente conjunto de actividades busca mostrar las
propiedades bsicas de la transformada de Fourier y su uso
en el clculo de respuestas en sistemas.
Esta primera parte es referente a la extraccin de
informacin sobre una nica frecuencia a partir de una
seal.
1. Construya un vector correspondiente a la exponencial
compleja con frecuencia igual a 1 Hz y tasa de
muestreo de 100 Hz, sobre un tiempo de 4 segundos.
CODIGO:
fs = 100;
T = 1/fs;
t = [0:T:4];
f1 = 1;
w=(2*pi*f1);
x1 = exp(i*w*t);
x2=cos(w*t)+ i*sin(w*t);
plot(t, x1,'g');
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Onda Exponencial Complejo');
) (
) (
) (
(
)
( )
( )
(
( )
( )
) (
CODIGO:
fs =100;
T = 1/fs;
t = [0:T:4];
f1 = 1;
w = 2*pi*f1;
x1 = 1*cos(w*t);
x2=cos(w*t)+ i*sin(w*t);
x3=cos(w*t);
x4=cos(w*t);
x5=x3.*x4;
plot(t, x5);
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Seal Producto de Seales
Generadas');
x2=cos(w*t)+ i*sin(w*t);
Paso 3:
CODIGO:
fs =1000;
T = 1/fs;
t = [0:T:4];
f1 = 2;
w = 2*pi*f1;
x1 = 1*cos(w*t);
x2=cos(w*t)+ i*sin(w*t);
x3=cos(w*t);
x4=cos(w*t);
x5=x3.*x4;
plot(t, x5,'o');
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Seal Producto de Seales
Generadas');
Paso 4:
CODIGO:
fs =100;
T = 1/fs;
t = [0:T:4];
f1 = 2;
w = 2*pi*f1;
x1 = 1*cos(w*t);
x2=cos(w*t)+ i*sin(w*t);
x3=sin(w*t);
x4=sin(w*t);
x5=x3+x4;
plot(t, x5,'r.');
xlabel ('Tiempo (segundos)');
ylabel ('x1');
es 1Hz.
fs =100;
T = 1/fs;
t = [0:T:4];
f1 = 1;
w = 2*pi*f1;
x1 =
sin(w*t)+(1/3)*sin(3*w*t)+(1/5)*sin(5*w+t);%
seal senoidal
plot(t, x1,'*');
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Seal
sin(w*t)+(1/3)*sin(3*w*t)+(1/5)*sin(5*w+t)');
x2 = 1*cos(w*t);
plot(t, x2,'o');
xlabel ('Tiempo (segundos)');
ylabel ('x2');
title ('Seal Cosenoidal Simple');
Paso 3:
CODIGO:
fs =100;
T = 1/fs;
t = [0:T:4];
f1 = 1;
w = 2*pi*f1;
x1 =
sin(w*t)+(1/3)*sin(3*w*t)+(1/5)*sin(5*w+t);%
seal senoidal
plot(t, x1,'.');
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Seal
sin(w*t)+(1/3)*sin(3*w*t)+(1/5)*sin(5*w+t)');
%x2 = 1*sin(w*t);
%plot(t, x2,'r.');
%xlabel ('Tiempo (segundos)');
%ylabel ('x2');
%title ('Seal Cosenoidal Simple');
Paso 4:
CODIGO:
fs =1000;
T = 1/fs;
t = [0:T:4];
f1 = 1;
w = 2*pi*f1;
x1 = 1*cos(w*t);
x2=cos(w*t)+ i*sin(w*t);
x3=sin(w*t);
x4=sin(w*t);
x5=x3.*x4;
x6=sin(w*t)+(1/3)*sin(3*w*t)+(1/5)*sin(5*w+t)
;
plot(t, x5,'g');
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Seal Producto de Seales
Generadas');
%plot(t,x6,'r');
%xlabel ('Tiempo (segundos)');
%ylabel ('x1');
%title ('Seal
sin(w*t)+(1/3)*sin(3*w*t)+(1/5)*sin(5*w+t)');
w = 2*pi*f1;
x1 =
sin(w*t)+(1/3)*sin(3*w*t)+(1/5)*sin(5*w+t);
X=fft(x1);
x=sin(2*pi*t)+(1/3)*sin(3*2*pi*t)+(1/5)*sin(5
*2*pi*t);
transformada=fft( x );
plot(t,abs(transformada),'r')
xlabel ('Tiempo (segundos)');
ylabel ('x1');
title ('Seal Senoidal Simple');
CODIGO 2:
x=[0:8];subplot(3,1,1);
plot(x,'m');title('Grafica de Vector');
X=fft((x-1),10);
subplot(3,1,2);
plot(2*pi*(0:9)/10,abs(X),'m');
title('El Modulo De la Transormada de
Fourier');
y=ifft(X,10)
subplot(3,1,3);
plot(2*pi*(0:9)/10,abs(y),'m');
title('Tranformada Inversa de Fourier');
V.
EFECTOS DEL AUDIO
Esta ltima seccin cubre la aplicacin de efectos digitales
de audio.
Esta parte inicial ayuda a explicar el valor retornado por
el operador f f t en Octave/Matlab, usando como
materia prima una seal de msica real.
1. Descargue el archivo scale.wav y use las funciones
wavread and sound para reproducirlo. Cul es la
tasa de muestreo de este archivo de sonido?
Por lo tanto
234001
273001
La tasa de muestreo es de 4800
Esta segunda parte ilustra los efectos de las tcnicas de
ilustrado bsico sobre seales musicales simples.
1. Usando el mismo archivo scale.wav, tome la
transformada de Fourier de la seal de un canal
completo. Verifique que tomando la transformada
inversa de Fourier (con i f f t) se produce la seal
original.
En el grafico podemos
observar claramente que
sacar la transformad de
furrier
y
luego
la
transformad inversa de
furrier se obtiene la
misma seal.
2. La remocin de un componente de frecuencia
particular de una seal es equivalente a configurar su
componente de Fourier a cero. Haga esto para todos
los bins de frecuencia entre 3001 y 311012
(inclusive).
CODIGO:
[x, Fs]=wavread('scale');
sound(x,Fs)
CanalD=x(:,1);
subplot(3,1,2)
FouT=fft(CanalD);
%%%%%%%%%%%%filtro
FouT(3001 : 311012)=0;
iFouT=real(ifft(FouT));
sound(iFouT,Fs)
Autor:
William Paul Chvez Chamorro naci la ciudad de
Tulcn el 14 de abril de 1992, realizo sus estudio
primarioe en la escuela 11 de Abril, cruzo el
nivel secundario en el Instituto Tecnolgico
Bolvar,se graduo en el ao 2009, actualmente
crusa el quinto semestre de la carrera Ingenieria en
Automatizacin y Control en la Escuela Plotecnica
del Ejercito
VII.
VI.
CONCLUCIONES
BIBLIOGRAFIA