资源描述
仅供个人参考
课程设计任务书
设计题目
设
计
For
personal
use only in
study and
research;
not for
commercial
use
Matlab/Simulink 系统建模与仿真
1.认真学习并熟练掌握 Matlab/Simulink 软件的应用及仿真。
2.按照题目 1 给出的要求建立起 Simulink 模型, 并进行仿真, 仿真
完成后,可以由 MATLAB 命令可以得出输出信号波形。
3.按照题目2 给出的要求, 建立起系统的 Simulink 仿真模型, 并绘
制出滤波前后频谱波形。
要 求
不得用于商业用途
工 作 计 划
仅供个人参考
不得用于商业用途
查询资料,下载相关软件并正确安装。
学习相关软件,并按要求进行模型设计,应用相关软件进 行仿真。
检查仿真结果并提交完成好的设计报告。
指导老师:
教研室主任:
电子信息课程设计
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\Signal Properties。传递:选择信 号线并双击,在标签编辑框中键入<>,并在该尖括号内键入信号 标签即可。
四、建立模型
(一) 干扰为 1000Hz 单频正弦波的带阻滤波器设计
要求: 设一段音频信号中混杂了一个 1000Hz 的单频正弦波干扰,试设计一个带
阻滤波器对其进行滤波。
目的: 观察滤波前后的频谱变化,并通过声卡将滤波前后的声音输出到扬声器,
不得用于商业用途
仅供个人参考
进行主观对比, 看所设计的带阻滤波器是否能够起到抑制单频正弦波干扰 的目的?设计一个带阻滤波器的阶数和滤波效果的关系如何?
1.建立 Simulink 测试模型
在创建模拟窗口添加各个模块并进行连接,得到测试模型如图(1)所示
图 1.音频信号中混杂了一个 1000Hz 的单频正弦波干扰并滤波
2.模型分析
模型中,话音信号设为 8000Hz 采样率的,从外部 wav 文件读入。 1000Hz 的 单频正弦波采用信号处理箱中离散正弦波发生模型 Sine Wave 产生, 幅度为 1V。 Buffer 模型实现音频数据串行化,以便同单频干扰相叠加。
采用 Digital Filter Design 模型设计带阻滤波器对单频干扰进行滤波, 针对 1000Hz 信号, 带阻滤波器的中心阻带频率设置为[950,1050],两端通带频率 点分别为 700Hz 和 1300Hz。阻带抑制度分别为 5dB,15dB 和 25dB,采用切比雪夫 1 型。 Digital Filter Design 模块设计出来对应的滤波器阶数分别为 2,4,6 阶。 分别用这三种阻带抑制度下的滤波器对信号进行滤波,从喇叭中聆听滤波结果 ( 分 别 保 存 在 wav 文 件 :ch3prob5filter5dBdepress.wav, ch3prob5filter15dBdepress.wav, ch3prob5filter25dBdepress.wav 中)。
3.测试结果
从喇叭中聆听结果是: 5dB 抑制度下单频干扰声音仍然明显; 15dB 抑制度下 单频干扰明显减弱, 25dB 抑制度下单频干扰已经很小了。
4.结论分析
以上结果说明:抑制度要求越高,则所需滤波器阶数就越大,对干扰的抑 制效果将越好。
5.测试模型改进
修改测试模型,使之能够观察滤波前后的频谱情况。修改后的模型如图(2) 所示
不得用于商业用途
仅供个人参考
图 2.频谱测试模型
为了使得频谱仪显示两对比频谱不重叠,测试模型中将滤波输出信号衰减了 3dB 再送入频谱仪。当滤波器带阻抑制度为 15dB 时, 仿真所得功率如图(3)所 示。
图 3.滤波器阻带抑制度为 15dB 时滤波前后的信号功率谱
图中, 1000Hz 处得线频谱为单频干扰,滤波后,该干扰线谱下降约 15dB.
(二)干扰为 1000Hz 方波的梳状滤波器设计
要求: 将音频信号中混杂的 1000Hz 的单频正弦波干扰换成 1000Hz 的方波或三角
不得用于商业用途
仅供个人参考
波,试设计一个带阻滤波器对其进行滤波。
目的:测试带阻滤波器的抑制效果如何?试设计一个梳状滤波器来抑制这样的干 扰,从听觉上对比两者的效果。
1.建立 Simulink 测试模型
在创建模拟窗口添加各个模块并进行连接,得到测试模型如图( 4)所示
图 4.梳状滤波器抑制谐波干扰的测试模型
2.模型分析
模型中,采用Sigual Generator 产生 1000Hz 的方波或锯齿波,再用 Unit Delay 模块采样,采样时间间隔为 1/8000 秒。 Digital Filter Design 模块设计为梳状滤波 器模式,其参数设计对话框以及频率响应曲线如图(5)所示。
不得用于商业用途
仅供个人参考
图 5.梳状滤波器设计参数和频率响应
3.测试结果
执行仿真或滤波输出音频通过喇叭输出,同时保存为 wav 外文件。
Ch3pro6org.wav 为加入 1000Hz 方波干扰后的音频信号,其中干扰声音严重影响 了话音质量,而滤波输出 Ch3pro6filter.wav 中则基本听不出干扰来。
4. 结论分析
仿真执行中的频谱仪显示如图 6 所示,显然,输出频谱在 1000Hz 整数倍频 上被抑制了。
图 6.梳状滤波器滤波前后的话音功率谱
5.程序仿真
Simulink 模型不变,所不同的是Digital Filter Design 模块的配置。这里先 用编程方法设计出梳状滤波器传递函数的分子分母系数来,然后导入到 Digital Filter Design 模块中。
编程法设计梳状滤波器程序如下:
>> % 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([0 4000 -30 5])
执行程序 ch3prob6.m 后,得出所设计的梳状滤波器幅频相频曲线如下图(7) 所 示 , 以 及 其 传 递 函 数 的 分 子 分 母 系 数 num,den 。
不得用于商业用途
仅供个人参考
图 7.程序 ch3prob6 设计得到的梳状滤波器幅频相频曲线
双击 Digital Filter Design 模块图标,在参数设置对话框中选择滤波器 参数导入模式, 填写分子分母系数分别为 num, den, 采样率取 8000Hz,滤波器结 构可任选。 Digital Filter Design 模块的设计参数的导入和频率响应曲线参见 图(8)。
不得用于商业用途
仅供个人参考
图 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'); >> freqz(num,den,4000,8000); >>Axis([0 4000 -5 1]);
%采样率
%梳状滤波器开槽基频率
%归一化开槽带宽
% 计算开槽带宽位置处的衰减分贝
%计算滤波器阶数
%计算 H(z)
%作出H(z)的幅频相频图
>>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);
>>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 语言程序设计教程 中国铁道出版社
不得用于商业用途
仅供个人参考
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.
Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden. Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.
только для людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях .
以下无正文
不得用于商业用途
展开阅读全文