Escolar Documentos
Profissional Documentos
Cultura Documentos
Lab Pds Matlab 4
Lab Pds Matlab 4
N=201 FT = 8 kHz
Segunda Valor inteiro Erro
Valor
harmônica de k mais absoluto
exato de k
(Hz) próximo em k
1394 35,024 35 0,024
1540 38,692 39 0,308
1704 42,813 43 0,187
1882 47,285 47 0,285
2418 60,752 61 0,248
2672 67,134 67 0,134
2954 74,219 74 0,219
3266 82,058 82 0,058
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D
1
Fórmulas do cálculo da DFT de N pontos:
( )
X e jw ⇒ DTFT
( )
X [k ] = X e jw
wk =
2π k k = 0, 1, K , N − 1
N
N −1
j2π
X [k ] = ∑ x[n]⋅ W
n =0
kn
N k = 0, 1, K , N − 1 W N = exp −
N
1 – No sistema DTMF são utilizadas duas freqüências distintas para representar cada dígito. O
programa a seguir calcula a DFT de cada freqüência. Podemos observar que existe um
espalhamento da energia em torno da freqüência central (leakage).
k FS
Fk = , k = 0, 1, K , N − 1
N
function XF=gfft(x,N,k)
if length(x)<N
xe=[x zeros(1,N-length(x))];
else
xe=x;
end
x1=[xe 0];
d1=2*cos(2*pi*k/N); W=exp(-i*2*pi*k/N);
y=filter(1,[1 -d1 1],x1);
XF=y(N+1)-W*y(N);
2
% DUAL-TONE MULTIFREQUENCY TONE DETECTION
clear; clc;
fs=8000;
n=0:204;
n1=0:319;
loop=0;
while loop==0,
d=input('Digite Numero:');
symbol=abs(d);
if symbol==1
f1=697; f2=1209;
end
if symbol==2
f1=697; f2=1336;
end
if symbol==3
f1=697; f2=1477;
end
if symbol==4
f1=770; f2=1209;
end
if symbol==5
f1=770; f2=1336;
end
if symbol==6
f1=770; f2=1477;
end
if symbol==7
f1=852; f2=1209;
end
if symbol==8
f1=852; f2=1336;
end
if symbol==9
f1=852; f2=1477;
end
if symbol==0
f1=941; f2=1336;
end
y=sin(2*pi*f1*n1*(1/fs))+sin(2*pi*f2*n1*(1/fs));
sound(y,fs);
x=sin(2*pi*f1*n*(1/fs))+sin(2*pi*f2*n*(1/fs));
k=[18 20 22 24 31 34 38 42];
for m=1:8;
Fx(m)=gfft(x,205,k(m));
val=abs(Fx);
end
stem(k,val); grid;
limit=8100;
if val(1)*val(5)>limit
disp('Tecla Apertada = 1');
end
3
if val(1)*val(6)>limit
disp('Tecla Apertada = 2');
end
if val(1)*val(7)>limit
disp('Tecla Apertada = 3');
end
if val(2)*val(5)>limit
disp('Tecla Apertada = 4');
end
if val(2)*val(6)>limit
disp('Tecla Apertada = 5');
end
if val(2)*val(7)>limit
disp('Tecla Apertada = 6');
end
if val(3)*val(5)>limit
disp('Tecla Apertada = 7');
end
if val(3)*val(6)>limit
disp('Tecla Apertada = 8');
end
if val(3)*val(7)>limit
disp('Tecla Apertada = 9');
end
if val(4)*val(6)>limit
disp('Tecla Apertada = 0');
end
end
Calcule a DFT do sinal de comprimento N=16. Utilize os seguintes comprimentos para a DFT: