北邮双音多频MATLAB实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

n=0:204; for i=1:10 a1=[0,a10(i)];a2=[0,a20(i)];b1=[1,b11(i),1];b2=[1,b21(i),1]; y(i,:)=filter(a1,b1,h)+filter(a2,b2,h); %两个冲激响应相叠加 end tone=y(d+1,:); %tone 为相应的按键音(正弦函数) figure(1) for t=1:10 subplot(5,2,t) plot(n/205,y(t,:));title(strcat('数字键',num2str(t-1))); end
end disp('双音多频信号已生成并发出') disp('接收端检测到的号码: ') disp(setstr(d_out)) 程序调试截图
信号频谱图:
观察上面的频谱图,说明接收信号正好是‘78934620’ ,输入输出一致,程序运 行无误 实验总结 这次 matlab 实验明显比之前的有难度, 在掌握了第四章 IIR 数字滤波器设计相关 知识的基础上又有了新的拓展和延伸。过程中出现了一些问题,比如 GOERTZEL 函数实现, 矩阵长度不匹配导致程序不断报错,在自己的研究和同学的帮助下总 算完成了实验,对于 matlab 编程有了深入的了解
δ(n) Z-1
a10 -b11 -b21
Z-1 Z-1
DAC
产生低频音 的 IIR DF
低通 滤波 器
按键音
Z-1
a20 -b21 -b22
Z-1 Z-1
产生高频音 的 IIR DF
DTMF 生成器 其中 b21=b22=1 Matlab 代码 m=zeros(1,205);y=[m;m;m;m;m;m;m;m;m;m]; a10=[0.6736 0.5204 0.5204 0.5204 0.5686 0.5686 0.5686 0.6203 0.6203 0.6203]; a20=[0.8671 0.8131 0.8671 0.9168 0.8131 0.8671 0.9168 0.8131 0.8671 0.9168]; b11=[-1.4782 -1.7077 -1.7077 -1.7077 -1.6453 -1.6453 -1.6453 -1.5687 -1.5687 -1.5687]; b21=[-0.9964 -1.1641 -0.9964 -0.7986 -1.1641 -0.9964 -0.7986 -1.1641 -0.9964 -0.7986]; h=impseq(0,0,204); %长度为 205 的单位冲激函数
来自百度文库
DTMF 信号检测(GOERTZEL 算法)
VK X(n) z-1 yK(n)
z-1 z-1
MATLAB 代码 f=[697 770 852 941 1209 1336 1477 1633]; fs=8000; fn=fs/N; k=f/fn; x=[ysin,zeros(1,N)]; tic;%timer start Vk(1)=0;Vk(2)=0; for i1=1:8 w=2*cos(2*pi*k(i1)/N); for j1=3:N Vk(j1)=w.*Vk(j1-1)-Vk(j1-2)+x(j1); end Xk(i1)=Vk(N).^2+Vk(N-1).^2-w*Vk(N)*Vk(N-1); end X=Xk/100; 主程序 N=205; tm=[49,50,51;52,53,54;55,56,57;0,48,0]; f=[697 770 852 941 1209 1336 1477 1633]; d_in=input('请输入电话号码: ','s'); %输入信号 d_in for l=1:8 d=d_in(l)-48; d_tone=dsin(d); %产生拨号音 sound(d_tone,8000); %播放拨号音 pause(0.2) X=GOERT(d_tone,N); % GOERT 算法求出接收端信号的频率分量 value=abs(X); figure(2) subplot(4,2,l) stem(f,value,'.');grid; set(gca,'XTick',f); title('FFT x(n)');xlabel('频率 k/Hz');ylabel('幅度|X(k)|'); limit=50; %设置门限值 for s=5:8 if value(s)>limit break; %高频门限检测 end end for r=1:4 if value(r)>limit break; %低频门限检测 end end d_out(l)=tm(r,s-4); %还原信号
实验 双音多频拨号系统 matlab 实现
xxxxxxxxxx 班 xx 号大学霸
实验内容: 把八位电话号码通过 DTMF 编码生成调制信号,并在接收端检测。 技术指标: 根据 ITU Q.23 建议,DTMF 信号的技术指标是:传送/接收率为每秒 10 个号码,或每个号码 100ms。 每个号码传送过程中,信号存在时间至少 45ms,且不多于 55ms,100ms 的其余时间是静音。 在每个频率点上允许有不超过 1.5%的频率误差。任何超过给定频率 3.5% 的信号,均被认为是无效的,拒绝接收。 (其中关键是不同频率的正弦波的产生。 可以使用查表方式模拟产生两个不同频率的 正弦波。正弦表的制定要保证合成信号的频率误差在 1.5%以内,同时是取样点数尽 量少) dtmf 信号产生: 双音多频调制 DTMF 实质是将两个不同频率的正弦波予以混合相加即可得到, 所 以只要能够产生两个不同点的正弦波的函数值,再相加就可以了
相关文档
最新文档