2.利用fft分析向量所给的频率上。 i=1:10
'Num='
column 1.1328 row 0.9273 1.0247 0.5346 1 2 3 0.5906 4 5 6 0.6535 7 8 9 0.7217 0 8192Hz采样的拨号音信号的DTFT频率
d0到d9以表示在0n999区间的全部
d0到d9的DTFT频谱,绘图并确认峰值都落在表
个数字
1-1以10n=0:999;%the standard wave of 0--9 number demand oned0=sin(0.7217*n)+sin(1.0247*n);d1=sin(0.5346*n)+sin(0.9273*n);d2=sin(0.5346*n)+sin(1.0247*n);d3=sin(0.5346*n)+sin(1.1328*n);d4=sin(0.5906*n)+sin(0.9273*n);d5=sin(0.5906*n)+sin(1.0247*n);d6=sin(0.5906*n)+sin(1.1328*n);d7=sin(0.6535*n)+sin(0.9273*n);d8=sin(0.6535*n)+sin(1.0247*n);d9=sin(0.6535*n)+sin(1.1328*n);d=[d0;d1;d2;d3;d4;d5;d6;d7;d8;d9];
figure(1),for subplot(2,5,i); plot(abs(fft(d(i,:)))); title([,num2str(i-1)]);endd0到d9的DTFT频谱如下:
3.用zeros码,在电话号码中加入噪声。space=zeros(1,1000);phone=[d0 space d6 space space d2 space d7 space d2 space d3]; sound(phone,8192);lph=length(phone);ns=randn(1,lph)+sin(0.5*lph);phone=phone+0.4*ns;
4。将电话号码变成具有len=length(phone);i=1;p=1; while(p 5。提取号码的第一种方法——频谱分析法。的特点,将电话号码中各量的话号码。但由于噪声的存在,准确性较差,容易出现错误。%use fft to demodulation demodulation with two different methods ftable=[1 2 3;4 5 6;7 8 9;0 0 0];Num=0Num=1Num=2Num=3Num=4600600600600600400400400400400200200200200200005001000005001000005001000005001000005001000Num=5Num=6Num=7Num=8Num=96006006006006004004004004004002002002002002000050010000050010000050010000050010000050010001000个空号样本的行向量space,定义phone是电话号 d3 space space d7 space d7 space d6 space d5 space d6 space 1000列的矩阵。 根据第二部分得到的d0到d9的DTFTDTFT频谱与d0到d9的DTFT频谱比较,可提出电 会对电话号码的频谱产生较大影响,因此该种方法 定义一个包含 频谱fr=[0.5346 0.5906 0.6535 0.7217]; fc=[0.9273 1.0247 1.1328]; dirt=0.03; Rom=1;Col=1; for j=1:i f=abs(fft(temp(j,:))); k=find(f>350); R=k(1,1)/1000*2*pi; C=k(1,2)/1000*2*pi; for jj=1:4 if abs(R-fr(jj)) 提取号码的第二种方法——相关法。将电话号码中各量与d0到d9取相关,由于自相关 比非自相关的值大许多,因此很容易将电话号码提取,不易出现错误。 %use the correlation to demodulation len=i; for i=1:len s=[max(xcorr(temp(i,:),d0)) max(xcorr(temp(i,:),d1)) max(xcorr(temp(i,:),d2)) max(xcorr(temp(i,:),d3)) max(xcorr(temp(i,:),d4)) max(xcorr(temp(i,:),d5)) max(xcorr(temp(i,:),d6)) max(xcorr(temp(i,:),d7)) max(xcorr(temp(i,:),d8)) max(xcorr(temp(i,:),d9))]; s=[s(1,:) s(2,:)]; mx=max(max(s)); output2(i)=find(s==mx)-1 ; end output2 因篇幅问题不能全部显示,请点此查看更多更全内容