Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DecodificadorFinal PDF
DecodificadorFinal PDF
Por medio del microfono se procedio a coger una muestra de audio para su posterior decodificacion
mediante el siguiente codigo.
clc
clear all
close all
fs=8000;
recObj = audiorecorder;
disp('Inicia la grabación.')
Inicia la grabación.
recordblocking(recObj, 10);
disp('Fin de la grabación.');
Fin de la grabación.
t=(0:length(myRecording)-1)*fs/length(myRecording);
nombre =
'ricky.wav'
%Graficar en tiempo
plot(t,5*wave),xlabel('tiempo [ms]'),ylabel('Señal Amplitud'),title('Señal en tiempo [ms]');
1
%Sonido
sound(5*wave,fs)
%Fourier
figure
Four=fft(wave);
L=length(wave);
P2 = abs(Four/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = (fs)*(0:(L/2))/L;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
2
%Espectograma
figure
spectrogram(100*wave,fs/10,[],[],fs,'yaxis','MinThreshold',-100);
ylim([0.65 1.5]);
3
[S,F,T]=spectrogram(100*wave,fs/10,[],[],fs,'yaxis','MinThreshold',-100);
[row colum]=size(S);
Sa=abs(S);
for i=1:length(F)
if F(i)-697<2
pos1b=i;
end
if F(i)-770<2
pos2b=i;
end
if F(i)-850<2
pos3b=i;
end
if F(i)-941<2
pos4b=i;
end
if F(i)-1209<2
pos1a=i;
end
if F(i)-1336<2
pos2a=i;
end
if F(i)-1477<2
pos3a=i;
end
if F(i)-1633<2
pos4a=i;
4
end
end
j=1;
for i=1:colum
M=max(Sa(:,i));
var1=0.85*M;
if M>500
if (M-Sa(pos1b,i)<var1) && (M-Sa(pos1a,i)<var1)
numeros(j)=1;
j=j+1;
end
if (M-Sa(pos1b,i)<var1)&& (M-Sa(pos2a,i)<var1)
numeros(j)=2;
j=j+1;
end
if (M-Sa(pos1b,i)<var1) && (M-Sa(pos3a,i)<var1)
numeros(j)=3;
j=j+1;
end
if (M-Sa(pos2b,i)<var1) && (M-Sa(pos1a,i)<var1)
numeros(j)=4;
j=j+1;
end
if (M-Sa(pos2b,i)<var1) && (M-Sa(pos2a,i)<var1)
numeros(j)=5;
j=j+1;
end
if (M-Sa(pos2b,i)<var1) && (M-Sa(pos3a,i)<var1)
numeros(j)=6;
j=j+1;
end
if (M-Sa(pos3b,i)<var1) && (M-Sa(pos1a,i)<var1)
numeros(j)=7;
j=j+1;
end
if (M-Sa(pos3b,i)<var1) && (M-Sa(pos2a,i)<var1)
numeros(j)=8;
j=j+1;
end
if (M-Sa(pos3b,i)<var1) && (M-Sa(pos3a,i)<var1)
numeros(j)=9;
j=j+1;
end
if (M-Sa(pos4b,i)<var1)&& (M-Sa(pos2a,i)<var1)
numeros(j)=0;
j=j+1;
end
if (M-Sa(pos4b,i)<var1)&& (M-Sa(pos1a,i)<var1)
numeros(j)=4573;
j=j+1;
end
if (M-Sa(pos4b,i)<var1)&& (M-Sa(pos3a,i)<var1)
numeros(j)=3548;
5
j=j+1;
end
else
numeros(j)=812;
j=j+1;
end
end
j=1;
for i=1 : length(numeros)-1
if (numeros(i)==812)
disp('');
x=2;
elseif (numeros(i+1)== numeros(i))
disp('');
x=3;
else
deco(j)=numeros(i);
j=j+1;
end
end
El numero ingresado es :
disp(deco)
0 9 7 8 6 0 0 6 5 5
Entonces se marco con el telefono celular un numero de 10 digitos que corresponde cuyo resultado del
programa nos otorga 0978600655 que fue el numero ingresado en el telefono celular.