仿真系统的课程设计1.docx
《仿真系统的课程设计1.docx》由会员分享,可在线阅读,更多相关《仿真系统的课程设计1.docx(11页珍藏版)》请在冰点文库上搜索。
仿真系统的课程设计1
电子信息课程设计
题目:
班级:
学号:
姓名:
课程设计任务书
设计题目
Matlab/Simulink系统建模与仿真
设
计
要
求
1.认真学习并熟练掌握Matlab/Simulink软件的应用及仿真。
2.按照题目1给出的要求建立起Simulink模型,并进行仿真,仿真完成后,可以由MATLAB命令可以得出输出信号波形。
3.按照题目2给出的要求,建立起系统的Simulink仿真模型,并绘制出滤波前后频谱波形。
工
作
计
划
2011.6.19查询资料,下载相关软件并正确安装。
2011.6.20-6.25学习相关软件,并按要求进行模型设计,应用相关软件进行仿真。
2011.6.26检查仿真结果并提交完成好的设计报告。
指导老师:
教研室主任:
电子信息课程设计
Matlab/Simulink通信系统建模与仿真
一、设计目的:
学习Matlab/Simulink的功能及基本用法,对给定系统进行建模与仿真。
二、基本知识:
Simulink是用来对动态系统进行建模、仿真和分析的软件包,依托于MATLAB丰富的仿真资源,可应用于任何使用数学方式进行描述的动态系统,其最大优点是易学、易用,只需用鼠标拖动模块框图就能迅速建立起系统的框图模型。
三、设计内容:
1、基本练习:
(1)启动SIMULINK:
先启动MATLAB,在命令窗口中键入:
simulink,回车;或点击窗口上的SIMULINK图标按钮。
(2)点击File\new\Model或白纸图标,打开一个创建新模型的窗口。
(3)移动模块到新建的窗口,并按需要排布。
(4)连接模块:
将光标指向起始模块的输出口,光标变为“+”,然后拖动鼠标到目标模块的输入口;或者,先单击起始模块,按下Ctrl键再单击目标模块。
(5)在连线中插入模块:
只需将模块拖动到连线上。
(6)连线的分支与改变:
用鼠标单击要分支的连线,光标变为“+”,然后拖动到目标模块;单击并拖动连线可改变连线的路径。
(7)信号的组合:
用Mux模块可将多个标量信号组合成一个失量信号,送到另一模块(如示波器Scope)。
(8)生成标签信号:
双击需要加入标签的信号线,会出现标签编辑框,键入标签文本即可。
或点击Edit\SignalProperties。
传递:
选择信号线并双击,在标签编辑框中键入<>,并在该尖括号内键入信号标签即可。
四、建立模型
设一段音频信号中混杂了一个1000的单频正弦波干扰,试设计一个带阻滤波器对其进行滤波。
观察滤波前后的频谱变化,并通过声卡将滤波前后的声音输出到扬声器,进行主观对比,看所设计的带阻滤波器是否能够起到抑制单频正弦波干扰的目的?
设计一个带阻滤波器的阶数和滤波效果的关系如何?
[解答]
依据题意,建立Simulink测试模型,如图所示。
模型中,话音信号设为8000Hz采样率的,从外部wav文件读入。
1000Hz的单频正弦波采用信号处理工具箱中的离散正弦波发生模块SineWave产生,幅度为1V。
Buffer模块实现音频数据串行化,以便同单频干扰相叠加。
采用DigitalFilterDesign模型设计带阻滤波器对单频干扰进行滤波,针对1000Hz信号,带阻滤波器的中心阻带频率设置为[950,1050],两端通带频率点分别为700Hz和1300Hz。
阻带抑制度分别为5dB,15dB和25dB,采用切比雪夫1型。
DigitalFilterDesign模块设计出来对应的滤波器阶数分别为2,4,6阶。
分别用这三种阻带抑制度下的滤波器对信号进行滤波,从喇叭中聆听滤波结果(分别保存在wav文件:
ch3prob5filter5dBdepress.wav,ch3prob5filter15dBdepress.wav,ch3prob5filter25dBdepress.wav中)。
1.1音频信号中混杂了一个1000Hz的单音频正弦波干扰并滤波
试验中,从喇叭中聆听结果是:
5dB抑制度下单频干扰声音仍然明显;15dB抑制度下单频干扰明显减弱,25dB抑制度下单频干扰已经很小了。
抑制度要求越高,则所需滤波器阶数就越大,对干扰的抑制效果将越好。
修改测试模型,使之能够观察滤波前后的频谱情况。
修改后的模型如图(1.2)所示,为了使得频谱仪显示两对比频谱不重叠,测试模型中将滤波输出信号衰减了3dB再送入频谱仪。
当滤波器带阻抑制度为15dB时,仿真所得功率如图(1.3)所示。
图中,1000Hz处得线频谱为单频干扰,滤波后,该干扰线谱下降约15dB.
1.2频谱测试模型
1.3滤波器阻带抑制度为15dB时滤波前后的信号功率谱
接上题,如果干扰换成1000Hz的方波或三角波,带通滤波器的抑制效果还好吗?
试设计一个梳状滤波器来抑制这样的干扰,从听觉上对比两者的效果。
【解答】
方法一:
Simulink测试模型如图所示。
1.4梳状滤波器抑制谐波干扰的测试模型
模型中,采用SignalGenerator产生1000Hz方波或锯齿波,再用UnitDelay模块采样,采样时间间隔为1/8000秒。
DigitalFilterDesign模块设计为梳状滤波器模式,其参数设计对话框以及频率响应曲线如图所示。
执行仿真或滤波输出音频通过喇叭输出,同时保存为wav文件。
Ch3prob6org.wav为加入1000Hz方波干扰后的音频信号,其中干扰声音严重影响了话音质量,而滤波输出Ch3prob6filter.wav中则基本听不出干扰来。
图给出了仿真执行中的频谱仪显示,显然,输出频谱在1000Hz整数倍频率上被抑制了。
1.5梳状滤波器滤波前后的话音功率谱
方法二:
Simulink模型同方法一,所不同的是DigitalFilterDesign模块的配置。
这里先用编程方法设计出梳状滤波器传递函数的分子分母系数来,然后导入到DigitalFilterDesign模块中。
【程序代码】
%ch3prob6.m
Fs=8000;Ts=1/8000;%采样率
f0=1000;%梳状滤波器开槽基频率
bw=100/(Fs/2);%归一化开槽带宽
ab=-3;%计算开槽带宽位置处得衰减分贝值
n=Fs/f0;%计算滤波阶数
[num,den]=iircomb(n,bw,ab,'notch');%计算H(z)
freqz(num,den,4000,6000);%作出H(z)的幅频相频图
axis([04000-305]);
执行程序Ch3prob6.m后,得出所涉及的梳状滤波器幅频相频曲线,如图所示,以及其传递函数的分子分母系数num,den。
双击DigitalFilterDesig模块图标,在参数设置对话框中选择滤波器参数导入模式,填写分子分母系数num,den,采样率取8000Hz,滤波器结构可任选。
DigitalFilterDesig模块的设计参数的导入和频率响应曲线参见图(1.7)
1.7程序Ch3prob6.m设计得到的梳状滤波器幅频相频曲线
仿真结果与方法一相同。
方法三:
也可采用纯编程方法实现。
谐波干扰采用1000Hz和3000Hz的正弦波叠加来模拟。
【程序代码】
%ch3prob6B.m
Fs=8000;Ts=1/8000;%采样率
f0=1000;%梳状滤波器开槽基频率
bw=100/(Fs/2);%归一化开槽带宽
ab=-3;%计算开槽带宽位置处得衰减分贝值
n=Fs/f0;%计算滤波阶数
[num,den]=iircomb(n,bw,ab,'notch');%计算H(z)
freqz(num,den,4000,6000);%作出H(z)的幅频相频图
axis([04000-51]);
t=0:
Ts:
10;
sig=wavread('ch3prob5org.wav');
interf=0.5*sin(2*pi*1000*t')+0.5*sin(2*pi*3000*t');%谐波干扰
mixed=sig(1:
length(interf))+interf;
sound(0.5*muxed,Fs);
filterout=filter(num,den,mixed);
sound(filterout,Fs);
wavwrite(filterout,Fs,'ch3prob6meth3filterd.wav')
程序执行后,首先从喇叭输出滤波之后的音频信号,可听见较强的谐波干扰声,然后从喇叭输出滤波后的音频,基本上听不到谐波干扰声了。
程序执行完毕将滤波输出音频信号写入音频文件ch3prob6meth3filterd.wav。
1.8程序Ch3prob6B.m设计得到的梳状滤波器幅频相频曲线
五、心得体会
学习matlab的时候感觉很复杂,特别是在信号处理和数学建模上,使用matlab编写程序去验证结果非常节省时间,而且matlab写东西基本都是按照自己的思路平铺直叙很少去考虑什么函数的嵌套调用或者指针等等很头疼的东西。
关于matlab的学习,关键是在于多动手实践,多思考。
但是matlab毕竟只是一个工具,原理和一些基本的编程素质还是必须有的,否则matlab最多也只能是验证一些别人的东西而已,根本帮不上什么忙的。
通过这次设计,我的理论知识掌握得更扎实,动手能力明显提高。
同时,通过网上搜索等多方面的查询资料,我学到许多在书本上没有的知识,也认识到理论联系实践的重要。
这次课程设计是自己第一次运用Matlab软件学习的东西。
所以在许多方面都还不熟练,对软件的许多功能还不完全了解,不能熟练运用,因而不能完全的一次性设计好电路。
不过通过本次的课程设计我学到了学多的知识,学会了Matlab软件的一些基本使用方法,培养了我的独立思考问题解决问题的能力,加深了我对通信原理知识的理解,巩固了我的学习知识,有助于我以后的学习。
虽然这次的课程设计的时间很短暂,但是我收获了很多在书本上无法了解的东西,使我认识到实际动手操作的重要性,对我的以后学习设计有很大的帮助,也为将来的人生之路做好了一个很好的铺垫。
六、参考文献
(1)通信原理第6版国防工业出版社
(2)matlab语言程序设计教程中国铁道出版社
(3)通信系统建模与仿真实例分析学习辅导