文档库 最新最全的文档下载
当前位置:文档库 › Simulink系统仿真课程设计

Simulink系统仿真课程设计

Simulink系统仿真课程设计
Simulink系统仿真课程设计

《信息系统仿真课程设计》

课程设计报告

题目信息系统课程设计仿真

院(系): 信息科学与技术工程学院

专业班级:通信工程1003

学生姓名:

学号:

指导教师:吴莉朱忠敏

2012年1 月14 日至2012年1 月25

华朴中科技大学武昌分校制

信息系统仿真课程设计任务书

20 年月日

目录

摘要 (5)

一、Simulink 仿真设计 (6)

1.1 低通抽样定理 (6)

1.2 抽样量化编码 (9)

二、MATLA仿真设计 (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 的正弦波,观察对于同一输入信号在不同的抽样频率时, 恢复信号的不同波形形态。

⑴ 当抽样频率大于信号频率的两倍,(eg:30Hz )

①建立模型;

Sine- Wove

\

mF

Pul*

图1-1抽样仿真框图

孔open

Prod! uEt

dn B |CHQI

-HI :E r L mmi 二宀

bl mkKk P±iid - Wavs

U E ? tbs om^sas-vd Elr-4 if n^aFici&l w^clanz ? i

t::s?£

£. a-VtartZaJff in Alzsa-lL..!a 1 lu, ocEa_r

rafuc^cr:

S IM TTPfli : J Tl?e tased

il

?H4l

图1-3 参数设置

filSUlAl llJl tlH

尸 In T-i&re -: Mrrte*i er!i nn l-B*

Sl| Bllcck PerdmetefK Ptilw

GehflfWUN

I*

壬:

K ET L V

Tizie-z-ased : s 二x ■■:zziren ?二世日 f-nr use

tl 豊

et le- 5t

*

图1-2 F=30HZ抽样及恢复波形

⑵改变抽样频率为信号频率的两(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)。即一个频带限

m(t)

,如果以T

三*秒的间隔对它进行等间隔抽样, 则m(t)将被所得到的抽样值完全确定。

3、 采样信号通过模拟低通滤波器后,将其截止频率设置为 80HZ ,为了接近理想低 通滤波器,将其滤波阶数设置的高一点,信号通过低通滤波器后,除了被滤除阻带上的 高频分量外,幅度还会有衰减,因此还需通过一个增益放大器。

4、 低通巴特沃兹滤波器的阶次要选择适宜,阶次过高或过,输出的信号都有失真 另外,低截止频率不能过大,否则会使多余的谐波通过,也会导致复原的信号失真。

5、 当输入的连续信号仿真时长也会影响信号的波形,仿真是长越短越好,输出的 波形越好。由于计算机处理的信号本质上不是模拟信号,为了更接近模拟信号,就将仿 真时长尽可能的减小,但不可能减少到零,减少到零后的波形也有一定程度上的失真。 1.2抽样量化编码

1) 用一个正弦信号通过一个抽样量化编码器后按照 号,从示波器(Scope )上可以观察到产生的量化误差。 正弦信号为幅度为1,频率为1Hz 的连续时间信号

①建立模型;

图1-6抽样量化编码仿真模块框

制在(0,f H )内的时间连续信号

A 律13折线产生量化输出信

Scopel

scope

.1

图1-7参数设置

图1-8参数设置

皿丁沪

HI ock Kara?

et ers : iSupI e4 Unflnlucodip

g 占 pu ? 耳

VW* *l"r ■ lh* ?■"? tyjii dUBrmi nB ^ th?

ccnjutet 3 c*n.?J. tecIkTtk -QU ^ used The p ti ;~* 1 s i .血 tike tw> 1 KP*s M ~* >r #1B 4 ■

A f-'*K >■?! L v< ■

/ CF J HMUMfi-ar * £vli-kl > h^Hi ?了

IK MI L vr wf wl■ >Th ??? * 匚戶“左■■ ■嘗4. / C2*F i >

IT* H *th? x, KYI p-la - *bniX ■ ■ i UH 1 jrp ? if TLUTI ■ r i E U H. pr o-ibX +mv d !J ■ I* tuATii JWI ^ Iflir la ◎ tio^-a G.. 力甘蛆曰右# i A obtolul 嵋 < I. ? ? "1 C C E-Uf

S-anplcd Qu-uiti ger Encode Gid.sk) O.IX ^E -1

Quant izt w andQg si pal 伽 ⑴ di<3 til 百ipiaL 」(Z)

1 z at 1 QU vftJtaa^ and. (.3 J 住n 五*t ?r 七 1 on b.1 ar-ary ?:anpl b line pcuut.

Th 专 i 理qt cw. ts ci thtr % 二wJa# a nspl 专?、an 常 d vsctur^ or a. ±i _aire~liasBd raw vector. This block processes each *44*tar 41aft4Tt< iftiapaAd^SLlly Fu :'?hfet?rs Qu ?xi Liz nt

呻心 U Mi ;

■"32 ?】/84 ?LHEH H :削 心 和32打" 込 H4 1吃 口

Quan Li z at L on c odeli ook.

[T7 丽-B J P ~-5^ -47F ~-3/3 -?/a -iTT n t/a 2/8 3/E V :

Iftpnt sig^tL vftctar l?icth.

Sanple tint ;

UK

I Csbcel

血凶|

£1*

51T?4 世鼻¥4

口 IE ] Cuixr.l | p

图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-9量化波形

■I Fl

1 .liil—Intege r to Bit

*1-<1 *■■

CCiMTtJrt mixir A.bf n iQijar>ia?i io Bit

奇D nvarlwr

£> I 呼图1-12常数发生器模块参数图1-13限幅器模块参数

分析:1由常数发生器模块产生一个对 2048个量化台阶的归一化的电压,连续信号通 过限幅器将输入信号的幅度限制在 PCM 编码定义的范围[-1 ,1]内,将延迟的门限设置 为0,用来判断输入电平的极性,其输出作为 PCM S 码的极性码。样值取绝对值后,通 过查表模块进行13折线压缩,由于以取绝对值,表格中的值只取13折线第一象限中的 九个分段

VLtcis: Faraaeters : Look -Up I&ble

匿 I Block Far u eters : Gain

Lwk-Up Table

Ptrforn 1*D lin^ur inttrpolLtion of lLput vduts

if.t

ac 3 fi a*l t -thl ?

{-T Lir-apal, ^ii: i HE

parf nir^ 即斗七 *E*dU kTh*

t I'O^id-ur L es.

1 aremet ?rs

I>f lffUiit Willies :

|[0 1/12B t/64 i/32 1/U 1/8 1/41/2 t]

TsCtW ?£ LUtpLLlL

[0 1/0 2/Q 3/a 4/i3 5;e C/C VB 1]

--------------- =""Shiw fldliti Qifll psrsmiterE

Gtin

Elenent^ffi Ee 召匸(* - K .買dr n ati iif ga~ ri & = K 就皿 or y =eK)_

PiJrafKit^E Gain*

Shew tddLtiDLal paxeflieters

UK C&ncal K^Lp

DE

图1-14查表模块参数 图1-15增益参数

图1-16延时器参数 图1-17绝对值参数

Elork FaruetfrE : Qnaiitizer

^uantiztr

liscretict inpit at given, interval.

Qu?nbit 讥iem LDterv^ilr

15

P Triftl ai gkin vihMi LiMirizicif

DE Ctncd felp

图1-18量化器参数

图1-19十进制转二进制参数

Mnltijlicat] cn [Elaiiejil-#] se (Jt,相)

Cm:tl

点的坐标,查表方法为内插法,以便能精确近似,然后用增益模块将样值放大128倍,用间距为1的Quantier进行四舍五入量化,最后将整数编码为7位二进制序列,作为PCM?码的低7位。

2、在设置增益时,增益为127或128时输出的量化电平正确,

二、MATLA仿真设计

2.1、自编程序实现动态卷积

2.1.1编程分析

1) 掌握离散卷积过程:序列倒置——?移位——相乘——?求和;

2) 自编程序实现两个序列的动态卷积。

题目:动态演示序列「=u(n)(0

n f仁1:10;

lf1=le ngth( nf1); %f1 序列长度

f仁on es(1,lf1); %f1 序列

n f2=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 补零

n f3=-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) 设计中有关双线性变换法的子函数。

Bili near

功能:双线性变换——将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

(2) 根据公式-tan(—)进行预修正,将数字滤波器指标转换成模拟滤波器设计指

T 2

标;

(3) 确定模拟滤波器的最小阶数和截止频率;

(4) 计算模拟低通原型滤波器的系统传递函数;

(5) 利用模拟域频率变换法,求解实际模拟滤波器的系统传递函数;

(6) 用双线性变换法将模拟滤波器转换为数字滤波器。

2.2.2采用双线性变换法设计一个巴特沃斯数字低通滤波器,

要求:w p = 0.2 , R P= 1 dB; w s= 0.3 , A s= 15 dB,滤波器采样频率F s= 100 Hz。

2.2.3自编matlab程序

wp=0.2*pi; % 滤波器的通带截止频率

ws=0.3*pi; % 滤波器的阻带截止频率Rp=1;As=15; % 输入滤波器的通阻带衰减指标

ripple=10A(-Rp/20);Att n=10(As/20);

Fs=100;T=1/Fs;

Omgp=(2/T)*tan(wp/2); % 原型通带频率预修正

Omgs=(2/T)*tan(ws/2); % 原型阻带频率预修正

[n,0mgc]=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 仿真波形

二阶环节级联结构的分子分母系数矩阵sos

1 2.018 1.0184 1 -1.0106 0.35827 1 1.9816 0.98194 1 -1.2686 0.70513 增益 g=0.00073782

F P ^1dB , As 三

15dB 由 N=6可知,设计的巴特沃斯 个6阶的系统,原型H (s )在s=- %处有六个零点,

映射到z=-1处。

3、由幅度相应图可看出,通带有富余量,这是由于用最小阻带频率指标计算的结果。

4、计算过程

:

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=1 2.0004 1

1 -0.90437 0.21552

2、由频率特性曲线可知,设计结果在通带截止频率处满足

标要求,系统的极点全部在单位圆内,是一个稳定的系统, 数字低通滤波器是 的设计指

幅度响应(dB)

1 05

6

o *■■护

-1 -0.5 0 0.5

1

R^l Part

e g

225仿真结果分析

X

x /

W=0.2 n R p=1dB Ws=0.3 n As=15dB

Omgp=(2/T)*ta n(wp/2)=200ta n0.1 n =64.9839

Omgs=(2/T)*ta n(ws/2)=200ta n0.15 n =101.9051

入sp= Omgs/Omgp=1.568

如7d0as/10-1)/(10ap/10-1) =10.875

N=lgk sp/lg 入sp=5.3056

N取6

Omgc=Omgs10°.1as-1) -1/2N=76.6229

2 2 2

G=1/(p +0.5176p+1)(p +1.4142p+1)(p +1.9319p+1)

-1 1

P=S/Omgc s=2/T(1-Z )(1+Z )

H(z)= ( 0.0007+ 0.0044^+ 0.0111Z2+ 0.0148z -3+ 0.0111Z4+ 0.0044z-5 +0.0007z-6 )/ (1.0000 -3.1836Z1 +4.6222Z-2 -3.7795z -3 +1.8136z-4 -0.4800N5 +0.0544z-6)

本题所设计的滤波器是一个六阶滤波器,由于MATLAB精度有限,表现的sos有误差,把它们调整到精确值后,滤波器的级连型系统函数应该为

H(z) =0.00073782( 1+z-1)-6 /[(1-0.90437 ^10.21552^2)(1-1.0106 z-1+0.35827 z-2)(1 -1.2686 z-1+0.70513 z2)]

四、总结

通过本次课程设计,我学会了用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.

课程设计成绩评定表

指导教师(签名):

20年月曰

相关文档