文档库 最新最全的文档下载
当前位置:文档库 › 基于MATLAB的循环码实验报告

基于MATLAB的循环码实验报告

基于MATLAB的循环码实验报告
基于MATLAB的循环码实验报告

课程名称:信息论与编码

课程设计题目:循环码的编码和译码程序设计指导教师:

系别:专业:

学号:姓名:

合作者

完成时间:

成绩:评阅人:

一、实验目的:

1、通过实验了解循环码的工作原理。

2、深刻理解RS 码构造、RS 编译码等相关概念和算法。

二、实验原理

1、RS 循环码编译码原理与特点

设C 使某线性分组码的码字集合,如果对任C c c c C n n ∈=--),,,(021Λ,它的循环

移位),,,(1032)

1(---=n n n c c c c C

Λ也属于C ,则称该

码为循环码。

该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。

如果一个

线性码具有以下的属性,则称为循环码:如果n 元组

},,,{110-=n c c c c Λ是子空间S 的一个码字,则经过循环移位得到的},,,{201)1(--=n n c c c c Λ也

同样是S 中的一个码字;或者,一般来说,经过j 次循环移位后得到的

},,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c ΛΛ也是S 中的一个码字。

RS 码的编码系统是建立在比特组基础上的,即字节,而不是单个的0和1,因此它是非二进制BCH 码,这使得它处理突发错误的能力特别强。 码长:12-=m

n

信息段:t n k 2-= (t 为纠错符号数) 监督段:k n t -=2 最小码段:12+=t d

最小距离为d 的本原RS 码的生成多项式为:g(x)=(x-α)(x -α2)(x -α3)…(x -αd -2) 信息元多项式为::m(x)=m0+m1x+m2x2+…+mk -1xk-1

循环码特点有:

1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。 2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻数码间只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。

3)码字的循环特性,循环码中任一许用码经过牡环移位后,所得到的码组仍然是许用码组。

对所有的i=0,1,2,……k -1,用生成多项式g(x)除n k i

x

-+,有:

)()()(x b x g x a x

i i i

k n +=+- (2—7) 式中)(x b i 是余式,表示为:

0,1,11,)(i i k n k n i i b x b x b x b ++=----Λ (2—8)

因此,)(x b x i k n ++-是g(x)的倍式,即)(1x b x i k n ++-是码多项式,由此得到系统形式的生

成矩阵为:

(2—9)

它是一个k ?n 阶的矩阵。

同样,由G ?T H =0可以得到系统形式的一致校验矩阵为:

(2—10)

已知(7,4)循环码的生成多项式和校验多项式分别为:1)(3++=x x x g ,

1)(24+++=x x x x h 。写得其生成矩阵和校验矩阵分别为:

2、编码原理:

有信息码构成信息多项式

01

1)(m x m x m k k ++=--Λ,其中最高幂次为k-1; 用k

n x -乘以信息多项式m(x),得到的)(x m x

k

n -,最高幂次为n-1,该过程相当于把信息码

?

?

??

?

????

???=1101000011010000110100001101G ??

??

?

?????=101110001011100010111H ????

??

???

??

?=------------0,01,01,00,1,21,20,11,11,10000010001b b b b b b b b b G k n x k k k n k k k k n k ΛM M O M M O M M ΛΛΛΛ??

???

???????=------------1000100010

,00

,20

,11,01,21,11

,01,21,1Λ

Λ

ΛΛM M

O M M O M M ΛΛb b b b b b b b b H

k k k k k n k n k k n k

督位;

用g(x)除)(x m x k n -得到余式r(x),其次数必小于g(x)的次数,即小于(n-k ),将此r(x)加于信息位后做监督位,即将r(x)于

)(x m x k

n -相加,得到的多项式必为一码多项式。

1)有信息码构成信息多项式m(x)=m k-1x k-1+``````m 0 其中高幂次为k-1。

2)用x n-k 乘上信息多项式m(x),得最高幂次为n-1,做移位。 3)用g(x)除x n-k m(x)和到余式r(x)。 编码过程流程图:

3、译码原理:

1) 有接收到的y(x)计算伴了随式s(x)。 2) 根据伴随式s(x)找出对应的估值错误图样。

3) 计算c^(x)=y(x)+e^(x),得估计码字。若c^(x)= c(x),则译码正确,否则错误。

由于g(x) 的次数为n - k 次,g(x) 除E(x) 后得余式(即伴随式)的最高次数为n-k-1次,故S(x) 共

8个可能的表达式,可根据错误图样表来纠正(7,4)循环码中的一位错误。

解码过程流程图:

4、纠错能力:

由于循环码是一种线性分组码,所以其纠检错能力与线性分组码相当。而线性分组码的最小距离可用来衡量码的抗干扰能力,那么一个码的最小距离就与它的纠检错能力有关。 定理: 对于任一个),(k n 线性分组码,若要在码字内 (1) 检测个错误,要求码的最小距离1+≥e d

初始化

由R(x)确定S(x):错误!未找到

引用源。

S(x)=0,无误码误

由S(x)确定错误图样E(x) 纠错)()()(X R X E x c +=

存储c(x)

(2) 纠正个错误,要求码的最小距离12+≥t d ;

(3) 纠正个错误同时检测

个错误,则要求1++≥e t d ;

循环码的译码分检错译码与纠错译码两类。在无记忆信道上,对码字c ,差错图案e 和接收向量

r 的多项式描述为

)()()

(x e x c x r +=

定义)(x r 的伴随多项式为)(x s

1

12210))

((mod )()(--++++==r r x

s x s x s s x g x r x s Λ

由于)),((mod 0)()()

(x g x g x a x c ==所以

))()(mod ()(x g x e x s =

由此可见,0)

(≠x s 则一定有差错产生,或说满足0))()(mod (≠x g x e 的差错图样

)(x e 产生,它满足0))()(mod (=x g x e 。

循环码的检错译码即是计算)(x s 并判断是否为0

三、实验分析

1、实验测试结果,包括译码结果、误码率与信噪比之间的关系、生成多项式

理想状态下,对信号随机的提取,编码器输入为1000001110001000,

通过encode函数后,因为加入了监督码,信号变得复杂密集,

编码输出为1011000101001110110001011000

通过译码输出为1000001110001000,与编码输入一致。说明循环码的检错和纠错能力性能好。

输出多项式为:g(x)=(x+a) (x+a2) (x+a3)=a6+a5x+a4x+a3x2+ a3x +a2x+x3

以randint函数重新做一个输入信号并进行编码,结果与上例相似,输入与输出一致。

由上面所有的图可以发现,编码器输入信号并不完全相同,因为对信号的提取是随机的,所以码元也是随机的,信号经过编码器后,因为要加入监督码,所以波形变得更加密集了。信号经过译码后,波形和编码器输入信号大致相同,说明循环码的检错和纠错能力可以。

信噪比与误码率的关系比较,从图中可看出,当信噪比在20以内时,误码率相对比较大,最高达到0.45以上,而当SNR大于20后,信噪比保持很稳定。下面是误码率的数字显示:

2、实验过程遇到的问题及解决方法

刚开始并没有注意到运用循环码时可用上简便的Matlab自带函数,一直苦恼怎么进行纠错编码及解码,然后查找资料,收集了与循环码相关的函数(部分如下:)

1)encode函数

功能:编码函数

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

说明:用method指定的方法完成纠错编码。其中msg代表信息码元,是一个K列矩阵,N是编码后的码字长度;K是信息位的长度;opt是有些编码方式需要的参数。

2)decode函数

功能:译码函数

语法:msg=decode(code,N,K,method,opt1,opt2,opt3,opt4);

说明:这个函数对接收到的码字进行译码,恢复出原始的信息,译码参数和方式必须和编码时采用的严格相同。它对接收到的码字,按method指定的方式进行译码;opt1,…,opt4是可选项的参数。

3)cyclpoly函数

功能:生成循环码的生成多项式。

语法:p=cyclpoly(N,K);

p=cyclpoly(N,K,fd_flag);

说明:从p=cyclpoly(N,K)中可找到一个给定码长N和信息位长度K生成多项式p,注意不是任意给定一个多项式都可以作为生成多项式。

4)randint函数

功能:引起一致地分布的任意整数矩阵

语法:out = randint(m)

out = randint(m,n)

out = randint(m,n,rg)

out = randint(m,n,rg,state)

在进行误码率与信噪比之间的关系编程后,Matlab一直显示

其后才发现原来没有对加噪后的信号进行整形输出,于是加入for循环以四舍五入对信号进行整形设定。

for i=1:100

for a=1:k+1

if noisycode(i,a)<0.5

noisycode(i,a) = 0;

else

noisycode(i,a) = 1;

end

end

end

四、RS码在现代通信系统中的应用

RS编码起源于1960年MIT Lincoln实验室,经历了数十年的发展,RS码成为了研究最详尽,分析最透彻,应用最广泛,研究成果最多的码类之一。

1、在井下通信中的应用:由于井下空间小,供电系统布置受到很大局限,电磁干扰现象也很严重,通过选择合适的信道编码方式是抗干扰措施之一,可有效消除干扰,而由于RSce纠正t个m位的二进制错误会符号,而不管这t\个错误会符号是连续出现的还是离散出现,因此RS很适用于存在突发错误信道中,如井下工作,对系统码率的降低和可靠性的提高起重要作用。

井下采煤机与通信系统的硬件框图

2、RS码在PDS水声通信技术的应用

水声通信技术信道是随机时变空变的,其多途扩展产生的码间干扰直接影响到了水声通信的质量。而RS是一种扩展的非二进制BCH码,具有与PDS通信相结合的优势。

3、RS 码在无线高保真音频传输系统中的应用

在无线音频传输中, 如果传输的数据出现误码, 则会在播放时出现噪声或者啸叫声, 所以想要确保得到高保真的音频, 控制无线传输的误码率是必须的, 通常采用重传和纠错编码两种方法。重传机制对无线信道的带宽要求更高, 这里采用RS 纠错编码的方法来控制误码率。

五、实验程序

1、循环码编码与解码Matlab源程序(实验以(7,4)循环码进行分析)

m = 3;

n = 2^m-1; %定义码长

k = n-m; %信息位长

msg = randint(k*4,1,2); %随机提取信号,引起一致地分布的任意整数矩阵subplot(2,2,1)

title('编码器输入信号')

p=cyclpoly(n,k) %循环码生成多项式,n=7,k=4

code = encode(msg,n,k,'cyclic',p); %编码函数,对信号进行差错编码

subplot(2,2,2)

stem(code)

title('编码器输出信号')

recode=decode(code,n,k,'cyclic',p) %对信号进行译码,对接收到的码字进行译码,恢复

出原始的信息,译码参数和方式必须和编码时采用

的严格相同

subplot(2,2,3)

stem(recode)

title('译码器输出信号')

t=-1:0.01:1;

x=recode; %将recode赋值给x,并进行长度与fft设定

N=length(x);

fx=fft(x);

df=100/N;

n=0:N/2;

f=n*df;

subplot(2,2,4);

plot(f,abs(fx(n+1))*2/N); grid;

title('频谱图')

2、误码率与信噪比之间的关系程序(以(3,2)循环码进行测试)

m = 2;

n = 2^m-1; %定义码长

k = n-m; %信息位长

Fs=40; %系统采样频率

Fd=1; %码速率

N=Fs/Fd;

M=2; %进制数

for SNRpBit=1:100;%信噪比

SNR=SNRpBit/log2(M);

%制造100个信息组,每组k位

msg = randint(100,k,[0,1]);

code = encode(msg,n,k,'cyclic/binary');

%加入噪声

%在已调信号中加入高斯白噪声

noisycode=awgn(code,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');

%将浮点数转化为二进制,波形整形过程

for i=1:100

for a=1:k+1

if noisycode(i,a)<0.5

noisycode(i,a) = 0;

else

noisycode(i,a) = 1;

end

end

%译码

newmsg = decode(noisycode,n,k,'cyclic');

%计算误码率

[number,ratio]=biterr(newmsg,msg);

result(SNRpBit)=ratio;

disp(['The bit error rate is',num2str(ratio)]);

end

%不同信噪比下循环码经过加性高斯白噪声信道的误码率

figure(1)

stem(result);

title('循环码在不同信噪比下的误码率')

legend('误码率','*')

xlabel('信噪比');

ylabel('在加性高斯白噪声下的误码率');

六、实验感想

好像在做这个实验时,一直拖一直拖,到最后都快没时间了才查资料看例子,在这次基于MATLAB的通信原理课程设计中,通过查找了大量的循环码理论知识和MA TLAB仿真应用的书籍之后,开始调试程序,并进一步了解MA TLAB编程的关键字的运用,查阅资料之后进行不断的修正和更改,得出最终的结果。

这次MATLAB课程设计不仅仅加深了对课程理论知识的了解,并更加熟悉了计算机语言,软件的应用。并让我了解,学习知识不仅仅只在课本上,还有更多更广的渠道获得更宽广的知识。

七、参考文献

[1]徐明远,邵玉斌MATLAB仿真在通信与电子工程中的应用.西安:西安电子科技大学学出版社,2005.6

[2]唐向宏,岳恒立,郑雪峰MA TLAB及在电子信息类课程中的应用(第二版).北京:电子工业出版社,2009.6

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

基于MATLAB的循环码实验报告

课程名称:信息论与编码 课程设计题目:循环码的编码和译码程序设计指导教师: 系别:专业: 学号:姓名: 合作者 完成时间: 成绩:评阅人:

一、实验目的: 1、通过实验了解循环码的工作原理。 2、深刻理解RS 码构造、RS 编译码等相关概念和算法。 二、实验原理 1、RS 循环码编译码原理与特点 设C 使某 线性分组码的码字集合,如果对任C c c c C n n ∈=--),,,(021 ,它的循环 移位),,,(1032)1(---=n n n c c c c C 也属于C ,则称该 码为循环码。 该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。 如果一个 线性码具有以下的属性,则称为循环码:如果n 元组 },,,{110-=n c c c c 是子空间S 的一个码字,则经过循环移位得到的},,,{201)1(--=n n c c c c 也 同样是S 中的一个码字;或者,一般来说,经过j 次循环移位后得到的 },,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c 也是S 中的一个码字。 RS 码的编码系统是建立在比特组基础上的,即字节,而不是单个的0和1,因此它是非二进制BCH 码,这使得它处理突发错误的能力特别强。 码长:12-=m n 信息段:t n k 2-= (t 为纠错符号数) 监督段:k n t -=2 最小码段:12+=t d 最小距离为d 的本原RS 码的生成多项式为:g(x)=(x-α)(x -α2)(x -α3)…(x -αd -2) 信息元多项式为::m(x)=m0+m1x+m2x2+…+mk -1xk-1 循环码特点有: 1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。 2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻数码间只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。 3)码字的循环特性,循环码中任一许用码经过牡环移位后,所得到的码组仍然是许用码组。

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

实验二 MATLAB程序设计 含实验报告

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因 c b a 、、的不同取值而定) ,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 的值,调用该函数后,

matlab第一次实验报告

Matlab第一次实验报告 2012029010010 尹康 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x,y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 程序代码: n=input('input the number of pionts:'); a=input('input a:'); b=input('input b:'); x=[]; y=[]; x(1)=input('input x1:'); y(1)=input('input y1:'); %输入点数、初始值以及系数for i=2:n x(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2); y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输入的数据进行迭代end figure;plot(x,y,'linewidth',2) axis equal %横纵坐标等比例 text(x(1),y(1),'1st point') %标记初始点 运行结果:

心得体会及改进:在输入某些数据时,所绘曲线可能是一条折线(如:n=5,a=b=x1=1,y1=2)甚至只有一个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或无法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。 2.编程实现奥运5环图,允许用户输入环的直径。 程序代码: 函数circle: %在指定的圆心坐标处,用指定颜色、宽度的线条绘出指定半径、圆心角的弧 function f=circle(r,x,y,color,linw,alp1,alp2) alp=linspace(alp1,alp2); X=r*cos(alp)+x; Y=r*sin(alp)+y; plot(X,Y,color,'linewidth',linw) end 主程序代码: r=input('input r:');

matlab实验二实验报告及程序

昆明理工大学信息工程与自动化学院学生实验报告 ( 2011——2012 学年 第一学期 ) 课程名称:控制系统计算机辅助设计 开课实验室:信自楼 234 2011年10月28日 年级、专业、班 学号 姓名 成绩 实验项目名称 实验二 控制系统分析 指导教师 胡蓉 教师评 语 该同学是否熟悉实验内容: A.熟悉□ B.比较熟悉□ C.不熟悉□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求 : A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 注:5个A 为优,5个B 为中,介于二者间为良,5个C 为不及格,3个B以上为及格。 教师签名: 年 月 日 实验二 控制系统分析 一、 实验目的 1. 掌握如何使用Matlab 进行系统的时域分析。 2. 掌握如何使用Matlab 进行系统的频域分析。 3. 掌握如何使用Matlab 进行系统的根轨迹分析。 4. 掌握如何使用Matlab 进行系统的稳定性分析。 二、 实验内容 1.时域分析 (1)典型二阶系统传递函数为:

当ζ=0.7, ω 取2、4、6、8、10、12的单位阶跃响应。 n 程序为:>> num1=4;den1=[1,2.8,4];sys1=tf(num1,den1); >> num2=16;den2=[1,5.6,16];sys2=tf(num2,den2); >> num3=36;den3=[1,8.4,36];sys3=tf(num3,den3); >> num4=64;den4=[1,11.2,64];sys4=tf(num4,den4); >> num5=100;den5=[1,14,100];sys5=tf(num5,den5); >> num6=144;den6=[1,16.8,144];sys6=tf(num6,den6); >> step(sys1,sys2,sys3,sys4,sys5,sys6); 运行单位阶跃响应结果图为: (2)典型二阶系统传递函数为: 当ω =6, ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。 n

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

MATLAB实验报告(二) 西安邮电大学

西安邮电学院 《Matlab》 实验报告 (二) 2011- 2012 学年第 1 学期 自动化 专业: 自动0903 班级: 学号: 姓名: 2011 年10月15日

实验二 MATLAB 的基本计算 一、实验目的 1.掌握建立矩阵的方法。 2.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 3.能用MATLAB 进行基本的数组、矩阵及符号运算。 4.掌握矩阵分析的方法以及能用矩阵求逆法解线性方程组。 二、实验设备及条件 计算机一台(带有MATLAB6.5或以上版本的软件环境)。 三、实验内容 1.利用diag 等函数产生下列矩阵。 ??????????-=032570800a ???? ? ?????=8040 507 2 b 2.利用reshape 函数将1题中的a 和b 变换成行向量。

3.产生一个均匀分布在(-5,5)之间的随即矩阵(10×2),要求精确到小数点后一位。 4.已知: ???????? ??-=765 3877 34434 12A ???? ? ?? ???--=7312 033 2 1 B 求下列表达式的值:

(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵) (2) B A K *21=和B A K *.22= (3) 331^A K =和3.32^A K = (4) B A K /41=和A B K \42= (5) ],[51B A K =和]2:);],3,1([[52^B A K =

5.下面是一个线性方程组: ???? ? ?????=????????????????????52.067.095.03216/15 /14 /15/14/13/14/13/12/1x x x (1) 求方程的解 (2) 将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变 6.利用randn 函数产生均值为0,方差为1的6×6正态分布随机矩阵C ,然后统计C 中大于-0.3,小于0.3的元素个数t

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

实验二MATLAB程序设计含实验报告

实验二 M A T L A B 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x) 选择一些数据测试你编写的函数。 5. 编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0

浅析Matlab数学实验报告

数学实验报告 姓名: 班级: 学号: 第一次实验任务 过程: a=1+3i; b=2-i; 结果: a+b =3.0000 + 2.0000i a-b =-1.0000 + 4.0000i a*b = 5.0000 + 5.0000i a/b = -0.2000 + 1.4000i 过程: x=-4.5*pi/180; y=7.6*pi/180; 结果: sin(abs(x)+y)/sqrt(cos(abs(x+y))) =0.2098 心得:对于matlab 中的角度计算应转为弧度。 (1)过程: x=0:0.01:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); y4=log(x); plot(x,y1,x,y2,x,y3,x,y4) plot(x,y1,x,y2,x,y3,x,y4) 结果: (2)过程:>> subplot(2,2,1) >> plot(x,y1) >> subplot(2,2,2) >> plot(x,y2) ./,,,,2,311b a b a b a b a i b i a ?-+-=+=计算、设有两个复数 6,7,5.4)

cos()sin(2=-=++y x y x y x ,其中、计算的图形。 下分别绘制)同一页面四个坐标系)同一坐标系下(、在( x y e y x y x y x ln ,,cos ,sin 213==== >> subplot(2,2,3) >> plot(x,y3) >> subplot(2.2.4) >> subplot(2,2,4) >> plot(x,y4) 结果: 心得:在matlab中,用subplot能够实现在同一页面输出多个坐标系的图像,应注意将它与hold on进行区别,后者为在同一坐标系中划出多条曲线。 5、随机生成一个3x3矩阵A及3x2矩阵B,计算(1)AB,(2)对B中每个元素平方后得到的矩阵C,(3)sinB,(4)A的行列式,(5)判断A是否可逆,若可逆,计算A的逆矩阵,(6)解矩阵方程AX=B,(7)矩阵A中第二行元素加1,其余元素不变,得到矩阵D,计算D。 过程:A=fix(rand(3,3).*10) ; B=fix(rand(3,3).*10);

循环码

实验、循环码编译码系统 一、 实验目的: 1、熟悉循环码的编译码原理; 2、掌握Quartus Ⅱ开发软件的运用,在该软件下熟练的运用多种输入方式完成各种电路设计的要求; 3、初步掌握VHDL 语言,能够运用该语言编写简单的程序,完成设计要求; 4、熟悉对PLD 的下载和仿真,学会观察测试结果的正确性; 5、学会运用各方面知识,设计并实现一个系统。 二、 实验要求: 使用Quartus Ⅱ软件,用m 序列发生器作为信号源设计循环码编译码,速率可自定,并在实验箱上调试出编码和译码波形,比较信号源和译码后的信号波形。 三、实验设备: Quartus II 软件、Modelsim 软件、FPGA 实验箱、微机1台、示波器1台 四、实验原理: 1、 循环码的编码 循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。若(1n a - 2n a -…… 1a 0a )为一循环码组,则(2n a - 3n a -……0a 1n a -)、(3n a - 4n a -……1n a - 2n a -)、……还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。表1-2给出了一种(7,3)循环码的全部码字。 可以将循环码码组用代数多项是来表示,这个多项式被称为码多项式,对于表1-2中的任一码组可以表示为: 654326543210()A x a x a x a x a x a x a x a =++++++ (1-4) 表1-2一种(7,3)循环码的全部码字

在码多项式运算中采用按模运算法则。若一任意多项式F (x )被一个n 次多项式N (x )除,得到商式Q (x )和一个次数小于n 的余式R (x ),也就是: ()() ()()() F x R x Q x N x N x =+ (1-5) 则可以写为:F (x )≡R (x )(模N (x ))。 这时,码多项式系数仍按模2运算,即只取值0和1,假设:计算x 4+x 2+1除以x 3+1的值可得: 42233 11 11 x x x x x x x ++++=+++ (1-6) 循环码的生成多项式和生成矩阵:(全0码字除外)称为生成多项式,用g (x )表示。 可以证明生成多项式g (x )具有以下特性: (1)g (x )是一个常数项为1的r=n-k 次多项式; (2)g (x )是1n x +的一个因式; (3)该循环码中其它码多项式都是g (x )的倍式。 一旦生成多项式g (x )确定以后,该循环码的生成矩阵就可以确定,进而该循环码的所有码字就可以确定。 以表1-2的(7,3)循环码为例,来构造它的生成矩阵和生成多项式,这个循环码主要参数为,n =7,k =3,r =4。从表中可以看到,其生成多项式可以用第1码字构造: 421()()1g x A x x x x ==+++ (1-7) 2643253242()()()()1x g x x x x x G x xg x x x x x g x x x x ???? +++???? ==+++????????+++???? (1-8) 一个较简单的系统循环码编码方法:设要产生(n ,,k )循环码,m (x )表示信息多项式,则其次数必小于k ,而()n k x m x -?的次数必小于n ,用()n k x m x -?除以g (x ), 可得余数r (x ),r (x )的次数必小于(n-k ),将r (x )加到信息位后作监督位,就得到了系统 循环码。下面就将以上各步处理加以解释。 (1)用n k x -这一运算实际上是把信息码后附加上(n-k )个“0”。例如,信息码为110, 它相当于2 ()m x x x =+。当n-k =7-3=4时,65()n k x m x x x -?=+,它相当于1100000。而希望的到得系统循环码多项式应当是()()()n k A x x m x r x -=?+。 (2)求r (x )。由于循环码多项式A (x )都可以被g (x )整除,也就是:

MATLAB入门实验报告

MATLAB实验报告 题目:第一次实验报告 学生姓名: 学院: 专业班级: 学号: 年月

MATLAB第一次实验报告 ————入门第一次上机实验刘老师就MATLAB软件进行了 大致的讲解,并讲了如何建立M文件,定义函数数 组矩阵,如何绘图。先就老师讲解及自己学习的情 况做汇报。 一、建立M文件 <1>M文件建立方法: 1. 在MATLAB中,点:File→New →M-file 2. 在编辑窗口中输入程序内容 3. 点File →Save,存盘,M文件名必须与函数名 一致 <2>课上实例 例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2 答:建立M文件:fun.m function f=fun(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2 如此便可以直接使用函数fun.m 例如计算f(1,2), 只需在MATLAB命令窗口键入命

令: x=[1 2] fun(x) 得f = 100. <3>课下作业 题目:有一函数,写一程序,输入自变量的值,输出函数值. 解答:建立M文件:zuoye1.m function f=zuoye1(x,y) f=x^2+sin(x*y)+2*y 命令行输入x=1,y=1 zuoye1(x,y) 得ans = 3.8415 经验算答案正确,所以程序正确。

二、定义数组、矩阵 <1>说明 逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列 <2>课后作业 题目:有一个4x5矩阵,编程求出其最大值及其所处的位置. 解答:a=round(10*rand (4,5)) [temp I]=max(a) [am II]=max(temp) p=[I(II) II] 运行得一随机矩阵 a = 7 7 7 3 7 0 8 2 0 3 8 7 7 1 10 9 4 0 8 0 temp =

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab第二次实验报告 小组成员: 1题目:实验四,MATLAB选择结构与应用实验 目的:掌握if选择结构与程序流程控制,重点掌握break,return,pause语句的应用。 问题:问题1:验证“哥德巴赫猜想”,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6的偶数,由input语句实现。由if判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n-i) break end

end end 结果分析: 如上图,用户输入了大于6的偶数返回两个质数5和31,通过不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问题。

matlab(7-4)汉明码和(7-4)循环码的编程设计

二、创新实验设计 创新实验一:(7,4)汉明码的编码与译码实现 1、实验目的 实现(7,4)汉明码的编码与译码,通过这次实验不但加深了对汉明码编码和译码原理了解,而且对线性分组码有所了解。 2、实验原理 线性分组码的构造方法比较简单、理论较为成熟,应用比较广泛。汉明码是一种能够纠正一个错码的效率比较高的线性分组码,下面以(7,4)码为例就汉明码的编码与译码分别进行介绍: (1)编码原理 一般来说,若汉明码长为n ,信息位数为k ,则监督位数r=n-k 。若希望用r 个监督位构造出r 个监督关系式来指示一位错码的n 种可能位置,则要求 21r n -≥或211r k r -≥++ (1) 设汉明码(n,k )中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r ≥3。若取r=3,则n=k+r=7。这样就构成了(7,4)码。用6543210 a a a a a a a 来表 示这7个码元,用 123 s s s 的值表示3个监督关系式中的校正子,则 123 s s s 的值与 错误码元位置的对应关系可以规定如表1所列。 表2.1 校正子和错码位置的关系 则由表1可得监督关系式: 16542 s a a a a =⊕⊕⊕ ()2 26531s a a a a =⊕⊕⊕ ()3 36430s a a a a =⊕⊕⊕ ()4 在发送端编码时,信息位6543 a a a a 的值决定于输入信号,因此它们是随机的。 监督位 2 a 、 1 a 、 a 应根据信息位的取值按监督关系来确定,为使所编的码中无

错码,则123,,S S S 等于0,即 654265316 43000(5)0 a a a a a a a a a a a a ⊕⊕⊕=?? ⊕⊕⊕=??⊕⊕⊕=? 方程组(5)可等效成如下矩阵形式 6543210111010001101010010110010a a a a a a a ?? ???? ????????????=???????????????? ???????? (6) 式(6)可简化为0T T HA =,H 为监督矩阵,则由式(6)可得到监督矩阵 11101001101010=[P I ] (7)1011001r H ?? ??=?? ???? M 因为生成矩阵'=[I Q]=[I ]k k G P M ,所以由(7)得生成矩阵G 如下: []k 10001 1101001 10[']00101010001011k G I Q I P ????? ?===?? ? ??? 然后利用信息位和生成矩阵G 相乘产生整个码组,即有 [][]65432106543=(8)A a a a a a a a a a a a G = 其中A 为整个码组矩阵,6543a a a a 是信息位。 根据上述原理可以得到(7,4)汉明码的整个码组。 (2)译码与检错、纠错原理 当数字信号编码成汉明码后,由于信道噪声的存在,使得经过信道后的汉明码会发生差错,使得接收端接收到错码,因此需要多错码进行纠正,以提高通信系统的抗干扰能力及可靠性。下面分析纠错译码原理。 设B 为接收码组,它是一行7列的矩阵,即1234567=[]B b b b b b b b ,B 中可能含有

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1

循环码二步大数逻辑译码原理实验

H a r b i n I n s t i t u t e o f T e c h n o l o g y 信息论与编码 实验报告 实验名称:循环码二步大数逻辑译码原理实验院系:电子与信息工程学院通信工程系班级:10硕通信一班 姓名: 学号: 设计时间:2010-11-20 哈尔滨工业大学

一、 实验内容 已知一个(7,4)系统循环码的生成多项式为g x =x 3+x +1,设计基于此生成多项式的大数逻辑译码器。 二、 实验原理 2.1 多项式的除法电路 本实验的输入为串行数据,因而只考虑串行数据的除法电路。 假设多项式r x =r n x n +r n ?1x n?1+?+r 1x +r 0,g x =g r x r +g r?1x r?1+?+g 1x +g 0,且有r ≤n ,则r x 除以g x 的除法电路的一般形式如图1。 图1 多项式除法的一般电路 图1中,输入序列按r n ?1r n …r 0的顺序输入,右上方的输出为商多项式,待r 0输入结束后,各寄存器中的数据为余式多项式。 在二进制的情况下,模2加法等效于模2减法,且g x 的系数只可能为0或1,因而除法电路可进一步简化,例如,g x =x 3+x +1对应的除法电路如图2所示。 图2 除式为g x =x 3+x +1的除法电路 在本实验中,只对余式感兴趣,在输入序列完毕后,余式为s x =s 2x 2+s 1x +s 0。 2.2 循环码的译码原理 假设系统循环码的生成多项式为g x =g r x r +g r?1x r?1+?+g 1x +g 0,接收到的一组循环码字的多项式表示为r x =r n x n +r n ?1x n?1+?+r 1x +r 0,则按照以下方法译码: i) 求r x 除以g x 的余式s x ,定义此余式为校验子多项式。 ii) 根据校验子多项多生成错误图样e x 。

相关文档
相关文档 最新文档