Simulink系统仿真课程设计.docx
- 文档编号:3973336
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:20
- 大小:619.74KB
Simulink系统仿真课程设计.docx
《Simulink系统仿真课程设计.docx》由会员分享,可在线阅读,更多相关《Simulink系统仿真课程设计.docx(20页珍藏版)》请在冰豆网上搜索。
Simulink系统仿真课程设计
《信息系统仿真课程设计》
课程设计报告
题目:
信息系统课程设计仿真
院(系):
信息科学与技术工程学院
专业班级:
通信工程1003
学生姓名:
学号:
指导教师:
吴莉朱忠敏
2012年1月14日至2012年1月25日
华中科技大学武昌分校制
信息系统仿真课程设计任务书
一、设计(调查报告/论文)题目
MATLAB仿真设计:
(1)自编程序实现动态卷积;
(2)用双线性变换法设计IIR数字滤波器。
Simulink仿真设计:
(1)低通抽样定理的实现;
(2)抽样量化编码器的设计。
二、设计(调查报告/论文)主要内容
MATLAB仿真设计:
(1)自编程序实现动态卷积:
动态演示序列f1=u(n)(0 (0 (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编码器的设计,调试。 当输入一 个电平,应得出正确的编码输出。 五、进程安排 讲述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年月日 摘要.....................................5 一、Simulink仿真设计....................................6 1.1低通抽样定理....................................6 1.2抽样量化编码....................................9 二、MATLAB仿真设计...................................12 2.1、自编程序实现动态卷积.............................12 2.1.1编程分析.............................12 2.1.2自编matlab程序: .............................13 2.1.3仿真图形.................................13 2.1.4仿真结果分析................................15 2.2用双线性变换法设计IIR数字滤波器....................15 2.2.1双线性变换法的基本知识........................15 2.2.2采用双线性变换法设计一个巴特沃斯数字低通滤波器...16 2.2.3自编matlab程序..............................16 2.2.4仿真波形..................................17 2.2.5仿真结果分析..................................17 三、总结............................................19 四、参考文献...........................................19 五、课程设计成绩.......................................20 摘要 Matlab是一种广泛应用于工程设计及数值分析领域的高级仿真平台。 它功能强大、简单易学、编程效率高,目前已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。 本次课程设计主要包括MATLAB和SIMULINKL两个部分。 首先利用SIMULINKL实现了连续信号的采样及重构,通过改变抽样频率来实现过采样、等采样、欠采样三种情况来验证低通抽样定理,绘出原始信号、采样信号、重构信号的时域波形图。 然后利用SIMULINKL实现抽样量化编码,首先用一连续信号通过一个抽样量化编码器按照A律13折线进量化行,观察其产生的量化误差,其次利用折线近似的PCM编码器对一连续信号进行编码。 最后利用MATLAB进行仿真设计,通过编程,在编程环境中对程序进行调试,实现动态卷积以及双线性变换法设计IIR数字滤波器。 本次课程设计加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,并锻炼分析问题和解决问题的能力。 一、Simulink仿真设计 1.1低通抽样定理 输入信号为频率为10Hz的正弦波,观察对于同一输入信号在不同的抽样频率时,恢复信号的不同波形形态。 (1)当抽样频率大于信号频率的两倍,(eg: 30Hz) 1建立模型; 图1-1抽样仿真框图 图1-3参数设置 图1-2F=30HZ抽样及恢复波形 (2)改变抽样频率为信号频率的两(eg: 20Hz) 图1-4F=20HZ的抽样及恢复波形 (3)改变抽样频率小于信号频率的两倍(eg: 5Hz) 图1-5F=5HZ的抽样及恢复波形 分析: 1、由仿真图可知当抽样频率大于或等于被抽样信号频率的2倍时,抽样输出通过模拟低通滤波器能够恢复出被抽样信号;当抽样频率小于被抽样信号频率的2倍,模拟低通滤波器的输出波形的形状已失真,即不能恢复出原始信号。 2、验证抽样定理,即一个频带限制在0~f内的连续信号m(t),如果取样速率Fs大于或等于2f,则可以由抽样值序列{m(nTs)}无失真地重建原始信号m(t)。 即一个频带限制在(0, )内的时间连续信号 ,如果以T≤ 秒的间隔对它进行等间隔抽样,则 将被所得到的抽样值完全确定。 3、采样信号通过模拟低通滤波器后,将其截止频率设置为80HZ,为了接近理想低通滤波器,将其滤波阶数设置的高一点,信号通过低通滤波器后,除了被滤除阻带上的高频分量外,幅度还会有衰减,因此还需通过一个增益放大器。 4、低通巴特沃兹滤波器的阶次要选择适宜,阶次过高或过,输出的信号都有失真另外,低截止频率不能过大,否则会使多余的谐波通过,也会导致复原的信号失真。 5、当输入的连续信号仿真时长也会影响信号的波形,仿真是长越短越好,输出的波形越好。 由于计算机处理的信号本质上不是模拟信号,为了更接近模拟信号,就将仿真时长尽可能的减小,但不可能减少到零,减少到零后的波形也有一定程度上的失真。 1.2抽样量化编码 1)用一个正弦信号通过一个抽样量化编码器后按照A律13折线产生量化输出信号,从示波器(Scope)上可以观察到产生的量化误差。 正弦信号为幅度为1,频率为1Hz的连续时间信号。 1建立模型; 图1-6抽样量化编码仿真模块框 图1-7参数设置 图1-8参数设置 图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限幅器模块参数 图1-14查表模块参数图1-15增益参数 图1-16延时器参数图1-17绝对值参数 图1-18量化器参数图1-19十进制转二进制参数 分析: 1由常数发生器模块产生一个对2048个量化台阶的归一化的电压,连续信号通过限幅器将输入信号的幅度限制在PCM编码定义的范围[-1,1]内,将延迟的门限设置为0,用来判断输入电平的极性,其输出作为PCM编码的极性码。 样值取绝对值后,通过查表模块进行13折线压缩,由于以取绝对值,表格中的值只取13折线第一象限中的九个分段点的坐标,查表方法为内插法,以便能精确近似,然后用增益模块将样值放大128倍,用间距为1的Quantier进行四舍五入量化,最后将整数编码为7位二进制序列,作为PCM编码的低7位。 2、在设置增益时,增益为127或128时输出的量化电平正确, 二、MATLAB仿真设计 2.1、自编程序实现动态卷积 2.1.1编程分析 1)掌握离散卷积过程: 序列倒置移位相乘求和; 2)自编程序实现两个序列的动态卷积。 题目: 动态演示序列f1=u(n)(0 (0 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('翻转移位');ylabel('h(n-k)'); subplot(5,1,4);stem(nf3,y1,'filled');title('乘积');ylabel('u(n)*h(n)'); subplot(5,1,5);stem(nf3,z,'filled');title('卷积结果');ylabel('y(n)'); ifk==0disp('开始卷积'),pause; End Ifk==1f1+1disp/(‘暂停’),pause; Elsepause(0.5) End end 2.1.3仿真图形 图2-2卷积动态 2.1.4仿真结果分析: 1、卷积后的结果000.904841.72362.46443.13473.74124.294.78665.2365.64256.01045.43844.92093.64553.09672.60012.15081.74421.37631.04350/742260.469730.22313 2、u(n)的长度为10,h(n)的长度为15,卷积后的长度Ny=Nu+Nh-1=24.有图分析知,y(n)的长度为24点,满足卷积定理。 2.2用双线性变换法设计IIR数字滤波器 2.2.1双线性变换法的基本知识 1)双线性变换法是将整个s平面映射到整个z平面,其映射关系为 双线性变换法克服了脉冲响应不变法从s平面到z平面的多值映射的缺点,消除了频谱混叠现象。 但其在变换过程中产生了非线性的畸变,在设计IIR数字滤波器的过程中需要进行一定的预修正。 2)设计中有关双线性变换法的子函数。 Bilinear 功能: 双线性变换——将s域(模拟域)映射到z域(数字域)的标准方法,将模拟滤波器变换成离散等效滤波器。 调用格式: [numd,dend]=bilinear(num,den,Fs);将模拟域传递函数变换为数字域传递函数,Fs为取样频率。 [numd,dend]=bilinear(num,den,Fs,Fp);将模拟域传递函数变换为数字域传递函数,Fs为取样频率,Fp为通带截止频率。 [zd,pd,kd]=bilinear(z,p,k,Fs);将模拟域零极点增益系数变换到数字域,Fs为取样频率。 [zd,pd,kd]=bilinear(z,p,k,Fs,Fp);将模拟域零极点增益系数变换到数字域,Fs为取样频率,Fp为通带截止频率。 [Ad,Bd,Cd,Dd]=bilinear(A,B,C,D,Fs);将模拟域状态变量系数变换到数字域,Fs为取样频率。 3)用MATLAB双线性变换法进行IIR数字滤波器设计的步骤: (1)输入给定的数字滤波器设计指标; (2)根据公式 进行预修正,将数字滤波器指标转换成模拟滤波器设计指标; (3)确定模拟滤波器的最小阶数和截止频率; (4)计算模拟低通原型滤波器的系统传递函数; (5)利用模拟域频率变换法,求解实际模拟滤波器的系统传递函数; (6)用双线性变换法将模拟滤波器转换为数字滤波器。 2.2.2采用双线性变换法设计一个巴特沃斯数字低通滤波器, 要求: wp=0.2 ,Rp=1dB;ws=0.3 ,As=15dB,滤波器采样频率Fs=100Hz。 2.2.3自编matlab程序 wp=0.2*pi;%滤波器的通带截止频率 ws=0.3*pi;%滤波器的阻带截止频率 Rp=1;As=15;%输入滤波器的通阻带衰减指标 ripple=10^(-Rp/20);Attn=10^(-As/20); Fs=100;T=1/Fs; Omgp=(2/T)*tan(wp/2);%原型通带频率预修正 Omgs=(2/T)*tan(ws/2);%原型阻带频率预修正 [n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s');%计算阶数n和3dB截止频率 [z0,p0,k0]=buttap(n);%归一化原型设计 ba=k0*real(poly(z0));%求原型滤波器系数b aa=real(poly(p0));%求原型滤波器系数a [ba1,aa1]=lp2lp(ba,aa,Omgc);%变换为模拟低通滤波器系数b,a [bd,ad]=bilinear(ba1,aa1,Fs)%用双线性变换法求数字滤波器系数b,a [sos,g]=tf2sos(bd,ad);%由直接型变换为级联型 [H,w]=freqz(bd,ad); dbH=20*log10((abs(H)+eps)/max(abs(H)));%化为分贝值 subplot(2,2,1),plot(w/pi,abs(H)); ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]); set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]); set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid subplot(2,2,2),plot(w/pi,angle(H)/pi); ylabel('\phi');title('相位响应');axis([0,1,-1,1]); set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]); set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid subplot(2,2,3),plot(w/pi,dbH);title('幅度响应(dB)'); ylabel('dB');xlabel('频率(\pi)');axis([0,1,-40,5]); set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]); set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0]);grid subplot(2,2,4),zplane(bd,ad); 2.2.4仿真波形 2.2.5仿真结果分析 1、滤波器阶数n=6,3dB截止频率Omgc=76.623. 分子系数bd=0.00070.00440.01110.01480.01110.00440.0007 分母系数ad1.0000-3.18364.6222-3.77951.8136-0.48000.0544 二阶环节级联结构的分子分母系数矩阵sos Sos=12.000411-0.904370.21552 12.0181.01841-1.01060.35827 11.98160.981941-1.26860.70513 增益g=0.00073782 2、由频率特性曲线可知,设计结果在通带截止频率处满足Rp≦1dB,As≧15dB的设计指标要求,系统的极点全部在单位圆内,是一个稳定的系统,由N=6可知,设计的巴特沃斯数字低通滤波器是一个6阶的系统,原型H(s)在s=-∞处有六个零点,映射到z=-1处。 3、由幅度相应图可看出,通带有富余量,这是由于用最小阻带频率指标计算的结果。 4、计算过程: Wp=0.2πRp=1dBWs=0.3πAs=15dB Omgp=(2/T)*tan(wp/2)=200tan0.1π=64.9839 Omgs=(2/T)*tan(ws/2)=200tan0.15π=101.9051 λsp=Omgs/Omgp=1.568 Ksp= =10.875 N=lgksp/lgλsp=5.3056 N取6 Omgc=Omgs(100.1as-1)-1/2N=76.6229 Gp=1/(p2+0.5176p+1)(p2+1.4142p+1)(p2+1.9319p+1) P=S/Omgcs=2/T(1-Z-1)(1+Z1) H(z)=(0.0007+0.0044z-1+0.0111z-2+0.0148z-3+0.0111z-4+0.0044z-5+0.0007z-6)/ (1.0000-3.1836z-1+4.6222z-2-3.7795z-3+1.8136z-4-0.4800z-5+0.0544z-6) 本题所设计的滤波器是一个六阶滤波器,由于MATLAB精度有限,表现的sos有误差,把它们调整到精确值后,滤波器的级连型系统函数应该为 H(z)=0.00073782(1+z-1)-6/[(1-0.90437z-10.21552z-2)(1-1.0106z-1+0.35827z-2)(1-1.2686z-1+0.70513z-2)] 四、总结 通过本次课程设计,我学会了用Simulink建模的方法和调试过程,验证了低通抽样定理,实现PCM编码及13折线量化,通过MATLAB实现卷积过程的动态,实现用双线性变换法设计IIR数字滤波器。 学会了用simulink建立模型来完成仿真过程,全新的接触了另外一种结合书本学习的方法,通过建立模型后对其参数进行设置,得到我们所需的结果,在接受MATLAB后,另外一种编程完成仿真过程,通过对程序的不断调试和更改,最后完成了本次课设的任务。 了解了仿真技术与通信仿仿真的基本概念,知道了仿真的基本步骤和应该注意的问题,对simulink中的模块的基本了解及其作用,然后对MATLAB工作环境的认知,本次课程设计需要掌握通信原理和数字信号处理的理论知识,通过老师的讲解及到图书馆查阅各种有关的资料,掌握了利用simulink来建模实现抽样定理及13折线编码,建模锻炼了我的动手和独立思考的能力。 学会了利用MATLAB进行双线性变换法设计FIR数字低通滤波器,在进行编程和调试的过程会遇到各种各样的问题,通过自己的思考,向同学老师请教逐次解决。 通过本次课程设计,加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,锻炼了我的分析问题和解决问题的能力,同时培养良好的独立工作习惯和科学素质,初步掌握了MATALB的使用为今后的学习打下良好的基础。 5、参考文献 [1]李贺冰等.Simulink通信仿真教程.北京: 国防工业出版社,2006. [2]刘舒帆等.数字信号处理实验(MATLAB版).西安: 西安电子科技大学出版社,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Simulink 系统 仿真 课程设计