资源描述
Simulink系统仿真课程设计
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
《信息系统仿真课程设计》
课程设计报告
题 目: 信息系统课程设计仿真
院 (系): 信息科学与技术工程学院
专业班级: 通信工程 1003
学生姓名:
学 号:
指导教师: 吴莉 朱忠敏
2012 年 1 月 14 日至2012 年 1 月 25 日
华中科技大学武昌分校制
信息系统仿真课程设计任务书
一、设计(调查报告/论文)题目
MATLAB仿真设计:(1)自编程序实现动态卷积;(2)用双线性变换法设计IIR数字滤波器。
Simulink仿真设计:(1)低通抽样定理的实现;(2)抽样量化编码器的设计。
二、设计(调查报告/论文)主要内容
MATLAB仿真设计:
(1)自编程序实现动态卷积:动态演示序列f1=u(n)(0<n<11)和f2=(0<n〈16)的卷积和的过程。
(2)用双线性变换法设计IIR数字滤波器:采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:wp=0.2,Rp=1 dB;ws=0。3,As=15 dB,滤波器采样频率Fs=100 Hz。自编程序实现上述滤波器的设计,满足各个参数要求。
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-3 参数设置
图1—2 F=30HZ抽样及恢复波形
(2) 改变抽样频率为信号频率的两(eg:20Hz)
图1-4 F=20HZ的抽样及恢复波形
(3) 改变抽样频率小于信号频率的两倍(eg:5Hz)
图1—5 F=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—6 抽样量化编码仿真模块框
图1—7 参数设置
图1—8 参数设置
图1—9 量化波形 图1-10 量化误差
分析:1、正弦信号通过一个抽样量化编码器后按照A律13折线产生量化输出信号,从示波器(scope)上可以观察到产生的量化误差,为了比较量化之前和之后的正弦信号,正弦信号产生器和抽样量化编码器的第2个输出端口的输出信号通过一个复用器连接到示波器1(scope1)
2、抽样量化编码器用于产生1A律3折线,它把正弦信号产生器产生的正弦信号转换成量化信号,并且计算这个过程中产生的量化噪声.抽样量化编码的参数设置如下:
quantization partition设置为[ -1/2 —1/4 -1/8 —1/16 -1/32 —1/64 —1/128 0 1/128 1/64 1/32 1/16 1/8 1/4 1/2 1]
3、示波器运行结果,图中平滑曲线是表示抽样之前的正弦信号,折线表示通过抽样量化编码之后的信号.可以看到,抽样量化之后的信号与原来的连续信号之间存在一定的量化误差,示波器1运行结果,从中可以看出抽样量化产生的量化误差。
1。3 设计一个13折线近似的PCM编码器,
设计一个13折线近似的PCM编码器使它能够对取值在[—1,1]内的归一化信号样值进行编码。(eg:当输入为843,输出编码应为11101010)
图1-11 13折线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〈n<11)和f2=(0〈n<16)的卷积和的过程.
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;
%求卷积
for k=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)’);
if k==0 disp(’开始卷积'),pause;
End
If k==1f1+1 disp/(‘暂停'),pause;
Else pause(0.5)
End
end
2.1.3 仿真图形
图2—2 卷积动态
2。1.4仿真结果分析:
1、 卷积后的结果0 0 0。90484 1。7236 2.4644 3.1347 3.7412 4.29 4.7866 5。236 5.6425 6。0104 5。4384 4.9209 3。6455 3.0967 2。6001 2。1508 1.7442 1.3763 1。0435 0/74226 0。46973 0.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=1 dB;ws=0.3,As=15 dB,滤波器采样频率Fs=100 Hz。
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。0007 0.0044 0。0111 0.0148 0。0111 0。0044 0。0007
分母系数ad 1。0000 -3.1836 4。6222 -3。7795 1.8136 -0.4800 0.0544
二阶环节级联结构的分子分母系数矩阵sos
Sos=1 2。0004 1 1 -0.90437 0.21552
1 2.018 1。0184 1 -1。0106 0。35827
1 1。9816 0。98194 1 -1。2686 0.70513
增益g=0。00073782
2、 由频率特性曲线可知,设计结果在通带截止频率处满足Rp≦1dB ,As≧15dB 的设计指标要求,系统的极点全部在单位圆内,是一个稳定的系统,由N=6可知,设计的巴特沃斯数字低通滤波器是一个6阶的系统,原型H(s)在s=-∞处有六个零点,映射到z=—1处。
3、 由幅度相应图可看出,通带有富余量,这是由于用最小阻带频率指标计算的结果。
4、计算过程:
Wp=0。2π Rp=1dB Ws=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/Omgc s=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。90437 z—10.21552z—2)(1-1。0106 z—1+0.35827 z—2)(1 —1。2686 z-1+0。70513 z—2)]
四、总结
通过本次课程设计,我学会了用Simulink建模的方法和调试过程,验证了低通抽样定理,实现PCM编码及13折线量化,通过MATLAB实现卷积过程的动态,实现用双线性变换法设计IIR数字滤波器。学会了用simulink建立模型来完成仿真过程,全新的接触了另外一种结合书本学习的方法,通过建立模型后对其参数进行设置,得到我们所需的结果,在接受MATLAB后,另外一种编程完成仿真过程,通过对程序的不断调试和更改,最后完成了本次课设的任务.
了解了仿真技术与通信仿仿真的基本概念,知道了仿真的基本步骤和应该注意的问题,对simulink中的模块的基本了解及其作用,然后对MATLAB工作环境的认知,本次课程设计需要掌握通信原理和数字信号处理的理论知识,通过老师的讲解及到图书馆查阅各种有关的资料,掌握了利用simulink来建模实现抽样定理及13折线编码,建模锻炼了我的动手和独立思考的能力。学会了利用MATLAB进行双线性变换法设计FIR数字低通滤波器,在进行编程和调试的过程会遇到各种各样的问题,通过自己的思考,向同学老师请教逐次解决。通过本次课程设计,加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,锻炼了我的分析问题和解决问题的能力,同时培养良好的独立工作习惯和科学素质,初步掌握了MATALB的使用为今后的学习打下良好的基础。
五、 参考文献
[1] 李贺冰等。Simulink通信仿真教程。北京:国防工业出版社,2006.
[2] 刘舒帆等。数字信号处理实验(MATLAB版)。西安:西安电子科技大学出版社,2008。
[3] 党宏社。信号与系统实验(MATLAB版).西安:西安电子科技大学出版社,2007。
[4] 郭文彬等。通信原理——基于Matlab的计算机仿真.北京:北京邮电大学出版社,2006.
课程设计成绩评定表
成
绩
评
定
项 目
比例
得 分
平时成绩(百分制记分)
30%
业务考核成绩(百分制记分)
70%
总评成绩(百分制记分)
100%
评定等级
优 良 中 及格 不及格
指导教师(签名):
20 年 月 日
23
展开阅读全文