1《信息系统仿真课程设计》课程设计报告题目:信息系统课程设计仿真院(系):信息科学与技术工程学院专业班级:通信工程1003学生姓名:学号:指导教师:吴莉朱忠敏2012年1月14日至2012年1月25日华中科技大学武昌分校制2信息系统仿真课程设计任务书一、设计(调查报告/论文)题目MATLAB仿真设计:(1)自编程序实现动态卷积;(2)用双线性变换法设计IIR数字滤波器。Simulink仿真设计:(1)低通抽样定理的实现;(2)抽样量化编码器的设计。二、设计(调查报告/论文)主要内容MATLAB仿真设计:(1)自编程序实现动态卷积:动态演示序列f1=u(n)(0n11)和f2=0.1ne(0n16)的卷积和的过程。(2)用双线性变换法设计IIR数字滤波器:采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:wp=0.2,Rp=1dB;ws=0.3,As=15dB,滤波器采样频率Fs=100Hz。自编程序实现上述滤波器的设计,满足各个参数要求。Simulink仿真设计:(1)低通抽样定理的实现:建立Simulink动态仿真模型,设置模块参数与系统仿真参数,进行系统仿真。对仿真结果进行调试、分析,得出结论。(2)抽样量化编码器的设计:设计一个PCM编码器,当输入一个电平,通过该编码器得到相应的编码输出。三、原始资料电子课件,仿真参考例子。四、要求的设计(调查/论文)成果对于MATLAB仿真设计部分:(1)自编卷积程序要出现动态卷积的过程,并且结果正确;(2)双线性变换法设计的IIR滤波器应满足参数要求,设计结果合理、正确。对于Simulink仿真设计部分:(1)建立Simulink仿真模型完成低通抽样定理的实现;(2)建立Simulink仿真模型仿真完成PCM编码器的设计,调试。当输入一个电平,应得出正确的编码输出。3五、进程安排讲述MATLAB语言及Simulink仿真技术。(2.5天)布置课设任务。(0.5天)Simulink仿真设计。(2.5天)MATLAB仿真设计。(2.5天)验收课程设计结果。(1天)撰写课程设计报告。(1天)六、主要参考资料[1]李贺冰等.Simulink通信仿真教程.北京:国防工业出版社,2006.[2]刘舒帆等.数字信号处理实验(MATLAB版).西安:西安电子科技大学出版社,2008.[3]党宏社.信号与系统实验(MATLAB版).西安:西安电子科技大学出版社,2007.[4]郭文彬等.通信原理——基于Matlab的计算机仿真.北京:北京邮电大学出版社,2006.指导教师(签名):20年月日4目录摘要.....................................5一、Simulink仿真设计....................................61.1低通抽样定理....................................61.2抽样量化编码....................................9二、MATLAB仿真设计...................................122.1、自编程序实现动态卷积.............................122.1.1编程分析.............................122.1.2自编matlab程序:.............................132.1.3仿真图形.................................132.1.4仿真结果分析................................152.2用双线性变换法设计IIR数字滤波器....................152.2.1双线性变换法的基本知识........................152.2.2采用双线性变换法设计一个巴特沃斯数字低通滤波器...162.2.3自编matlab程序..............................162.2.4仿真波形..................................172.2.5仿真结果分析..................................17三、总结............................................19四、参考文献...........................................19五、课程设计成绩.......................................205摘要Matlab是一种广泛应用于工程设计及数值分析领域的高级仿真平台。它功能强大、简单易学、编程效率高,目前已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。本次课程设计主要包括MATLAB和SIMULINKL两个部分。首先利用SIMULINKL实现了连续信号的采样及重构,通过改变抽样频率来实现过采样、等采样、欠采样三种情况来验证低通抽样定理,绘出原始信号、采样信号、重构信号的时域波形图。然后利用SIMULINKL实现抽样量化编码,首先用一连续信号通过一个抽样量化编码器按照A律13折线进量化行,观察其产生的量化误差,其次利用折线近似的PCM编码器对一连续信号进行编码。最后利用MATLAB进行仿真设计,通过编程,在编程环境中对程序进行调试,实现动态卷积以及双线性变换法设计IIR数字滤波器。本次课程设计加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,并锻炼分析问题和解决问题的能力。6一、Simulink仿真设计1.1低通抽样定理输入信号为频率为10Hz的正弦波,观察对于同一输入信号在不同的抽样频率时,恢复信号的不同波形形态。(1)当抽样频率大于信号频率的两倍,(eg:30Hz)①建立模型;图1-1抽样仿真框图图1-3参数设置7图1-2F=30HZ抽样及恢复波形(2)改变抽样频率为信号频率的两(eg:20Hz)图1-4F=20HZ的抽样及恢复波形(3)改变抽样频率小于信号频率的两倍(eg:5Hz)图1-5F=5HZ的抽样及恢复波形8分析:1、由仿真图可知当抽样频率大于或等于被抽样信号频率的2倍时,抽样输出通过模拟低通滤波器能够恢复出被抽样信号;当抽样频率小于被抽样信号频率的2倍,模拟低通滤波器的输出波形的形状已失真,即不能恢复出原始信号。2、验证抽样定理,即一个频带限制在0~f内的连续信号m(t),如果取样速率Fs大于或等于2f,则可以由抽样值序列{m(nTs)}无失真地重建原始信号m(t)。即一个频带限制在(0,Hf)内的时间连续信号()mt,如果以T≤Hf21秒的间隔对它进行等间隔抽样,则()mt将被所得到的抽样值完全确定。3、采样信号通过模拟低通滤波器后,将其截止频率设置为80HZ,为了接近理想低通滤波器,将其滤波阶数设置的高一点,信号通过低通滤波器后,除了被滤除阻带上的高频分量外,幅度还会有衰减,因此还需通过一个增益放大器。4、低通巴特沃兹滤波器的阶次要选择适宜,阶次过高或过,输出的信号都有失真另外,低截止频率不能过大,否则会使多余的谐波通过,也会导致复原的信号失真。5、当输入的连续信号仿真时长也会影响信号的波形,仿真是长越短越好,输出的波形越好。由于计算机处理的信号本质上不是模拟信号,为了更接近模拟信号,就将仿真时长尽可能的减小,但不可能减少到零,减少到零后的波形也有一定程度上的失真。1.2抽样量化编码1)用一个正弦信号通过一个抽样量化编码器后按照A律13折线产生量化输出信号,从示波器(Scope)上可以观察到产生的量化误差。正弦信号为幅度为1,频率为1Hz的连续时间信号。①建立模型;图1-6抽样量化编码仿真模块框9图1-7参数设置图1-8参数设置10图1-9量化波形图1-10量化误差分析:1、正弦信号通过一个抽样量化编码器后按照A律13折线产生量化输出信号,从示波器(scope)上可以观察到产生的量化误差,为了比较量化之前和之后的正弦信号,正弦信号产生器和抽样量化编码器的第2个输出端口的输出信号通过一个复用器连接到示波器1(scope1)2、抽样量化编码器用于产生1A律3折线,它把正弦信号产生器产生的正弦信号转换成量化信号,并且计算这个过程中产生的量化噪声。抽样量化编码的参数设置如下:quantizationpartition设置为[-1/2-1/4-1/8-1/16-1/32-1/64-1/12801/1281/641/321/161/81/41/21]3、示波器运行结果,图中平滑曲线是表示抽样之前的正弦信号,折线表示通过抽样量化编码之后的信号。可以看到,抽样量化之后的信号与原来的连续信号之间存在一定的量化误差,示波器1运行结果,从中可以看出抽样量化产生的量化误差。1.3设计一个13折线近似的PCM编码器,设计一个13折线近似的PCM编码器使它能够对取值在[-1,1]内的归一化信号样值进行编码。(eg:当输入为843,输出编码应为11101010)图1-1113折线PCM编码器模型模型图1-12常数发生器模块参数图1-13限幅器模块参数11图1-14查表模块参数图1-15增益参数图1-16延时器参数图1-17绝对值参数图1-18量化器参数图1-19十进制转二进制参数分析:1由常数发生器模块产生一个对2048个量化台阶的归一化的电压,连续信号通过限幅器将输入信号的幅度限制在PCM编码定义的范围[-1,1]内,将延迟的门限设置为0,用来判断输入电平的极性,其输出作为PCM编码的极性码。样值取绝对值后,通12过查表模块进行13折线压缩,由于以取绝对值,表格中的值只取13折线第一象限中的九个分段点的坐标,查表方法为内插法,以便能精确近似,然后用增益模块将样值放大128倍,用间距为1的Quantier进行四舍五入量化,最后将整数编码为7位二进制序列,作为PCM编码的低7位。2、在设置增益时,增益为127或128时输出的量化电平正确,二、MATLAB仿真设计2.1、自编程序实现动态卷积2.1.1编程分析1)掌握离散卷积过程:序列倒置移位相乘求和;2)自编程序实现两个序列的动态卷积。题目:动态演示序列f1=u(n)(0n11)和f2=0.1ne(0n16)的卷积和的过程。2.1.2自编matlab程序:clear;clc;%清除数据区,指令区nf1=1:10;lf1=length(nf1);%f1序列长度f1=ones(1,lf1);%f1序列nf2=1:15;lf2=length(nf2);%f2长度f2=exp(-0.1.*nf2);%f2序列f3=fliplr(f2);%f2翻转h=[zeros(1,lf2+1),f2,zeros(1,lf1-1)];%f2补零u=[zeros(1,lf2+1),f1,zeros(1,lf2-1)];%f1补零nf3=-lf2:lf1+lf2-1;%求卷积fork=0:lf1+lf2%卷积的动态显示过程p=[zeros(1,k),f3,zeros(1,lf1+lf2-k)];%序列补零并且进行循环移位y1=p.*u;%求乘积yk=sum(y1);%各点之和,即一个点卷积结果y(k+1)=yk;%将卷积结果存入y序列z=[zeros(1,lf2-1),y,zeros(1,lf2+lf1-k)];%y序列进行补零后的卷积序列%绘图subplot(5,1,1);stem(nf3,u,'filled');title('u(n)');ylabel('u(n)');subplot(5,1,2);stem(nf3,h,'filled');title('h(n)');ylabel('h(n)');subplot(5,1,3);stem(nf3,p,'filled');title('翻转