通信系统仿真 基于MATLAB汉明码仿真课程设计

通信系统仿真 基于MATLAB汉明码仿真课程设计
通信系统仿真 基于MATLAB汉明码仿真课程设计

摘要

在通信系统中,要提高信息传输的有效性,我们将信源的输出经过信源编码用较少的符号来表达信源消息,这些符号的冗余度很小,效率很高,但对噪声干扰的抵抗能力很弱。汉明码(Hamming Code)是一种能够自动检测并纠正一位错码的线性纠错码,即SEC(Single Error Correcting)码,用于信道编码与译码中,提高通信系统抗干扰的能力。

为了提高信息传输的准确性,我们引进了差错控制技术。而该技术采用可靠的,有效的信道编码方法来实现的。纠错码是一种差错控制技术,目前已广泛应用于各种通信系统和计算机系统中,纠错编码主要用于数字系统的差错控制,对于保证通信、存储、媒体播放和信息转移等数字传递过程的质量有着重要意义,是通信、信息类科知识结构中不可缺少的一部分。本文系统地介绍了纠错码在数字系统中的应用和发展,以及纠错码的基本原理和含义,常用纠错码的简介和分类,主要利用MATLAB中通信系统仿真模型库进行汉明码建模仿真,并调用通信系统功能函数进行编程,绘制时域波形曲线图。在此基础上,对汉明码的性能进行分析,得出结论。

关键字:通信系统、MATLAB、线性分组码、Hamming码

目录

一、引言 (1)

二、设计原理 (2)

2、1 汉明码的构造原理 (2)

2、2 汉明码的纠错原理 (3)

2、3 监督矩阵H (4)

2、4 生成矩阵G (6)

2、5 校正子(伴随式)S (7)

2、6 程序函数介绍 (9)

三、(7,4)汉明码编码的设计 (9)

3、1 (7,4)汉明码编码方法 (9)

3、2 编码流程图 (10)

3、3 (7,4)汉明码编码程序设计 (10)

四、(7,4)汉明码的译码器的设计 (11)

4、1 (7,4)汉明码译码方法 (11)

4、2 译码流程图 (13)

4、3 (7,4)汉明码译码程序的设计 (13)

五、(7,4)汉明码编译码程序的编译及仿真波形 (14)

六、总结 (17)

七、参考文献 (18)

附录 (19)

一、引言

MATLAB(Matrix Laboratory,矩阵实验室)是Mathwork公司推出的一套高效率的数值计算和可视化软件。其中,MATLAB通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。MATIAB通信工具箱由两大部分组成:通信系统功能函数库和SIMULINK通信系统仿真模型库。MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。这些函数包括:信号源产生函数、信源编码/译码函数、纠错控制编码/译码函数、调制/解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、TDMA、FDMA、CDMA函数、同步函数、工具函数等。以纠错控制编译码函数为例:函数库提供了线性分组码、汉明码、循环码、BCH 码、里德一索洛蒙码(REED—SOLOMON)、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。

通信信号是通过信道的传输,从信源到信宿。由于新到有着不同的特征,这些特征将会影响传输中的通信信号,使信宿不能正确接收和识别信源的信号。因此需要采取各种方式抗信道干扰,信道编码就是一种广泛采用的抗信道干扰的方法。信道编码是人为地按照一定的规则加入冗余信息,从而使信息传输中的差错率降低,甚至达到无措传输的一种提高信息系统可靠性的编码方法。在信道编码中,有一类所谓汉明码,在理论上十分成熟,并且在通信实践中已被广泛使用。本文简述了汉明码的编码方法、译码方法,并给出了相应的MATLAB程序。

二、设计原理

2、1 汉明码的构造原理

线性分组码是一类重要的纠错码,应用很广泛。在(n ,k )分组码中,若监督码元是按线性关系模2相加而得到的,则称其为线性分组码。

在偶数监督码中,由于使用了一位监督位a0,它和信息位an-1 … a1一起构成一个代数式:

0021=⊕???⊕⊕--a a a n n (1)

在接收端解码时,实际上就是在计算

021a a a S n n ⊕???⊕⊕=-- (2)

若S = 0,就认为无错码;若S = 1,就认为有错码。现将上式称为监督关系式,S 称为校正子。由于校正子S 只有两种取值,故它只能代表有错和无错这两种信息,而不能指出错码的位置。若监督位增加一位,即变成两位,则能增加一个类似的监督关系式。由于两个校正子的可能值有4中组合: 00,01,10,11,故能表示4种不同的信息。若用其中1种组合表示无错,则其余3种组合就有可能用来指示一个错码的3种不同位置。同理,r 个监督关系式能指示1位错码的(2r –1)个可能位置。

一般来说,若汉明码长为n ,信息位数为k ,则监督位数r=n-k.若希望用r 个监督位构造出r 个监督关系式来指示一位错码的n 种可能位置,则要求

n r ≥-12 或 112++≥-r k r

(3)

现在以(7,4)分组码为例来说明线性分组码的特点。设其码字为[]0123456a a a a a a a A =,前4位是信息元,后3位是监督元,可用下列线性方程组来描述该分组码产生监督元:

2654

1653

643a a a a a a a a a a a a =⊕⊕??

=⊕⊕??=⊕⊕? (4)

显然,这3个方程是线性无关的。代入上述公式可得(7,4)码的全部码组,如表1所示。

表1 (7,4)汉明码的全部码组

信息位 a 6 a 5 a 4 a 3

监督位 a 2 a 1 a 0

信息位

a 6 a 5 a 4 a 3

监督位 a 2 a 1 a 0

0000 000 1000 111 0001 011 1001 100 0010 101 1010 010 0011 110 1011 001 0100 110 1100 001 0101 101 1101 010 0110 011 1110 100 0111

000

1111

111

由上表可知:(7,4)汉明码的最小码距0d =3,它能纠1位错或检2位错。

由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距0d =3,码长n 与

监督位r 满足关系式:n r

≥-12,说明上述所说的(7,4)线性分组码就是汉明码。同时,

由于码率n r n r n n k -=-=1)(,故当n 很大和r 很小时,码率接近1,可见,汉明码是一种高效码。

2、2 汉明码的纠错原理

当数字信号编码成汉明形式(A )后在信道中传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。

一般来说,接收码组与A 不一定相同。若设接收码组为一n 列的行矩阵B ,即

[]6543210B b b b b b b b = (5) 则发送码组与接收码组之差为

E A B =- (6)

E 就是传输中产生的错码行矩阵

][0123456e e e e e e e E = (7)

若0=i e ,表示接收到的码元无错误;若1=i e ,则表示该接收码元有错。式(7)可改写为

E A B += (8) 若E=0,即接收码组无错误,则A E A B =+=,将它代入式T T A H 0=?或0=?T H A 中,该式仍成立,则有

0=?T H B (9) 当接收码组有错时,0≠E ,将B 代入式T T A H 0=?或0=?T H A 后,该式不一定成立。在未超过检错能力时,式(9)不成立。假设此式(9)的右端为S ,即

S H B T =? (10) 将E A B +=代入式(10),可得

T T T H E H A H E A S ?+?=+=)( (11) 由式T T A H 0=?或0=?T H A 可知,所以

T H E S ?= (12) 此处S 与前面的321s s s 有着一一对应的关系,则S 能代表错码位置。

因此,纠错原理即接收到码组后按式(10)计算出S ,再根据表2判断错码情况,进行差错纠正。

2、3 监督矩阵H

式(3.1)所示的(7,4)汉明码的监督方程可以改写为:

654265316

43000

0a a a a a a a a a a a a ⊕⊕⊕=??

⊕⊕⊕=??⊕⊕⊕=? (13)

用矩阵的形式可以将上式表示为:

(mod 2) (14) 65431110100011010100a a a a ????????????

???????=??????

上式可以简记为:

T T A H 0=? 或 0=?A H T

式中

??

??

?

?????=101100111010101110100H (15)

[]0123456a a a a a a a A = (16)

[]0000= (17)

右上标“T ”表示将矩阵转置。例如,HT 是H 的转置,即HT 的第一行为H 的第一列,HT 的第二行为H 的第二列等等。

其中,H 成为监督矩阵,只要监督矩阵H 给定,编码时信息位和监督位的关系也就随即确定下来了。

H 矩阵的性质:

(1)H 的行数就是监督矩阵的数目,等于监督位的数目r 。H 的每行中“1”的位置表示相应码元之间存在的监督关系。例如,H 的第一行1110100表示监督位a2是由a6 a5 a4之和决定的。H 矩阵可分为两部分,例如

[]r PI H =????

?

?????=001101101011011001110 (18)

其中P 为k r ?阶矩阵,r I 为r r ?阶单位阵。我们将具有[P Ir]形式的H 矩阵称为典型阵。

(2)由代数理论可知,H 矩阵的各行应该是线性无关的,否则将得不到r 个线性无关的监督关系式,从而也得不到r 个独立的监督位。若一矩阵能写成典型阵形式[P Ir],则其各行一定是线性无关的。因为容易验证[Ir]的各行是线性无关的,故[P Ir]的各行也是线性无关的。

因为0T T H A ?=或0T

A H ?= ,所以可以用这个关系式来作为判断接收码字A 是否出错

的依据。若0

=?A H T ,则说明码字A 有错,反之则说明码字A 无错。

2、4 生成矩阵G

上面汉明码例子中的监督位公式为

65426531643000

a a a a a a a a a a a a ⊕⊕⊕=??

⊕⊕⊕=??

⊕⊕⊕=?

也可改写成矩阵形式:

??

????

???????????????

?=??????????34

56012101111011110a a a a a a a (19) 或者写成

[][]

[]Q a a a a a a a a a a a 34563456012011101110111=??

??

?

????

???= (20) 式中,Q 为一个k*r 阶矩阵,它为P 的转置,即Q=PT

上式表示,在信息位给定后,用信息位的行矩阵车乘矩阵Q 就产生出监督位。 若将(17)的监督方程补充完整并写成矩阵的形式:

??????????????

??????????

???????????=??????????????????????345601234561011110111100001001001001000a a a a a a a a a a a (21)

即: []M G a a a a G A ?=?=3456 (22)

即汉明码的编码原理 上式中

?

???????????=0110001

101001011001001111000 G (23) G 为生成矩阵,根据式2.3.4知:由G 和信息码就能产生所有码字。生成矩阵也可分为两部分,即

[]Q I G

k ,= (24)

上式中

T P Q =????

?????

???=011101110111 (25)

Q 为r k ?阶矩阵,

k

I 为k 阶单位阵。

因此,如果找到了码的生成矩阵G ,则编码的方法就完全确定了。具有[KQ]形式的生成矩阵称为典型生成矩阵。由典型生成矩阵得出的码组A 中,信息位的位置不变,监督位附加于其后,这种形式的码称为系统码。 G 矩阵的性质:

(1)

G 矩阵的各行是线性无关的。因为由上式可以看出,任一码组A 都是G 的各行的线性组合。

(2)

G 共有k 行,若他们线性无关,则可以组合出2k 种不同的码组A ,它恰是有k 位信息位的全部码组。若G 的各行是线性相关的,则不可能由G 生成2k 种不同的码组了。

实际上,G 的各行本身就是一个码组。因此,如果已有k 个线性无关的码组,则可以用其作为生成矩阵G,并由它生成其余码组。

2、5 校正子(伴随式)S

设一发送码组[]0121,,,a a a a A n n --=,在传输的过程中可能发生误码。接受码组

[

]0

1,21,,b b b b B n n --=,收发码组之差定义为错误图样E 。

A E

B -= (26)

其中,[]0121,,,e e e e E n n --=,令T

H B S ?=。

T

T T H

E H E A H B S ?=+=?=)( (27) 式中S 称为校正子,他用来表示错码位置。

可见:校正子S 与错误图样E 之间由确定的线性变换关系。若S和E之间一一对应,则S将能代表错码位置。

(7,4)汉明码的校正子和错误图样之间的对应关系如表2所示。

表2 (7,4)汉明码S 与E 对应关系

错误码位

错误图样E

校正子S

错误位置C

6e 5e 4e 3e 2e 1e 0e

012S S S

0b

0 0 0 0 0 0 1 0 0 1 1 1b 0 0 0 0 0 1 0 0 1 0 2 2b

0 0 0 0 1 0 0 1 0 0 3 3b

0 0 0 1 0 0 0 0 1 1 4 4b

0 0 1 0 0 0 0 1 0 1 5 5b 0 1 0 0 0 0 0 1 1 0 6 6b

1 0 0 0 0 0 0 1 1 1 7 无错

0 0 0 0 0 0 0

0 0 0

无错

由上表可知:

当S=001时,则出错在1 位,即b0 出错; 当S=010时,则出错在2 位,即b1 出错; 当S=100时,则出错在3 位,即b2 出错;

当S=011时,则出错在4 位,即b3 出错;

当S=101时,则出错在5 位,即b4 出错;

当S=110时,则出错在6 位,即b5 出错;

当S=111时,则出错在7 位,即b6 出错;

当S=000时,则无错。

2、6 程序函数介绍

MATLAB中提供了汉明码的编码和译码函数,本程序直接调用进行编程。

(1)encode函数

功能:编码函数

语法:code=encode(msg,N,K)

说明:该函数对二进制信息msg进行汉明编码,K为信息位长度,N为码字长度。msg是一个K列矩阵。

(2)decode函数

功能:译码函数

语法:rcvcode=decode(code,N,K)

说明:该函数对接受码字进行译码,恢复出原始信息,译码参数及方式必须和编码时采用的完全相同。

(3)hammgen函数

功能:汉明码生成矩阵和校验矩阵产生函数

语法:H=hamming(M) [H,G]=hamming(M) [H,G,N,K]=hamming(M)

说明:该函数的功能是产生生成矩阵和校验矩阵,其中M=N-K为校验位的长度,H为汉明码的校验矩阵,G为汉明码的生成矩阵。

三、(7,4)汉明码编码的设计

3、1 (7,4)汉明码编码方法

(7,4)汉明码的编码就是将输入的4 位信息码

[]

3

4

5

6

a

a

a

a

M=加上3 位监督码

1

2

b

b

b从

而编成7位汉明码[]

1

2

3

4

5

6

a

a

a

a

a

a

a,编码输出[]0123456b b

b

b

b

b

b

B=

由式

[]G

a

a

a

a

G

M

A?

=

?

=

3

4

5

6可知,信息码M与生成矩阵G 的乘积就是编好以后的

(7,4)汉明码。

3、2 编码流程图

根据(7,4)汉明码的编码原理,输入四位信息码,经由监督位得到七位汉明码,画出程序设计的流程图:

图1 编码流程图

3、3 (7,4)汉明码编码程序设计

根据(7,4)汉明码的编码原理,由于输入的是4 位的信息码

[]

1

2

3

a

a

a

a

M=,输出的是7

位的(7,4)汉明码

[]

1

2

3

4

5

6

b

b

b

b

b

b

b

B= , 最后将上式计算所得的监督位和输入的信息位一

起输出,则此次编码就算完成了。(7,4)汉明码的编码源程序见下文附录1。

四、(7,4)汉明码的译码器的设计

4、1 (7,4)汉明码译码方法

(7,4)汉明码的译码器的功能就是把输入的7 位汉明码 []0123456b b b b b b b B =译为4位信息码3a 2a 1a 0a ,并且根据伴随矩阵S 从而纠正编码中可能出现的1 位错码。

根据监督矩阵H 和生成矩阵G 的关系,即:

[]r I P H ,= ,其中r I 是33?的单位阵,

[]Q I G k ,=,其中

k

I 是44?的单位阵,

T Q P = (28)

[]Q I G k ,0110001101001011001001111000=????????????= 由式(28),得

??????????=101111011110P

监督矩阵

[]r PI H =????

?

?????=001101101011011001110 (29)

由式(29)知 T

T T H E H E A H B S ?=+=?=)(,其中

[]0121,,,e e e e E n n --= (30)

从而即可得到校正子S 与(7,4)汉明码各位之间的关系:

???

??+++=+++=+++=03460

135612

4562a

a a a S a a a a S a a a a S (31)

算出校正子S (012S S S )后,对照表3,即可判断出哪位出错,并纠正出错的那位,从而输出正确的码字。

表3 (7,4)汉明码译码输入、输出对应关系

序号

译码输入

译码输出

校正子S

错误码位

错码位置

23456b b b b b 01b b 0123a a a a 012S S S

C 0 0000010 0000 010 1b 2 1 0001111 0001 100 2b

3 2 0010101 0010 000 无错 0 3 0011110 0011 000 无错

0 4 0101110 0100 011 3b 4 5 0100101 0101 011 3b 4 6 0010011 0110 100 5b

6 7 0111000 0111 000 无错 0 8 1000111 1000 000 无错

0 9 1001101 1001 001 0b

1 10 1010000 1010 010 1b

2 11 1011101 1011 100 2b

3 12 1101001 1100 011 3b

4 13 1111000 1101 101 4b

5 14 1010100 1110 110 5b

6 15

0111111

1111

111

6b

7

4、2 译码流程图

根据(7,4)汉明码的译码原理及检纠错原理,输入七位码,根据矫正子及错码关系得到四位信息码,画出程序设计的流程图:

图2 译码流程图

4、3 (7,4)汉明码译码程序的设计

根据前面分析的译码原理,由于译码器的输入为7 位汉明码:

[]

1

2

3

4

5

6

b

b

b

b

b

b

b

B=

输出是4 位信息码:a3 a2 a1 a0,并且同时输出校正子S与错误的码位C。

在程序中,C 表示错误在哪一位。若第1 位(a0)出错,则C 输出0;若第2 位出错,则C 输出1;若无错,则C 输出0。这样译码程序就可以编出来了。译码源程序见附录2。

五、(7,4)汉明码编译码程序的编译及仿真波形

根据(7,4)汉明码的编译码及纠错原理编写源程序代码并在MATLAB 中创建其m-file,在

MATLAB 中运行得到仿真波形如下所示,其中包括信息元序列波形及译码后的7位码序列和错误码波形,‘—’代表原发送7位码字波形;‘——’代表错误码字波形。 (1)输入信息元序列[0 0 0 1]

编码后序列为:

0 0 0 1 0 1 1 输入接收序列B=[0 0 0 0 0 1 1] 错误出现在第4位 原发送码字为:

0 0 0 1 0 1 1

01

2

34

0.51

1.5

hanmingencode

value

v a l u e

01234567

0.5

1

1.5

h a n m i n g d e c o d e

va l u e

v a l u e

图3 信息元序列波形 图4 输入序列“0000011”后的译码波形

(2)输入信息元序列[0 0 1 0]

编码后序列为:

0 0 1 0 1 0 1 输入接收序列B=[0 0 1 0 1 0 1] 接收到的码字无错误。 原发送码字为:

0 0 1 0 1 0 1

01

234

0.5

11.5

hanmingcode

value

v a l u e

01234567

0.5

1

1.5

hanmingdecode

value

v a l u e

图5 信息元序列波形 图6 输入序列“0010101”后的译码波形

(3)输入信息元序列[1 1 0 1]

编码后序列为:

1 1 0 1 0 1 0 输入接收序列B=[1 1 0 1 0 1 1] 错误出现在第7

位 原发送码字为:

1 1 0 1 0 1 0

01

234

0.5

1

1.5

hanmingcode

value

v a l u e

01234567

0.5

1

1.5

h a n m i n g d e c o d e

va l u e

v a l u e

图7 信息元序列波形 图8 输入序列“1101011”后的译码波形

(4)输入信息元序列[1 0 1 0]

编码后序列为:

1 0 1 0 0 1 0

输入接收序列B=[1 1 1 0 0 1 0 ] 错误出现在第2位 原发送码字为:

1 0 1 0 0 1 0

01

234

0.5

1

1.5

hanmingcode

value

v a l u e

01234567

0.5

1

1.5

hanmingdecode

value

v a l u e

图9 信息元序列波形 图10 输入序列“1110010”后的译码波形

(5)输入信息元序列:[0 1 1 0] 编码后序列为:

0 1 1 0 0 1 1 输入接收序列B=[0 1 1 0 0 1 1] 接收到的码字无错误。 原发送码字为:

0 1 1 0 0 1 1

01

234

0.5

1

1.5

hanmingencode

value

v a l u e

01234567

0.5

1

1.5

hanmingdecode

value

v a l u e

图11 信息元序列波形 图12 输入序列“0110011”后的译码波形

六、总结

通信系统课程设计圆满结束了,体会和收获颇多。这次通信原理课程设计我做的是(7,4)汉明码的编译码的设计,刚接到这个题目时,感觉有点迷茫和彷徨,不知道从何入手。尽管上学期刚学的《通信原理》中也讲过线性分组码中的(7,4)汉明码的编译码方法,但因时间太久已遗忘所剩不多,通过查阅以前的书籍资料,对相关知识进行温习,通过反复温习,终于领会了(7,4)汉明码的编解码的原理、方法,顿时觉得豁然开朗,脑海里也有了大致的实施方案。此外,借鉴网上可用资源,通过学习相关的教程和查阅MATLAB中的help,这些困难都迎刃而解了。这其中我深刻地体会到专业英语的重要性。可想而知,多积累点英语对今后的工作、学习将有极大的帮助。通过本次学习,我再一次体会到MATLAB的强大。丰富的库函数、强大的数据处理能力,出色的绘图功能,友好的工作平台,简单一用的操作语言等等,这些优点都促使MATLAB成为数学处理软件发展史上的巅峰之作。这激发了我之后学习MATLAB的决心。知识的构架是千枝交错的。学到大学,知识之间相互渗透的现象可谓比比皆是,这启发我们不仅要发散思维的领域,也要拓宽知识的领域。对与本专业相关的领域多加了解百利而无一害。

在本次课题中,(7,4)汉明码的编码相对来说比较容易,程序也就一小段;译码方面相对就比较复杂,用到了很多的变量。但是通过反复实践和观察,最终还是有所突破,并顺利完成了课题要求。当然,在本次设计中也存在一些问题,比如:仿真的波形毛刺比较大,有些地方也有比较严重的失真,经过后期观察和反复尝试,最终使波形的失真度减到最小。

最后,还是那句话,实践出真知。在渴望知识的道路上,用双脚探索出来的路才是你自己的路。我还将上下左右而求索。

七、参考文献

【1】李建新现代通信系统分析与仿真—MATLAB通信工具箱.西安:西安电子科技大学出版社,2000

【2】樊昌信通信原理.北京:国防工业出版社,2002

【3】刘敏 MATLAB通信仿真与应用国防工业出版社

【4】曹志刚等著现代通信原理北京:清华大学出版社,2001 5

【5】吴伟陵等著移动通信原理北京:电子工业出版社,2005

【6】韩利竹,王华 MATLAB电子仿真与应用北京:国防工业出版社,2003年.

【7】赵静基于MATLAB的通信系统仿真北京:北京航空航天大学出版社,2008年.

【8】葛哲学精通MATLAB 北京:电子工业出版社,2008年.

Matlab通信系统仿真实验报告

Matlab通信原理仿真 学号: 2142402 姓名:圣斌

实验一Matlab 基本语法与信号系统分析 一、实验目的: 1、掌握MATLAB的基本绘图方法; 2、实现绘制复指数信号的时域波形。 二、实验设备与软件环境: 1、实验设备:计算机 2、软件环境:MATLAB R2009a 三、实验内容: 1、MATLAB为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。 MATLAB程序如下: x = -pi::pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口 subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x,y1绘图 title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x,y2绘图 xlabel('time'),ylabel('y') %第二幅图横坐标为’time’,纵坐标为’y’运行结果如下图: 2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图: MATLAB程序如下: x=-pi:.1:pi; y1=sin (x); y2=cos (x); figure (1); %subplot (2,1,1); plot (x,y1); title ('plot (x,y1)'); grid on %subplot (2,1,2); plot (x,y2);

matlab课程设计题目

课题一: 连续时间信号和系统时域分析及MATLAB实现 课题要求: 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题二: 离散时间信号和系统时域分析及MATLAB实现。 课题要求: 深入研究离散时间信号和系统时域分析的理论知识。利用MATLAB强大的图

形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性) 1、单位序列, 2、单位阶跃序列, 3、正弦序列, 4、离散时间实指数序列, 5、离散时间虚指数序列, 6、离散时间复指数序列。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘。 三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化) 1、反转, 2、时移(超时,延时), 3、展缩, 4、倒相。 四、用MATLAB实现离散时间系统卷积和仿真波形 给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。 五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形 给出几个典型例子,四中调用格式。 六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题三: 连续时间信号傅里叶级数分析及MATLAB实现。 课题要求: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 课题内容: 一、用MATLAB实现周期信号的傅里叶级数分解与综合 以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形 波形之间的关系及吉布斯现象。

MATLAB课程设计报告 基于MATLAB GUI 的滤波器设计软件

MATLAB课程设计报告 基于MATLAB GUI的“滤波器设计软件”设计

摘要 面对庞杂繁多的原始信号, 如何提取所需信号、抑制不需要的信号这就需要使用滤波器。滤波器的作用主要是选择所需频带的信号内容而抑制不需要的其他频带的信号内容。数字滤波器因其精度高、可靠性好、灵活性大等优点, 在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像处理等工程实际应用中都很广泛。根据其冲击响应函数的时域特性可将数字滤波器分为IIR(有限长冲击响应)和FIR(无限长冲击响应)。作为强大的计算软件, MATLAB 提供了编写图形用户界面的功能。所谓图形用户界面, 简称为GUI, 是由各种图形对象, 如图形窗口菜单按钮、文本框等构建的用户界面。 MATALB 可以创建图形用户界面GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。 关键词:MATLAB GUI IIR滤波器FIR滤波器

目录 1设计任务 (1) 2 MATLAB GUI的简介 (2) 3 滤波器设计原理 (3) 3.1滤波器概述 (3) 3.2 IIR数字滤波器 (4) 3.2.1 IIR数字滤波器设计原理 (4) 3.2.2 IIR滤波器设计思想 (5) 3.2.3 IIR滤波器设计编程实现 (6) 3.3 FIR数字滤波器 (8) 3.3.1 FIR数字滤波器设计原理 (8) 3.3.2 FIR滤波器设计思想 (9) 4 基于Matlab GUI的数字滤波器设计思路及实现 (12) 4. 1 GUI界面设计概述 (12) 4.2 “滤波器设计软件”设计所实现任务 (14) 4.3 基于Matlab GUI的数字滤波器设计实现 (16) 4.3.1 “滤波器设计软件”GUI界面设计 (16) 4.3.2 “滤波器设计软件”回调函数编写 (17) 4.3.3AutoChoose.m程序的编写 (22) 4.4 运行和结果显示 (28) 5 设计总结和心得 (33) 5.1 设计总结 (33) 5.2 设计心得 (34) Abstract (35) 参考文献 (36) 附录

通信仿真课程设计-matlab-simulink

成都理工大学工程技术学院 《通信仿真课程设计》报告 班级:信息工程1班 姓名:寇路军 学号: 201620101133 指导教师:周玲 成绩: 2019 年 3月 23 日

目录 通信仿真课程设计报告 (2) 一.绪论 (2) 二.课程设计的目的 (2) 三.模拟调制系统的设计 (3) 3.1 二进制相移键控调制基本原理 (3) 3.2 2PSK信号的调制 (3) 3.2.1模拟调制的方法 (3) 3.3 2PSK信号的解调 (4) 3.4 2PSK的“倒∏现象”或“反向工作” (5) 3.5功率谱密度 (5) 四.数字调制技术设计 (7) 4.1 2PSK的仿真 (7) 4.1.1仿真原理图 (7) 4.1.2 仿真数据 (7) 4.1.3 输出结果 (9) 总结 (10) 参考文献 (11)

通信仿真课程设计报告 一.绪论 随着社会的快速发展,通信系统在社会上表现出越来越重要的作用。目前,我们生活中使用的手机,电话,Internet,ATM机等通信设备都离不开通信系统。随着通信系统与我们生活越来越密切,使用越来越广泛,对社会对通信系统的性能也越高。另外,随着人们对通信设备更新换代速度越来越快。不得不缩短通信系统的开发周期以及提高系统性能。针对这两方面的要求,必需要通过强大的计算机辅助分析设计技术和工具才能实现。自从现代以来,计算机科技走上了快速发展道路,实现了可视化的仿真软件。 通信系统仿真,在目前的通信系统工程设计当中。已成为了不可替代的一部分。它表现出很强的灵活性和适应性。为我们更好地研究通信系统性能带来了很大的帮助。本论文主要针对模拟调制系统中的二进制相移键控调制技术进行设计和基于Simulink进行仿真。通过系统仿真验证理论中的结论。本论文设计的目的之一是进一步加强理论知识,熟悉Matlab软件。 Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink 已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 二.课程设计的目的 1.掌握模拟系统2PSK调制和解调原理及设计方法。 2.熟悉基于Simulink的通信系统仿真。

基于MATLAB的MIMO通信系统仿真(DOC)

目录 (一)基于MATLAB的MIMO通信系统仿真………………………… 一、基本原理……………………………………………………… 二、仿真…………………………………………………………… 三、仿真结果……………………………………………………… 四、仿真结果分析…………………………………………………(二)自选习题部分…………………………………………………(三)总结与体会……………………………………………………(四)参考文献…………………………………………………… 实训报告 (一)基于MATLAB的MIMO通信系统仿真 一、基本原理 二、仿真 三、仿真结果 四、仿真结果分析 OFDM技术通过将频率选择性多径衰落信道在频域内转换为平坦信道,减小了多径衰落的影响。OFDM技术如果要提高传输速率,则要增加带宽、发送功率、子载波数目,这对于频谱资源紧张的无线通信时不现实的。 MIMO能够在空间中产生独立并行信道同时传输多路数据流,即传输速率很高。这些增加的信道容量可以用来提高信息传输速率,也可以通过增加信息冗余来提高通信系统的传输可靠性。但是MIMO却不能够克服频率选择性深衰落。 所以OFDM和MIMO这一对互补的技术自然走到了一起,现在是3G,未来也是4G,以及新一代WLAN技术的核心。总之,是核心物理层技术之一。 1、MIMO系统理论:

核心思想:时间上空时信号处理同空间上分集结合。 时间上空时通过在发送端采用空时码实现: 空时分组、空时格码,分层空时码。 空间上分集通过增加空间上天线分布实现。此举可以把原来对用户来说是有害的无线电波多径传播转变为对用户有利。 2、MIMO 系统模型: 11h 12 h 21 h 22 h r n h 1r n h 21 R n h 2 R n h 1 n n R h 可以看到,MIMO 模型中有一个空时编码器,有多根天线,其系统模型和上述MIMO 系统理论一致。为什么说nt>nr ,因为一般来说,移动终端所支持的天线数目总是比基站端要少。 接收矢量为:y Hx n =+,即接收信号为信道衰落系数X 发射信号+接收端噪声 3、MIMO 系统容量分析: (附MIMO 系统容量分析程序) 香农公式的信道容量(即信息传送速率)为: 2log (1/)C B S N =+ 4、在MIMO 中计算信道容量分两种情况: 未知CSI 和已知CSI (CSI 即为信道状态信息),其公式推导较为复杂,推导结果为信道容量是信噪比与接收、发射天线的函数。 在推导已知CSI 中,常用的有waterfilling ,即著名的注水原理。但是,根据相关文献资料,通常情况下CSI 可以当做已知,因为发送,接收端会根据具体信道情况估算CSI 的相关参数。 在这里对注水原理做一个简单介绍:之所以成为注水原理是因为理想的注水原理是在噪声大的时候少分配功率,噪声小时多分配功率,最后噪声+功率=定值,这如果用图形来表示,则类似于给水池注水的时候,水池低的地方就多注水,也就是噪声小分配的功率就多,故称这种达到容量的功率分配方式叫做注水原理。通过给各个天线分配不同的发射功率,增加系统容量。核心思想就是上面所阐述的,信道条件好,则分配更多功率;信道条件差,则分配较少的功率。 在MIMO 的信道容量当中要注意几个问题:(下面说已知CSI 都是加入了估计CSI 的算法,并且采用了注水原理。) 1. 已知CSI 的情况下的信道容量要比发送端未知CSI 的情况下的信道容量高,这是 由于当发送端已知CSI 的时候,发送端可以优化发送信号的协方差矩阵。也就是

MATLAB课设报告

课程设计任务书 学生姓名:董航专业班级:电信1006班 指导教师:阙大顺,李景松工作单位:信息工程学院 课程设计名称:Matlab应用课程设计 课程设计题目:Matlab运算与应用设计5 初始条件: 1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应 用”、线性代数及相关书籍等; 3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成; 2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析, 针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: ①初步了解Matlab、熟悉Matlab界面、进行简单操作; ②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计; ③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形 标注、简单颜色设定等; ④使用文本编辑器编辑m文件,函数调用; ⑤能进行简单的信号处理Matlab编程; ⑥按要求参加课程设计实验演示和答辩等。 3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ①目录; ②与设计题目相关的理论分析、归纳和总结; ③与设计内容相关的原理分析、建模、推导、可行性分析; ④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤课程设计的心得体会(至少500字); ⑥参考文献(不少于5篇); ⑦其它必要内容等。 时间安排:1.5周(分散进行) 参考文献: [1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010. [2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011. [3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011. [4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日 系主任(或责任教师)签名:年月日

基于MATLAB—Simulink的2ASK仿真课程设计

目录 第一章课程设计的任务说明 (1) 1.1 课程设计的目的 (1) 1.2 课程设计的要求 (1) 第二章MA TLAB/SIMULINK简介 (2) 第三章通信技术的历史和发展 (3) 3.1通信的概念 (3) 3.2 通信的发展史简介 (4) 3.3通信技术的发展现状和趋势 (4) 第四章2ASK的基本原理和实现 (5) 4.1 2ASK的产生 (5) 4.2 2ASK的功率谱和带宽 (6) 4.3 2ASK信号的解调及抗噪声性能分析 (6) 第五章Smulink的模型建立和仿真 (10) 5.1 建立模型方框图 (10) 5.2参数设置 (11) 5.3仿真波形图 (15) 5.4 不同信噪比下的误码率 (17) 总结 (18) 参考文献 (19)

第一章课程设计的任务说明 1.1 课程设计的目的 (1)通过利用matlab simulink,熟悉matlab simulink仿真工具。 (2)通过课程设计来更好的掌握课本相关知识,熟悉2ASK的调制与解调。 (3)更好的了解通信原理的相关知识,磨练自己分析问题、查阅资料、巩固知识、创新等各方面能力。 1.2 课程设计的要求 (1)掌握课程设计涉汲到的相关知识,相关概念、原理清晰,明了。 (2)仿真图设计合理、能够正确运行。 (3)按照要求撰写课程设计报告。

第二章MATLAB/SIMULINK简介 美国Mathworks公司于1967年推出了矩阵实验室“Matrix Laboratory”(缩写为Matlab)这就是Matlab最早的雏形。开发的最早的目的是帮助学校的老师和学生更好的授课和学习。从Matlab诞生开始,由于其高度的集成性及应用的方便性,在高校中受到了极大的欢迎。由于它使用方便,能非常快的实现科研人员的设想,极大的节约了科研人员的时间,受到了大多数科研人员的支持,经过一代代人的努力,目前已发展到了7.X版本。Matlab是一种解释性执行语言,具有强大的计算、仿真、绘图等功能。由于它使用简单,扩充方便,尤其是世界上有成千上万的不同领域的科研工作者不停的在自己的科研过程中扩充Matlab的功能,使其成为了巨大的知识宝库。可以毫不夸张的说,哪怕是你真正理解了一个工具箱,那么就是理解了一门非常重要的科学知识。科研工作者通常可以通过Matlab来学习某个领域的科学知识,这就是Matlab真正在全世界推广开来的原因。目前的Matlab版本已经可以方便的设计漂亮的界面,它可以像VB等语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工具箱),所以计算的功能实现也很简单,进一步受到了科研工作者的欢迎。另外,,Matlab和其他高级语言也具有良好的接口,可以方便的实现与其他语言的混合编程,进一步拓宽了Matlab的应用潜力。可以说,Matlab已经也很有必要成为大学生的必修课之一,掌握这门工具对学习各门学科有非常重要的推进作用。 Simulink是MA TLAB中的一种可视化仿真工具,也是目前在动态系统的建模和仿真等方面应用最广泛的工具之一。确切的说,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,连续、离散时间模型,或者是两者的混合。系统还可以使多种采样频率的系统,而且系统可以是多进程的。Simulink工作环境进过几年的发展,已经成为学术和工业界用来建模和仿真的主流工具包。在Simulink环境中,它为用户提供了方框图进行建模的图形接口,采用这种结构画模型图就如同用手在纸上画模型一样自如、方便,故用户只需进行简单的点击和拖动就能完成建模,并可直接进行系统的仿真,快速的得到仿真结果。它的主要特点在于:1、建模方便、快捷;2、易于进行模型分析;3、优越的仿真性能。它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。Simulink模块库(或函数库)包含有Sinks(输出方式)、Sources(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connection(连接与接口)和Extra(其他环节)等具有不同功能或函数运算的Simulink库模块(或库函数),而且每个子模型库中包含有相应的功能模块,用户还可以根据需要定制和创建自己的模块。用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行仿真的批处理非常有用。采用Scope模块和其他的显示模块,可以在仿真进行的同时就可立即观看到仿真结果,若改变模块的参数并再次运行即可观察到相应的结果,这适用于因果关系的问题研究。仿真的结果还可以存放到MATLAB的工作空间里做事后处理。模型分析工具包括线性化和整理工具,MATLAB的所有工具及Simulink本身的应用工具箱都包含这些工具。由于MATLAB和SIMULINK的集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改模型。但是Simulink不能脱离MA TLAB而独立工作。

Matlab课程设计报告

自控系统仿真软件课程设计报告 MATLAB 设计题目:牛顿摆球 姓名: 学号: 院系: 班级:1203 指导教师: 2014年12月20日

一.课程设计目的 1、熟悉课程设计的基本流程; 2、掌握MATLAB语法结构及调试方法; 3、熟悉MATLAB函数调用,熟练二维画图; 4、掌握MATLAB语言在控制方面的运用; 5、学会用MATLAB进行基本仿真; 6、掌握MATLAB编程技巧,提高编程水平。 二.系统分析 1.题目的描述: (1)牛顿摆球原理描述 五个质量相同的球体由吊绳固定,彼此紧密排列。当摆动最右侧的球并在回摆时碰撞紧密排列的另外四个球,最左边的球将被弹出,并仅有最左边的球被弹出。当然此过程也是可逆的,当摆动最左侧的球撞击其它球时,最右侧的球会被弹出。当最右侧的两个球同时摆动并撞击其他球时,最左侧的两个球会被弹出。同理相反方向同样可行,并适用于更多的球。 为了更接近现实,在这里我将考虑重力及空气阻力的影响,摆球将不会永无止境的运动下去,由于外界因素的影响,摆球运动一段时间后将回归静止状态。(2)通过MATLAB动画程序制作软件,实现下述过程 当运行程序时,把最右边的小球拉到一定的高度放下,让其碰撞其余四个小球,仅让最左边的小球被弹出,当最左边小球回摆碰撞其它球时,最右边小球又被弹出,如此循环。由于是非理想条件下,摆球的摆动幅度会随摆动次数的增加越来越小,直到静止。 时间停顿两秒,把右边两小球一起拉到一定高度放下,让其碰撞其余三个球,同样仅让左边两球被弹出,当球回摆再次碰撞时,最右边两球又被同时弹出,如此循环,因为外界因素的影响,最终五个球都会静止下来。 (3)整个实验看似简单,但要在MATLAB上完成这样一个动画过程,还是需要下点功夫,克服困难的。经过自己的努力,终于实现了整个过程,这也是一种不小的收获。 2.设计要求: (1)能够实现有阻尼摆动,即摆幅随摆动次数增加越来越小,直到静止。(2)能够让摆球弧线摆动。 三.系统设计 1.系统设计过程 (1)通过函数axis建立坐标系 (2)在坐标系范围内通过函数line画各个支架 (3)通过函数title添加标题“动量守恒实验”、函数text添加标注“牛顿摆球” (4)通过函数line画出五个球,并设定其初始位置,颜色,大小,线条的擦拭方式

基于MATLABsimulink的2FSK系统的仿真课程设计报告

课程设计 基于MATLABsimulink的2FSK系统的仿真 电子与信息工程学院 信息与通信工程系

课程设计评分标准

基于MATLAB/simulink的2FSK系统的仿真 一、摘要 本文是基于matlab和simulink环境下对信号的调制与解调过程的仿真,通过仿真,对系统的误码率的分析,以及理论与仿真结果的比较, 二、关键字:

目录 1 背景知识 (1) 1.1通信简介 (1) 1.2仿真系统的简介: (2) 1.32FSK的调制与解调的原理: (3) 1.3.1 2FSK的产生 (4) 1.3.2 2FSK滤波器的解调及抗噪声性能 (6) 1.3.3 由相关调制解调的原理图 (9) 2 仿真系统模型的设计: (9) 2.1仿真框图 (9) 2.2仿真目的和意义: (9) 2.3仿真思路 (10) 2.4M文件和仿真结果 (10) 2.5 SIMULINK仿真模型图: (16) 2.6结果分析: (21) 2.6.1 Matlab仿真结果分析 (21) 2.6.2 (22) 3 心得体会: (22) 4 参考文献 (22)

1 背景知识 1.1 通信简介 通信就是克服距离上的障碍,从一地向另一地传递和交换消息。消息是信息源所产生的,是信息的物理表现,例如,语音、文字、数据、图形和图像等都是消息。消息有模拟消息(如语音、图像等)以及数字消息(如数据、文字等)之分。所有消息必须在转换成电信号(通常简称为信号)后才能在通信系统中传输。所以,信号是传输消息的手段,信号是消息的物质载体。 相应的信号可分为模拟信号和数字信号,模拟信号的自变量可以是连续的或离散的,但幅度是连续的,如电话机、电视摄像机输出的信号就是模拟信号。数字信号的自变量可以是连续的或离散的,但幅度是离散的,如电船传机、计算机等各种数字终端设备输出的信号就是数字信号。 通信的目的是传递消息,但对受信者有用的是消息中包含的有效内容,也即信息。消息是具体的、表面的,而信息是抽象的、本质的,且消息中包含的信息的多少可以用信息量来度量。 通信技术,特别是数字通信技术近年来发展非常迅速,它的应用越来越广泛。通信从本质上来讲就是实现信息传递功能的一门科学技术,它要将大量有用的信息无失真,高效率地进行传输,同时还要在传输过程中将无用信息和有害信息抑制掉。当今的通信不仅要有效地传递信息,而且还有储存、处理、采集及显示等功能,通信已成为信息科学技术的一个重要组成部分。 通信系统就是传递信息所需要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受信者) ,它的一般模型如图1所示。 →→→→ 信息源发送设备信道接收设备受信者 ↑ 噪声源 图1 通信系统一般模型 通信系统可分为数字通信系统和模拟通信系统。数字通信系统是利用数字信号来传递消息的通信系统,其模型如图2所示,

MATLAB通信系统仿真心得体会

MATLAB通信系统仿真心得体会 课程名称(中文) MATLAB通信系统仿真成绩姓名班级学号日期 学习MATLAB通信系统仿真心得体会 经过一学期的MATLAB通信系统仿真的学习,使我对通信原 理及仿真实践有了更深层次的理解。在学习过程当中,了解到了MATLAB的语言基础以及应用的界面环境,基本操作和语法,通信仿真工具箱的应用,simulink 仿真基础,信号系统分析等一系列的内容。我明白学好这门课程是非常的重要。 在学习当中,我首先明白了通信系统仿真的现实意义,系统模型是对实际系统的一种抽象,是对系统本质(或是系统的某种特性)的一种描述。模型可视为对真实世界中物体或过程的信息进行形式化的结果。模型具有与系统相似的特性,可以以各种形式给出我们所感兴趣的信息。知道了通信系统仿真的必要性,利用系统建模和软件仿真技术,我们几乎可以对所有的设计细节进行分层次的建模和评估。通过仿真技术和方法,我们可以有效地将数学分析模型和经验模型结合起来。利用系统仿真方法,可以迅速构建一个通信系统模型,提供一个便捷,高效和精确的评估平台。明白了MATLAB通信系统仿真课程重点就是系统仿真软件 Matlab / Simulink 在通信系统建模仿真和性能评估方面的应用原理,通信系统仿真的一般原理和方法。 MATLAB集成度高,使用方便,输入简捷,运算高效,内容丰富,并且很容易由用户自行扩展,与其它计算机语言相比, MATLAB有以下显著特点:1.MATLAB是一种解释性语言;2(变量的“多功能性”;3.运算符号的“多功能性”;4(人机界面适合科技人员;5(强大而简易的作图功能;6(智能化程度高;7(功能丰富,可扩展性强。在MATLAB的Communication Toolbox(通 信工具箱)中提供了许多仿真函数和模块,用于对通信系统进行仿真和分析。

matlab课程设计拟定题目

第一类:单位转换 1.长度单位换算的设计与实现 2.面积单位换算的设计与实现 3.体积单位换算的设计与实现 4.容积单位换算的设计与实现 5.质量单位换算的设计与实现 6.时间单位换算的设计与实现 7.温度单位换算的设计与实现 7.压强单位换算的设计与实现 8.角度单位换算的设计与实现 8.功率单位换算的设计与实现 第二类:曲线绘制 1.直线的自动绘制和相关计算 2.椭圆的自动绘制和相关计算 3.双曲线的自动绘制和相关计算 4.抛物线的自动绘制和相关计算 5.心脏线的自动绘制和相关计算 6.渐开线的自动绘制和相关计算 7.滚圆线的自动绘制和相关计算 8.三叶玫瑰线的自动绘制和相关计算9.四叶玫瑰线的自动绘制和相关计 10.阿基米德螺线的自动绘制和相关计算第三类:曲面绘制 1.球面的自动绘制和相关计算 2.椭球面的自动绘制和相关计算 3.单叶双曲面的自动绘制和相关计算 4.双叶双曲面的自动绘制和相关计算 5.抛物面的自动绘制和相关计算 6.双曲抛物面的自动绘制和相关计算 7.双曲柱面的自动绘制和相关计算 8.椭圆柱面的自动绘制和相关计算 9.抛物柱面的自动绘制和相关计算 10.圆锥面的自动绘制和相关计算 第四类:线性回归 1.男士身高体重相关计算经验公式 2.女士身高体重相关计算经验公式 3.男士胖瘦等级的确定 4.女士胖瘦等级的确定 5.男士身高脚长相关计算经验公式 6.女士身高脚长相关计算经验公式 7.父子身高相关性研究 8.母子身高相关性研究 9.父女身高相关性研究 10.母女身高相关性研究 第五类:学习成绩 1.期末总评自动计算的设计与实现 2.成绩等级自动评定的设计与实现 3.成绩分段自动统计的设计与实现 4.成绩分布折线自动绘制的设计与实现 5.成绩自动统计分析的设计与实现 6.试卷分布自动分析的设计与实现 7.试卷难度自动分析的设计与实现 8.考试成绩名次自动生成的设计与实现

MATLAB程序设计课程设计

Matlab课程设计 题目: 二、利用混合空间法增强锐化图像仿真 将原始图像增强,最终增强为如下类似图像 。 可参考如下过程

源程序: clc clear all %读取图像 J=imread('E:\工作台\MATLAB\2016课程设计\仿真2附件 \Fig0343(a)(skeleton_orig).tif'); %拉普拉斯变换得到M1 [m,n]=size(J); I=im2double(J); h1=[0,-1,0;-1,4,-1;0,-1,0]; M1=imfilter(I,h1); %与原图相加得到M2,锐化原图 M2=M1+I; %sobel算子运算结果得到M3,保留边缘去除噪声 h2=[1,0,-1;2,0,-2;1,0,-1]; h3=[-1,-2,-1;0,0,0;1,2,1]; Sx=imfilter(I,h2); Sy=imfilter(I,h3); for i=1:m for j=1:n M3(i,j)=sqrt((Sx(i,j))^2+(Sy(i,j))^2); end end %作3*3模板的均值平滑 M4=zeros(m,n); for x=2:m-1 for y=2:n-1 for a=-1:1 for b=-1:1 M4(x,y)=(M4(x,y)+M3(x+a,y+b))/9; end end end end for c=1:m for d=1:n M4(c,1)=M3(c,1); M4(1,d)=M3(1,d); end end %作幂次变换,提升亮度2倍,提升对比度 for e=1:m for f=1:n

M5(e,f)=M2(e,f)*M4(e,f); end end M6=I+M5; for g=1:m for h=1:n M7(g,h)=2*(M6(g,h))^1.15; end end subplot(241);imshow(I); subplot(242);imshow(M1); subplot(243);imshow(M2); subplot(244);imshow(M3); subplot(245);imshow(M4); subplot(246);imshow(M5); subplot(247);imshow(M6); subplot(248);imshow(M7); 分析: 1.读取图像 2.利用 Laplacian 变换得到M1,在与原图相处理得到锐化的图像 3.用 Sobel 算子运算,保留边缘去除噪声 4.用3*3的模板均值平滑化图像 5.用幂律定理,提高图像亮度,提高对比度

激光原理与技术课程设计(matlab仿真)

电子科技大学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 激光原理与技术 课程设计 课程教师: 作者姓名: 学号:

题目一: 编程计算图示谐振腔的稳定性与光焦度1/F的关系。可取R1=∞, R2=∞, l1=250mm, l2=200mm。,用matlab程序计算光线在腔内的轨迹,演示腔稳定和不稳定时光线在腔内往返次数增加时光线轨迹。初始光线参数可以任意选择。 利用matlab编程如下: clear,clc L1=250;L2=200; R1=inf;R2=inf; syms d; T=[1,L1;0,1]*[1,0;-d,1]*[1,L2;0,1]*[1,0;-2/R2,1]*[1,L2;0,1]*[1 ,0;-d,1]*[1,L1;0,1]*[1,0;-2/R1,1]; A=T(1,1); B=T(1,2); C=T(2,1); D=T(2,2); h=(A+D)/2; ezplot(h,[0,0.012]) title('谐振腔的稳定性');xlabel('透镜光焦度D(/mm)');ylabel('等效 g1g2') 运行结果:

题目二: 和透镜上的模式半径与光焦度1/F的关系。 计算输出镜M 2 利用matlab编程如下: clear,clc L1=250;L2=200;R1=inf;R2=inf;w1=0.5*10^-3; syms d T1=[1,L2;0,1]*[1,0;-2/R2,1]*[1,L2;0,1]*[1,0;-d,1]*[1,L1;0,1]*[1,0;-2/ R1,1]*[1,L1;0,1]*[1,0;-d,1]; A1=T1(1,1);B1=abs(T1(1,2));C1=T1(2,1);D1=T1(2,2);h1=(A1+D1)/2; W1=((w1*B1/pi)^(1/2))/((1-h1^2)^(1/4)); T2=[1,0;-2/R2,1]*[1,L2;0,1]*[1,0;-d,1]*[1,L1;0,1]*[1,0;-2/R1,1]*[1,L1 ;0,1]*[1,0;-d,1]*[1,L2;0,1]; A2=T2(1,1);B2=abs(T2(1,2));C2=T2(2,1);D2=T2(2,2);h2=(A2+D2)/2; W2=((w1*B2/pi)^(1/2))/((1-h2^2)^(1/4)); figure (1) ezplot(W1,[0,0.012]); title('透镜上的光斑半径');xlabel('透镜光焦度D(/mm)');ylabel('光束半径') figure (2); ezplot(W2,[0,0.012]) title('输出镜上的光斑半径');xlabel('透镜光焦度D(/mm)');ylabel('光束半径') figure (3);

MATLAB 2psk通信系统仿真报告

实验一 2PSK调制数字通信系统 一实验题目 设计一个采用2PSK调制的数字通信系统 设计系统整体框图及数学模型; 产生离散二进制信源,进行信道编码(汉明码),产生BPSK信号; 加入信道噪声(高斯白噪声); BPSK信号相干解调,信道解码; 系统性能分析(信号波形、频谱,白噪声的波形、频谱,信道编解 二实验基本原理 数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。 数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。 图1 相应的信号波形的示例 1 0 1 调制原理 数字调相:如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"同相"状态;如果其中一个开始得迟了一点,就可能不相同了。如果一个达到正最大值时,另一个达到负最大值,则称为"反相"。一般把信号振荡一次(一周)作为360度。如果一个波比另一个波相差半个周期,我们说两个波的

相位差180度,也就是反相。当传输数字信号时,"1"码控制发0度相位,"0"码控制发180度相位。载波的初始相位就有了移动,也就带上了信息。 相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。因此,2PSK信号的时域表达式为(t)=Acos t+) 其中,表示第n个符号的绝对相位: = 因此,上式可以改写为 图2 2PSK信号波形 解调原理 2PSK信号的解调方法是相干解调法。由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。下图2-3中给出了一种2PSK信号相干接收设备的原理框图。图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0. 2PSK信号相干解调各点时间波形如图 3 所示. 当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.

matlab课程设计题目全

Matalab课后作业 学院:电气信息工程及其自动化 班级: 学号: 姓名: 完成日期: 2012年12月23日

1、 matlab 软件主要功能是什么?电气工程及其自动化专业本科生主要用到哪 些工具箱,各有什么功能? 答:(1)主要功能:工业研究与开发; 数学教学,特别是线性代数;数值分析和科学计算方面的教学与研究;电子学、控制理论和物理学等工程和科学学科方面的教学与研究; 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究;符号计算功能;优化工具;数据分析和可视化功能;“活”笔记本功能;工具箱;非线性动态系统建模和仿真功能。 (2)常用工具箱: (a ) MATLAB 主工具箱:扩充matlab 的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能。 (b )符号数学工具箱:符号表达式、符号矩阵的创建;符号可变精度求解;因式分解、展开和简化;符号代数方程求解;符号微积分;符号微分方程。 (c ) SIMULINK 仿真工具箱: Simulink 是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink 提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。 (d )信号处理工具箱:数字和模拟滤波器设计、应用及仿真;谱分析和估计;FFT 、DCT 等 变换;参数化模型。 (e )控制系统工具箱:连续系统设计和离散系统设计;状态空间和传递函数以及模型转换;时域响应(脉冲响应、阶跃响应、斜坡响应);频域响应(Bode 图、Nyquist 图);根轨迹、极点配置。 2、设y=23e t 4-sin(43t+3 ),要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。 程序如下: clc clear x=0:0.01:1.5; y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3); y1=diff(y); subplot(2,1,1) plot(x,y) subplot(2,1,2) plot(x(1:150),y1) 曲线如下图所示:

MATLAB仿真课程设计

电气工程工具软件课程设计-MATLAB 学号:3100501044 班级:电气1002 姓名:王辉军 指导老师:乔薇 2014年1月16日

课程设计任务:构建一个含有PID控制器的系统,观察 K(比例系数)、 p K(积分系数)、d K(微分系数)不同值时系统的变化。 i (Continuous模块库中的Zero-Pole模块)输入为阶跃函数 一.建立含有pid子系统的系统模型 (1)选用器件搭建电路 图1-1 图1-2 (2)构建PID控制器 图1-3

(3)上述结构图封装成PID控制器 ①创建子系统。选中上述结构图后再选择模型窗口菜单“Edit/Creat Subsystem” ②封装。选中上述子系统模块,再选择模型窗口菜单“Edit/Mask Subsystem” ③根据需要,在封装编辑器对话框中进行一些封装设置,包括设置封装文本、对话框、图标等。本次试验主要需进行以下几项设置:Icon(图标)项:“Drawing commands”编辑框中输入“disp(‘PID’)”,如下 左图示:Parameters(参数)项:创建Kp,Ki,Kd三个参数,如下右图示 图1-4 图1-5

(4)搭建单一回路系统结构框图如下图 图1-6 所需模块及设置:Sources模块库中Step模块;Sinks模块库中的Scope 模块;Commonly UsedBlocks模块库中的Mux模块;Continuous模块库中的Zero-Pole模块。Step模块和Zero-Pole模块设置如下: 图1-7 图1-8

二.比较以下参数的结果:(把各个仿真波形图截图标注) 图2-1 如上图可更改Kp,Ki,Kd的值以实现以下要求: (1)Kp=8.5,Ki=5.3,Kd=3.4 图2-2 (2)Kp=6.7,Ki=2,Kd=2.5

MATLAB仿真课程设计报告

北华大学 《MATLAB仿真》课程设计 姓名: 班级学号: 实习日期: 辅导教师:

前言 科学技术的发展使的各种系统的建模与仿真变得日益复杂起来。如何快速有效的构建系统并进行系统仿真,已经成为各领域学者急需解决的核心问题。特别是近几十年来随着计算机技术的迅猛发展,数字仿真技术在各个领域都得到了广泛的应用与发展。而MATLAB作为当前国际控制界最流行的面向工程和科学计算的高级语言,能够设计出功能强大、界面优美、稳定可靠的高质量程序,而且编程效率和计算效率极高。MATLAB环境下的Simulink是当前众多仿真软件中功能最强大、最优秀、最容易使用的一个系统建模、仿真和分析的动态仿真环境集成工具箱,并且在各个领域都得到了广泛的应用。 本次课程设计主要是对磁盘驱动读取系统校正部分的设计,运用自动控制理论中的分析方法,利用MATLAB对未校正的系统进行时域和频域的分析,分析各项指标是否符合设计目标,若有不符合的,根据自动控制理论中的校正方法,对系统进行校正,直到校正后系统满足设计目标为止。我组课程设计题目磁盘驱动读取系统的开环传递函数为是设计一个校正装置,使校正后系统的动态过程超调量δ%≤7%,调节时间ts≤1s。 电锅炉的温度控制系统由于存在非线性、滞后性以及时变性等特点,常规的PID控制器很难达到较好的控制效果。考虑到模糊控制能对复杂的非线性、时变系统进行很好的控制, 但无法消除静态误差的特点, 本设计将模糊控制和常规的PI D控制相结合, 提出一种模糊自适应PID控制器的新方法。并对电锅炉温度控制系统进行了抗扰动的仿真试验, 结果表明, 和常规的PI D控制器及模糊PI D复合控制器相比,模糊自适应PI D控制改善了系统的动态性能和鲁棒性, 达到了较好的控制效果。

相关文档
最新文档