数字信号处理综合实验

您所在的位置:网站首页 labview频域采样 数字信号处理综合实验

数字信号处理综合实验

#数字信号处理综合实验| 来源: 网络整理| 查看: 265

数字信号处理综合实验:

一、实验内容及要求 实验内容: 综合运用课程所学相关知识,根据实际信号的频谱特性,确定数字滤波器设计技术指标,设计相应的数字滤波器,实现DTMF信号的提取。 设计要求: (1)通过查阅资料,自学电话中DTMF信号的产生与检测方法。 (2)利用Matlab实现DTMF信号的产生与提取。 自行选择数字(0-9),通过数字方法产生该数字的双频信号;拟定采样频率为8000Hz。根据该信号的频率特性,确定滤波器类型及技术指标,将两个单音分别提取出来。画出数字滤波器输入、输出信号的波形及频谱。 (3)利用Matlab GUI设计用户界面,实现拨号界面,包括10个数字键、显示框(显示按下的数字),画出相应的波形。 (4)自拟实验方案及具体实验步骤(要求写出设计方案)。 创新训练拓展内容: (1)在GUI用户界面中,除设计要求(3)中的内容外,可增加滤波器部分,即实现设计要求(2)中的内容。 (2)利用Labview软件进行DTMF信号的产生与提取。要求给出系统前面板结构、 程序框图等,记录仿真结果。 (3)利用Simulink进行DTMF信号的产生与提取。要求给出系统仿真图,记录系统的各个输出点的波形。 二、实验步骤、结果与分析 1.通过查阅资料,自学电话中DTMF信号的产生与检测方法。利用Matlab实现DTMF信号的产生与提取。自行选择数字(0-9),通过数字方法产生该数字的双频信号;拟定采样频率为8000Hz。根据该信号的频率特性,确定滤波器类型及技术指标,将两个单音分别提取出来。画出数字滤波器输入、输出信号的波形及频谱。

1.通过查阅资料,自学电话中DTMF信号的产生与检测方法。利用Matlab实现DTMF信号的产生与提取。自行选择数字(0-9),通过数字方法产生该数字的双频信号;拟定采样频率为8000Hz。根据该信号的频率特性,确定滤波器类型及技术指标,将两个单音分别提取出来。画出数字滤波器输入、输出信号的波形及频谱。 在这里插入图片描述 以数字5为例。

clc; clear; n=0:1023; x=sin(2*pi*n*770/8000)+sin(2*pi*n*1336/8000);%产生DTMF信号 soundsc(x,8000); subplot(3,2,1) plot(n,x); title('DTMF信号') axis([0,100,-2,2]); k=512; X=fft(x,k); subplot(3,2,2) plot(abs(X)); title('DTMF信号频谱') %利用带通滤波器滤出低频分量 fpl=700;fpu=800; fsl=550;fsu=850; Fs=8000; wp=[2*fpl/Fs,2*fpu/Fs]; ws=[2*fsl/Fs,2*fsu/Fs]; rp=1;rs=40; [N,wpo]=ellipord(wp,ws,rp,rs); [B,A]=ellip(N,rp,rs,wpo); y=filter(B,A,x); soundsc(y,8000); subplot(3,2,3) plot(y); axis([50,100,-1,1]); title('DTMF信号低频分量') Y=fft(y,k); subplot(3,2,4) plot(abs(Y)); title(' DTMF信号低频分量频谱') %利用带通滤波器滤出高频分量 fpl1=1200;fpu1=1400; fsl1=1100;fsu1=1500; Fs=8000; wp1=[2*fpl1/Fs,2*fpu1/Fs]; ws1=[2*fsl1/Fs,2*fsu1/Fs]; rp=1;rs=40; [N1,wpo1]=ellipord(wp1,ws1,rp,rs); [B1,A1]=ellip(N1,rp,rs,wpo1); y1=filter(B1,A1,x); soundsc(y1,8000); subplot(3,2,5) plot(y1); title(' DTMF信号高频分量') axis([50,100,-1,1]); Y1=fft(y1,k); subplot(3,2,6) plot(abs(Y1)); title(' DTMF信号高频分量频谱')

在这里插入图片描述 2.利用Matlab GUI设计用户界面,实现拨号界面,包括10个数字键、显示框(显示按下的数字),画出相应的波形。 设计的GUI界面: 在这里插入图片描述 其中有十二个按键,运行时,每按一个键,右侧框图中都会出现相应的波形,每个按键都有自己独立的程序,下面是按键“2”的gui程序:

function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) n=0:1023; x=sin(2*pi*n*697/8000)+sin(2*pi*n*1336/8000); sound(x,8000); set(handles.edit1,'String',2); axes(handles.axes1); plot(x); axis([0 200 -2 2]); k=512; X=fft(x,k); plot(handles.axes2,abs(X)); sound(x,8000); %滤出低频分量 fpl=500;fpu=750; fsl=300;fsu=900; Fs=8000; wp=[2*fpl/Fs,2*fpu/Fs]; ws=[2*fsl/Fs,2*fsu/Fs]; rp=1;rs=40; [N,wpo]=ellipord(wp,ws,rp,rs); [B,A]=ellip(N,rp,rs,wpo); y=filter(B,A,x); soundsc(y,8000); axes(handles.axes3); plot(y); axis([0 200 -2 2]); Y=fft(y,k); plot(handles.axes4,abs(Y)); %滤出高频分量 fpl1=1200;fpu1=1400; fsl1=900;fsu1=1600; Fs=8000; wp1=[2*fpl1/Fs,2*fpu1/Fs]; ws1=[2*fsl1/Fs,2*fsu1/Fs]; rp=1;rs=40; [N1,wpo1]=ellipord(wp1,ws1,rp,rs); [B1,A1]=ellip(N1,rp,rs,wpo1); y1=filter(B1,A1,x); soundsc(y1,8000); axes(handles.axes5); plot(y1); axis([0 200 -2 2]); Y1=fft(y1,k); plot(handles.axes6,abs(Y1));

结果图: 在这里插入图片描述 3.利用Simulink进行DTMF信号的提取。要求给出系统仿真图,记录系统各个输出点的波形

系统仿真图: 在这里插入图片描述 滤波器设计 滤波器设计 4.利用Labview软件进行DTMF信号的产生与提取。要求给出系统前面板结构、 程序框图等,记录仿真结果。 LABVIEW前面板布局(以1为例): 在这里插入图片描述 程序框图 在这里插入图片描述 滤除低频成分 在这里插入图片描述 滤除高频

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3