您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页MatlabSimulink系统建模与仿真

MatlabSimulink系统建模与仿真

来源:五一七教育网
课程设计任务书

设计题目

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或白纸图标,打开一个创建新模型的窗口。

1(3)移动模块到新建的窗口,并按需要排布。

(4)连接模块:将光标指向起始模块的输出口,光标变为“+”,然后

拖动鼠标到目标模块的输入口;或者,先单击起始模块,按下Ctrl键再单击目标模块。

(5)在连线中插入模块:只需将模块拖动到连线上。

(6)连线的分支与改变:用鼠标单击要分支的连线,光标变为“+”,

然后拖动到目标模块;单击并拖动连线可改变连线的路径。(7)信号的组合:用Mux模块可将多个标量信号组合成一个失量信

号,送到另一模块(如示波器Scope)。

(8)生成标签信号:双击需要加入标签的信号线,会出现标签编辑框,

键入标签文本即可。或点击Edit\\SignalProperties。传递:选择信号线并双击,在标签编辑框中键入<>,并在该尖括号内键入信号标签即可。

四、建立模型

(一)干扰为1000Hz单频正弦波的带阻滤波器设计

要求:设一段音频信号中混杂了一个1000Hz的单频正弦波干扰,试设计一个带

阻滤波器对其进行滤波。

目的:观察滤波前后的频谱变化,并通过声卡将滤波前后的声音输出到扬声器,

进行主观对比,看所设计的带阻滤波器是否能够起到抑制单频正弦波干扰的目的?设计一个带阻滤波器的阶数和滤波效果的关系如何?

1.建立Simulink测试模型

在创建模拟窗口添加各个模块并进行连接,得到测试模型如图(1)所示

图1.音频信号中混杂了一个1000Hz的单频正弦波干扰并滤波

22.模型分析

模型中,话音信号设为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中)。3.测试结果

从喇叭中聆听结果是:5dB抑制度下单频干扰声音仍然明显;15dB抑制度下单频干扰明显减弱,25dB抑制度下单频干扰已经很小了。4.结论分析

以上结果说明:抑制度要求越高,则所需滤波器阶数就越大,对干扰的抑制效果将越好。5.测试模型改进

修改测试模型,使之能够观察滤波前后的频谱情况。修改后的模型如图(2)所示

图2.频谱测试模型

为了使得频谱仪显示两对比频谱不重叠,测试模型中将滤波输出信号衰减了3dB再送入频谱仪。当滤波器带阻抑制度为15dB时,仿真所得功率如图(3)所示。

3图3.滤波器阻带抑制度为15dB时滤波前后的信号功率谱

图中,1000Hz处得线频谱为单频干扰,滤波后,该干扰线谱下降约15dB.(二)干扰为1000Hz方波的梳状滤波器设计要求:将音频信号中混杂的1000Hz的单频正弦波干扰换成1000Hz的方波或三角

波,试设计一个带阻滤波器对其进行滤波。目的:测试带阻滤波器的抑制效果如何?试设计一个梳状滤波器来抑制这样的干

扰,从听觉上对比两者的效果。1.建立Simulink测试模型

在创建模拟窗口添加各个模块并进行连接,得到测试模型如图(4)所示

图4.梳状滤波器抑制谐波干扰的测试模型

2.模型分析

模型中,采用SigualGenerator产生1000Hz的方波或锯齿波,再用UnitDelay模块采样,采样时间间隔为1/8000秒。DigitalFilterDesign模块设计为梳状滤波器模式,其参数设计对话框以及频率响应曲线如图(5)所示。

4图5.梳状滤波器设计参数和频率响应

3.测试结果

执行仿真或滤波输出音频通过喇叭输出,同时保存为wav外文件。Ch3pro6org.wav为加入1000Hz方波干扰后的音频信号,其中干扰声音严重影响了话音质量,而滤波输出Ch3pro6filter.wav中则基本听不出干扰来。4.结论分析

仿真执行中的频谱仪显示如图6所示,显然,输出频谱在1000Hz整数倍频上被抑制了。

图6.梳状滤波器滤波前后的话音功率谱

55.程序仿真

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,8000);%作出H(z)的幅频相频图

>>axis([04000-305])

执行程序ch3prob6.m后,得出所设计的梳状滤波器幅频相频曲线如下图(7)所示,以及其传递函数的分子分母系数num,den。

图7.程序ch3prob6设计得到的梳状滤波器幅频相频曲线

双击DigitalFilterDesign模块图标,在参数设置对话框中选择滤波器参数导入模式,填写分子分母系数分别为num,den,采样率取8000Hz,滤波器结构可任选。DigitalFilterDesign模块的设计参数的导入和频率响应曲线参见图(8)。

6图8.梳状滤波器设计参数的导入和频率响应

按所设置参数及所给程序进行仿真,仿真结果同上。6.纯程序仿真测试

谐波干扰采用1000Hz和3000Hz的正弦波叠加来模拟。程序代码如下:>>%ch3pro6B.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,8000);%作出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*mixed,Fs);

7>>filterout=filter(num,den,mixed);>>sound(filterout,Fs);

>>wavwriter(filterout,Fs,’ch3prob6meth3filterd.wav’)7.程序仿真结果分析

程序执行后,首先从喇叭输出滤波之前的音频信号,可听见较强的谐波干扰声,然后从喇叭输出滤波后的音频,基本听不到谐波干扰声了。程序执行完毕将滤波输出音频信号写入音频文件ch3prob6meth3filterd.wav。五、设计总结

经过一周的课程设计,我对matlab有了较深的认识,它在数学方面,绘图方面都有较庞大的系统,特别这次课程设计的simlink系统的绘图功能让我认识到matlab的功能强大。

Matlab是一个基于矩阵运算的软件,所以在运用的时候,也就是在编程的时候,应该尽可能使用矩阵而不是循环来赋值,否则matlab就不能真正发挥到作用。

设计过程中也遇到了很多问题,主要是对simlink仿真元件库不熟悉造成。这让我充分认识到实践的重要性,特别是各类软件的使用,不能眼高手低,需要将理论与实践结合起来,多练习以达到知识真正为我所用的目的。

课程设计结束了,但是我们学习的过程没有结束,以后的学习中,要以此次设计所暴露的问题和总结出的经验为积淀,不断提高自己的能力。六、参考文献

(1)通信原理第6版国防工业出版社(2)matlab语言程序设计教程中国铁道出版社

8

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务