You are on page 1of 21

Escuela Politcnica Nacional

Procesamiento Digital De Seales

Nombre: Andrs Guatapi

Andrs Solrzano

Tema: Espectro de amplitud

Ejercicio 1

Generar una seal compuesta que consiste en la suma de 10 tonos con amplitudes y frecuencias segn el
siguiente grfico:

Problema: La duracin de la seal puede interferir en los resultados

Cdigo

clc, clear all, close all


duracion=0.5;
fmax=145;
Fs=10*fmax;
Ts=1/Fs;
n=Ts:Ts:duracion;
Xn=1*sin(2*pi*100*n)+ 0.5*sin(2*pi*105*n)+0.1*sin(2*pi*110*n)+...
0.01*sin(2*pi*115*n)+0.001*sin(2*pi*120*n)+0.001*sin(2*pi*125*n)+...
0.01*sin(2*pi*130*n)+0.1*sin(2*pi*135*n)+0.5*sin(2*pi*140*n)+...
1*sin(2*pi*145*n);
N=length(Xn);
%% dominio de la frecuencia
NFFT=2;
while NFFT<N
NFFT=2*NFFT;
end
Xk=fft(Xn,NFFT);
periodograma=abs(Xk);
f=linspace(0,Fs,NFFT);
%% graficas
figure
plot(f,periodograma)
axis([0 Fs/2 0 max(periodograma)])
grid on
Duracin=0.5

Duracin=10
Conclusiones

Al aumentar la duracin se est aumentando el nmero de muestras por lo tanto la resolucin es


mejor y se puede apreciar mejor las componentes armnicas de la seal.
Se puede aumentar el nmero de muestras aumentado la frecuencia de muestreo.

Ejercicio 2 (anlisis de seales de duracin por trozos):

a) Generar una seal compuesta por dos tonos continuos de 20 y 40 Hz con las caractersticas mostradas en
la figura y realizar su anlisis espectral por medio del periodograma.

Problema: el espectro de frecuencias no contiene informacin temporal

Cdigo

clc, clear all, close all


%% generacion de seales
duracion=2;
Fmax=40;
Fs=30*Fmax;
Ts=1/Fs;
n=Ts:Ts:duracion;
n1=Ts:Ts:duracion/4;
Xn1=[zeros(1,Fs*0.5) sin(2*pi*20*n1) sin(2*pi*40*n1) zeros(1,Fs*0.5)];
Xn2=[zeros(1,Fs*0.5) sin(2*pi*40*n1) sin(2*pi*20*n1) zeros(1,Fs*0.5)];
figure
subplot(2,1,1)
plot(n,Xn1)
subplot(2,1,2)
plot(n,Xn2)
%% dominio de la frecuencia
N=length(Xn1);
NFFT=2;
while NFFT<N
NFFT=2*NFFT;
end
% periodograma 1
Xk1=fft(Xn1,NFFT);
periodograma1=abs(Xk1);
% periodograma 2
Xk2=fft(Xn2,NFFT);
periodograma2=abs(Xk2);
%% graficas
f=linspace(0,Fs,NFFT);
figure
subplot(2,1,1)
plot(f,periodograma1)
axis([0 Fs/2 0 max(periodograma1)])
grid on
subplot(2,1,2)
plot(f,periodograma2)
axis([0 Fs/2 0 max(periodograma2)])
grid on

Generacin de seales
Periodo gramas

Generacin de seales

0.5

-0.5

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

0.5

-0.5

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Periodograma
400

300

200

100

0
0 100 200 300 400 500 600

400

300

200

100

0
0 100 200 300 400 500 600

Conclusiones

El orden de las seales no altera el periodograma, ya que este depende de las frecuencias de dichas
seales.
La amplitud de los picos no solo dependen de la amplitud de la seal en tiempo sino de la duracin.

Ejercicio 4

Generar cada una de las seales DTMF por medio de su telfono celular (oprimiendo ya sea el cero, el
uno, , o el 9), recibirla mediante el micrfono de su PC, amplificarla si hace falta, almacenarla en
archivos distintos y realizar el correspondiente anlisis espectral (periodograma) en tiempo diferido.
Confirmar si las frecuencias encontradas al oprimir cada una de las teclas, corresponden a lo esperado.

Repetirlo para el caso de tiempo real.

Problema: Se debe identificar las frecuencias de cada una de las teclas, al adquirir seal de audio desde el
micrfono se puede introducir sonidos externos del ambiente que interfieran con el experimento.

Para capturar audio de la tarjeta de audio del computador usamos los siguientes comandos:

r=audiorecorder(44100, 16, 1); establecemos la frecuencia del audio, el nmero de bits y canales

record(r) empieza a grabar

stop(r) detenemos la grabacin

y=getaudiodata(r); exportamos los datos del audio a una variable

wavwrite(y,'0') guardamos el dato en formato wav


Cdigo para leer audio y generar las graficas

clc, clear all, close all


%% Lectura de archivos de audio
[y,Fs]=audioread('0.wav');
y=y(:,1);
Xn=y';
N=length(Xn);
%% Dominio de la frecuencia
N1=ceil(log2(N));
NFFT=2^N1;
Xk=fft(Xn,NFFT);
espectro_amp=abs(Xk);
f=linspace(0,Fs,NFFT);
%% Graficas
figure
subplot(2,1,1)
plot(Xn)
title('Tecla 0')
xlabel('Numero de muestras')
ylabel('Amplitud')
subplot(2,1,2)
plot(f,espectro_amp)
axis([0 Fs/2 0 max(espectro_amp)])
title('Espectro de amplitud')
xlabel('f(Hz)')
ylabel('Amplitud')
Frecuencias de las teclas
Tecla 0

Tecla 0
1

0.5
Amplitud
0

-0.5

-1
0 2 4 6 8 10 12 14 16
Numero de muestras 4
x 10
Espectro de amplitud

8000
Amplitud

6000

4000

2000

0
900 950 1000 1050 1100 1150 1200 1250 1300 1350 1400
f(Hz)

Tecla 1

Tecla 1
1

0.5
Amplitud

-0.5

-1
0 2 4 6 8 10 12 14 16
Numero de muestras 4
x 10
Espectro de amplitud

8000

6000
Amplitud

4000

2000

0
700 800 900 1000 1100 1200
f(Hz)
Tecla 2

Tecla 2
1

0.5
Amplitud

-0.5

-1
0 5 10 15
Numero de muestras 4
x 10
Espectro de amplitud

8000

6000
Amplitud

4000

2000

0
700 800 900 1000 1100 1200 1300
f(Hz)

Tecla 3

Tecla 3
1

0.5
Amplitud

-0.5

-1
0 2 4 6 8 10 12 14
Numero de muestras 4
x 10
Espectro de amplitud

10000
Amplitud

5000

0
600 700 800 900 1000 1100 1200 1300 1400 1500 1600
f(Hz)
Tecla 4

Tecla 4
0.5

0
Amplitud

-0.5

-1
0 2 4 6 8 10 12 14 16
Numero de muestras 4
x 10
Espectro de amplitud
3000

2000
Amplitud

1000

0
800 1000 1200 1400 1600 1800
f(Hz)

Tecla 5

Tecla 5
1

0.5
Amplitud

-0.5

-1
0 2 4 6 8 10 12 14
Numero de muestras 4
x 10
Espectro de amplitud
15000
Amplitud

10000

5000

0
700 800 900 1000 1100 1200 1300 1400
f(Hz)
Tecla 6

Tecla 6
1

Amplitud 0.5

-0.5

-1
0 2 4 6 8 10 12
Numero de muestras 4
x 10
Espectro de amplitud
15000
Amplitud

10000

5000

0
800 900 1000 1100 1200 1300 1400 1500 1600
f(Hz)

Tecla 7

Tecla 7
1

0.5
Amplitud

-0.5

-1
0 2 4 6 8 10 12
Numero de muestras 4
x 10
Espectro de amplitud

10000
Amplitud

5000

0
800 900 1000 1100 1200 1300 1400 1500 1600
f(Hz)
Tecla 8

Tecla 8
1

0.5
Amplitud

-0.5

-1
0 2 4 6 8 10 12
Numero de muestras 4
x 10
Espectro de amplitud

10000
Amplitud

5000

0
400 600 800 1000 1200 1400 1600 1800 2000
f(Hz)

Tecla 9

Tecla 9
1

0.5
Amplitud

-0.5

-1
0 2 4 6 8 10 12 14
Numero de muestras 4
x 10
Espectro de amplitud

10000
Amplitud

5000

0
900 1000 1100 1200 1300 1400 1500
f(Hz)
Tiempo Real

Tecla 0

Tecla 1
Tecla 2

Tecla 3
Tecla 4

Tecla 5
Tecla 6

Tecla 7
Tecla 8

Tecla 9

Conclusiones

Se verifico las frecuencias de las componentes de cada una de las seales que se generan con las
techas del celular.
Debido a sonidos exteriores que captura la tarjeta de audio existe distorsin o aparecen
componentes armnicos en la seal.
La seal de audio no siempre es constante, inicia en un cuello de botella que distorsiona la seal de
audio, es efecto de la tarjeta de audio del computador.
Ejercicio 5

Cada cierto tiempo el celular se comunica con estacin base por medio del envo y recepcin de ciertas
seales. Esto puede comprobarlo poniendo su celular cerca de un altavoz y escuchando lo que ocurre cada
cierto tiempo. Analizar qu frecuencias conforman estas seales.

Problema: Las seales de base a mvil no son constantes.

Para este experimento lo que se es realizar una llamada con un celular 1, y con un celular 2 llamar al celular
1 para recibir la seal de la estacin base con el celular 1.

Para grabar el archivo de audio se utiliza los comandos mencionados anteriormente.

Cdigo

clc, clear all, close all


%% Lectura de archivos de audio
[y,Fs]=audioread('interferencia.wav');
y=y(:,1);
Xn=y';
N=length(Xn);
%% Dominio de la frecuencia
N1=ceil(log2(N));
NFFT=2^N1;
Xk=fft(Xn,NFFT);
espectro_amp=abs(Xk);
f=linspace(0,Fs,NFFT);
%% Graficas
figure
subplot(2,1,1)
plot(Xn)
title('sincronizacin de celular con la estacin base')
xlabel('Numero de muestras')
ylabel('Amplitud')
subplot(2,1,2)
plot(f,espectro_amp)
axis([0 Fs/2 0 max(espectro_amp)])
title('Espectro de amplitud')
xlabel('f(Hz)')
ylabel('Amplitud')
Resultados

sincronizacin de celular con la estacin base

Amplitud 0.1

-0.1

7.88 7.9 7.92 7.94 7.96 7.98 8 8.02 8.04


Numero de muestras 4
x 10
Espectro de amplitud
1500
Amplitud

1000

500

200 400 600 800 1000 1200 1400


f(Hz)

sincronizacin de celular con la estacin base


0.5

0
Amplitud

-0.5

-1
0 0.5 1 1.5 2 2.5 3
Numero de muestras 5
x 10
Espectro de amplitud

3000
Amplitud

2000

1000

0
0 500 1000 1500 2000 2500 3000
f(Hz)
Conclusin

Se puede observar que se enva una seal continua en el tiempo que tiene componentes de varias
frecuencias, las ms altas se encuentran hasta un rango de 1.5 kHz.

Ejercicio 6

Copa con distintos niveles de agua. Frotar su borde con el dedo hmedo y analizar con el PC la frecuencia
producida. Esta ser su frecuencia de resonancia. Qu posibilidades habra de generar esa misma
frecuencia con el PC y producir su ruptura? Debe tomar las respectivas precauciones.

Problema: Se debe determinar la frecuencia de resonancia de la copa, cada copa es diferente debido a su
forma o construccin.

Frecuencia de resonancia

Para obtener dicha frecuencia en tiempo real se utiliz el audio tester, se moja el borde de la copa y se
hace friccin para obtener un sido a una frecuencia caracterstica.
Determinando la frecuencia (2.2 kHz) se utiliz el parlante de un equipo de sonido para generar dicha seal.

Conclusiones

La copa se triza a dicha frecuencia pero no se logr quebrarla completamente, para tener un mejor
resultado se recomienda usar una etapa de amplificacin para obtener los resultados deseados.

You might also like