基于MATLAB对卷积码的性能分析

基于MATLAB对卷积码的性能分析
基于MATLAB对卷积码的性能分析

基于MATLAB对卷积码的性能分析

【摘要】本文对比了在加性高斯白噪声(AWGN)信道下经BPSK调制后的数据不编码与添加卷积编码后接收到的信道输出的误码性能,并通过对比对卷积码性能进行分析。采用MATLAB自编函数对[2,1,8]卷积码以及维特比译码进行仿真,且对其性能进行分析。由于卷积码有性能floor,编码增益随信噪比降低而体现不明显。仿真结果表明:当信噪比等于-1dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率大于10-1,且该序列运用[2,1,8]卷积码编码,维特比译码(硬判决)后所得的序列误比特率升高。当信噪比为2dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率约为4*10-2,且该序列运用[2,1,8]卷积码编码,维特比译码后所得的序列误比特率小于10-3,误码率远低于不编码时的误码率。因此卷积码适用于信道输出误码率比较低时候。

【关键词】维特比译码;卷积码;误比特率;马尔科夫性

1.引言

卷积码的编码器是由一个有k位输入、n位输出,且具有m位移位寄存器构成的有限状态的有记忆系统,通常称它为时序网络。[1]编码器的整体约束长度为v,是所有k个移位寄存器的长度之和。具有这样的编码器的卷积码称作[n,k,v]卷积码。对于一个(n,1,v)编码器,约束长度v等于存储级数m。卷积码是由k个信息比特编码成n(n>k)比特的码组,编码出的n比特码组值不仅与当前码字中的k个信息比特值有关,而且与其前面v个码组中的v*k个信息比特值有关。

卷积码有三种译码方式:序列译码、门限译码和概率译码。其中,概率译码根据最大似然译码原理在所有可能路径中求取与接收路径最相似的一条路径,具有最佳的纠错性能,[2]维特比译码是概率译码中极重要的一种方式。

序列译码和门限译码则不一定能找出与接收路径最相似的一条路径。不同于维特比译码,门限译码与序列译码所需的计算量是可变的且对于给定信息分组的最终判决仅仅基于(m+1)个接收分组,而不是基于整个接收序列。[3]与维特比译码所使用的对数似然量度不同,序列译码所使用的量度为Fano量度。在接收序列受扰严重的情况下,序列译码的计算量大于维特比译码所需的固定计算量,虽然序列译码要求的平均计算次数通常小于维特比译码。在采用并行处理的情况下,维特比译码的速度会优于序列译码。在同样码率和存储级数的条件下,门限译码的性能比维特比译码低大约3dB。

维特比译码的数据输出方式有硬判决及软判决两种方式,本文选取生成多项式为561,753的(2,1,8)卷积码对硬判决的性能进行分析,并依据维特比译码的原理以及卷积码的特性,对卷积码编码和维特比译码过程在加性高斯白噪声(AWGN)信道下进行仿真,并且根据仿真结果对维特比译码(硬判决)的结果

00实验三 基于MATLAB的根轨迹绘制与性能分析

实验四基于MATLAB的根轨迹绘制与性能分析 [实验目的] 1.掌握MATLAB下的根轨迹绘制方法; 2.学会利用根轨迹进行系统分析。 [实验指导] 1.根轨迹作图函数(命令):rlocus( ) 调用格式: ①rlocus(sys) 或rlocus(num,den) ②rlocus(sys,k) ①②画根轨迹图,①变化参量(一般是根轨迹增益)范围系统自动给出; ②变化参量(一般是根轨迹增益)范围在程序中给出; ③r=rlocus(sys) ④ [r,k]=rlocus(sys) ③④不画根轨迹图,③返回闭环根向量;④返回闭环根向量(r)和变化参量(k)。 2.根与根轨迹增益的求取 ⑴在根轨迹上点击,可得到该点的根值和对应的根轨迹增益值。 ⑵使用计算给定根的根轨迹增益的函数(命令):rlocfind( ) 调用格式: ①[k,poles]=rlocfind(sys) ②[k,poles]= rlocfind(sys,p) 使用方法:

①首先,当前根轨迹已绘出。运行该命令时,在根轨迹图中显示出十字光标,当用户选择其中一点时,其相应的增益由k 记录,与增益相关的所有极点记录poles 中;同时,在命令行窗口显示出来。 ②事先事先给出极点p ,运行该命令时,除了显示出该根对应的增益以外,还显示出该增益对应的其它根。 3.开环零点极点位置绘图函数(命令): pzmap( ) 调用格式: ① pzmap(sys) ② [p,z]=pzmap(sys) 函数功能: 给定系统数学模型,作出开环零点极点位置图。 ① 零点极点绘图命令。零点标记为“+”,极点标记为“o”。 ② 返回零点极点值,不作图。 4.根轨迹渐进线的绘制 当根轨迹渐进线与实轴的交点σa 已求出后,可得到方程11()n m a K s σ-=--, 这是根轨迹渐进线的轨迹方程。 将1()() n m a K G s s σ-= -作为一个开环传递函数,录入到MATLAB 中,再使用根 轨迹作图函数(命令)rlocus( ),生成的轨迹就是原根轨迹的渐进线。 5.举例 例1:开环传递函数1 ()(1)(2) K G s s s s =++绘制其闭环根轨迹。 程序: >> z=[];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys) 运行结果:

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力D随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和译码原理o并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。得出了以下三个结论z (1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。 (2)对于码率一定的卷积码,当约束长度N发生变化时,系统的误码性能也会随之发生变化。 (3)回溯长度也会不同程度上地影响误码性能。 关键词:卷积码:码率:约束长度:回溯长度

Simulation and Research on Encoding and Decoding of Convolution Code Abstract Convolution code has a superior performance of the channel code. It is easy to coding and decoding.An d it has a strong ability to correct e盯ors. As correcting coding theory has a long development,the practice of convolution code is more and more extensive.In由1S由esis,the principle of convolution coding and decoding is introduced simply白rstly. Then由e whole simulation module process of encoding,decoding and the Error Rate Calculation is completed in由is design. Finally,in order to understand 由eir performances of error rate,many changes in parameters of convolution code are calculated in the simulation process.Af ter simulation and me皿UTe,an analysis of test results is presented.Th e following由ree conclusions are draw: (l)Wh en the rate of convolution Code ch皿ges,HER performance of the systemwill change. (2) For a certain rate of convolution code,when由ere is a change in the constraint length of N,BER perfonnance of由e system will change. (3) Re位ospec咀ve length will affect BE R. Key words: convolution code; rate; cons缸aint leng由; retrospective length;

matlab性能分析

Matlab 程序性能分析 一、简单计算程序运行时间:tic,toc—— Measure performance using stopwatch timer 基本用法:tStart=tic; any_statements; tElapsed=toc(tStart); 计时单位是“秒”;tic用于设置计时器开始,toc设置计时器结束;手册说tStart是一个64位的整数,仅用于toc参数时有意义,经测试tic是微妙级的计时器。示例: some_time = rand * 2 %% example 1: time measured by tic-toc tStart = tic; pause(some_time); tElapsed_toc = toc(tStart) %% example 2: time measured by tic-tic tStart = tic; pause(some_time); tElapsed_tic = double(tic-tStart) / 1000000 %% example 3: time measured by tic-tocs tStart = tic; pause(some_time); tElapsed_toc1 = toc(tStart) some_time = rand * 2 pause(some_time); tElapsed_toc2 = toc(tStart) tElapsed_toc_toc = tElapsed_toc2 - tElapsed_toc1 示例1展示了tic-toc的基本用法,示例2展示了只用tic实现的计时功能,示例3展示了利用一个tic和多个toc实现程序的分段计时。 二、不推荐使用的程序计时工具:cputime 和 clock & etime cputime的用法:t = cputime; any_statements; e = cputime-t clock & etime的用法:t = clock; any_statements; e = etime(clock, t) Matlab推荐用tic-toc计时,而不是这两种计时工具,具体请参考帮助文档。 三、全面分析程序运行时间:Profiler profile 只能分析Matlab代码编写的函数的运行时间(如ls,magic等),若函数非Matlab代码(如svd,dir等),无法分析其运行时间。 1、启动Profiler的三种方法 (1)从菜单栏启动:Desktop --> Profiler; (2)从Matlab的Editor中启动:Tools --> Open Profiler; (3)从命令行启动:profile -history -historysize integer-timer clock on

利用matlab分析系统动态性能

利用matlab分析系统动态性能

控制系统的时域分析 一.系统阶跃响应的性能指标 表 1 系统性能指标 利用 matlab 程序求出各系统阶跃响应的性能指标及图像,如求原系统 1 的方程: num=1.05; den=conv([0.125,1],conv([0.5,1],[1,1,1])); G=tf(num,den); C=dcgain(G); [y,t]=step(G); plot(t,y) grid [Y,K]=max(y); tp=t(K) mp=100*(Y-C)/C n=1; while y(n)0.98*C)&&(y(i)<1.02*C) i=i-1; end ts=t(i)

图 1 系统 1 阶跃响应曲线图二.根据系统性能指标及图像分析系统 1.利用 Matlab 得各系统节约系统曲线,如图 2:num1=1.05; den1=conv([0.125,1],conv([0.5,1],[1,1,1])); G1=tf(num1,den1); [y1,t1]=step(G1); num2=1.05*[0.4762,1]; den2=conv([0.125,1],conv([0.5,1],[1,1,1])); G2=tf(num2,den2); [y2,t2]=step(G2); num3=1.05*[1,1]; den3=conv([0.125,1],conv([0.5,1],[1,1,1])); G3=tf(num3,den3); [y3,t3]=step(G3); num4=1.05*[0.4762,1]; den4=conv([0.25,1],conv([0.5,1],[1,1,1])); G4=tf(num4,den4); [y4,t4]=step(G4); num5=1.05*[0.4762,1]; den5=conv([0.5,1],[1,1,1]); G5=tf(num5,den5); [y5,t5]=step(G5); num6=1.05; den6=[1,1,1]; G6=tf(num6,den6);

Matlab中卷积码译码器的误码率分析

长沙理工大学 《通信原理》课程设计报告 郭林 学院计算机与通信工程专业通信工程 班级540802 学号11 学生姓名郭林指导教师龙敏 课程成绩完成日期2008年1月11日

基于Matlab的卷积码译码器的 设计与仿真 学生姓名:郭林指导老师:** 摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出, 并通过Matlab软件进行设计与仿真,并进行误码率分析。在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。 关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真 1引言 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通 过Matlab软件进行设计与仿真。卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。 1.1课程设计目的 卷积码是一种向前纠错控制编码。它将连续的信息比特序列映射为连续的编码器输出符号。这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。 本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理 卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。 卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。 卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。 当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。 2维特比译码原理 采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。 下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

QAM调制与解调的MATLAB实现及调制性能分析

通信原理课程设计报告书 课题名称 16QAM 调制与解调 的MATLAB 实现及调制性能分析 姓 名 学 号 学 院 通信与电子工程学院 专 业 通信工程 指导教师 李梦醒 2012年 01 月 01日 ※※※※※※※※※ ※※ ※ ※ ※ ※ 2009级通信工程专业 通信原理课程设计

16QAM调制与解调的MATLAB实现及调制性能分 析 1 设计目的 (1)掌握16QAM调制与解调的原理。 (2)掌握星座图的原理并能熟悉星座图的应用。 (3)熟悉并掌握MATLAB的使用方法。 (4)通过对16QAM调制性能的分析了解16QAM调制相对于其它调制方式的优缺点。 2 设计原理 正交振幅调制(Quadrature Amplitude Modulation,QAM)是一种振幅和相位联合键控。虽然MPSK和MDPSK等相移键控的带宽和功率方面都具有优势,即带宽占用小和比特噪声比要求低。但是由图1可见,在MPSK体制中,随着 8/ 5π 8/ 3π 8/ π 8/ 7π 8/ 9π 8/ 11π 8/ 13π

8/15π 图 1 8PSK 信号相位 M 的增大,相邻相位的距离逐渐减小,使噪声容限随之减小,误码率难于保证。为了改善在M 大时的噪声容限,发展出了QAM 体制。在QAM 体制中,信号的振幅和相位作为两个独立的参量同时受到调制。这种信号的一个码元可以表示为 0()cos() (1)k k k s t A t kT t k T ωθ=+<≤+ (2—1) 式中:k=整数;k A 和k θ分别可以取多个离散值。 式(2—1)可以展开为 00()cos cos sin sin k k k k k s t A t A t θωθω=- (2—2) 令 X k = A k cos k , Y k = -A k sin k 则式(2—1)变为 00()cos sin k k k s t X t Y t ωω=+ (2—3) k X 和k Y 也是可以取多个离散的变量。从式(2—3)看出,()k s t 可以看作是两个 正交的振幅键控信号之和。 在式(2—1)中,若k 值仅可以取 /4和-/4,A k 值仅可以取+A 和-A , 则此QAM 信号就成为QPSK 信号,如图2所示: 图2 4QAM 信号矢量图

Matlab的卷积码译码器的仿真要点

基于Matlab的卷积码译码器的 设计与仿真 学生姓名:指导老师:** 摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出, 并通过Matlab软件进行设计与仿真,并进行误码率分析。在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。 关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真 1引言 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通 过Matlab软件进行设计与仿真。卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。 1.1课程设计目的 卷积码是一种向前纠错控制编码。它将连续的信息比特序列映射为连续的编码器输出符号。这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。 本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理 卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。 卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。 卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。 当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。 2维特比译码原理 采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。 下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

卷积码matlab程序

卷积编码程序: function [output, len_tal] = cnv_encd(secrettext, encodetext) g = [0 0 1 0 0 1 0 0; 0 0 0 0 0 0 0 1; 1 0 0 0 0 0 0 1; 0 1 0 0 1 1 0 1]; k0 = 1; % 读入文本文件并计算文件长度 frr = fopen(secrettext, 'r'); [msg, len] = fread(frr, 'ubit1'); msg = msg'; % check to see if extra zero padding is necessary if rem(length(msg), k0) > 0 msg = [msg, zeros(size(1:k0-rem(length(msg),k0)))]; end n = length(msg)/k0; % 把输入比特按k0分组,n为所得的组数。 % check the size of matrix g if rem(size(g, 2), k0) > 0 error('Error, g is not of the right size.'); end % determine L and n0 L = size(g, 2)/k0; n0 = size(g, 1); % add extra zeros,以保证编码器是从全0开始,并回到全0状态。 u = [zeros(size(1:(L-1)*k0)), msg, zeros(size(1:(L-1)*k0))]; % generate uu, a matrix whose columns are the contents of conv. encoder at % various clock cycles. u1 = u(L*k0: -1 :1); for i = 1:n+L-2 u1 = [u1, u((i+L)*k0:-1:i*k0+1)]; end uu = reshape(u1, L*k0, n+L-1); % determine the output output = reshape(rem(g*uu, 2), 1, n0*(L+n-1)); len_tal = n0*(L + n - 1);

(完整版)功率谱估计性能分析及Matlab仿真

功率谱估计性能分析及Matlab 仿真 1 引言 随机信号在时域上是无限长的,在测量样本上也是无穷多的,因此随机信号的能量是无限的,应该用功率信号来描述。然而,功率信号不满足傅里叶变换的狄里克雷绝对可积的条件,因此严格意义上随机信号的傅里叶变换是不存在的。因此,要实现随机信号的频域分析,不能简单从频谱的概念出发进行研究,而是功率谱[1]。 信号的功率谱密度描述随机信号的功率在频域随频率的分布。利用给定的 N 个样本数据估计一个平稳随机信号的功率谱密度叫做谱估计。谱估计方法分为两大类:经典谱估计和现代谱估计。经典功率谱估计如周期图法、自相关法等,其主要缺陷是描述功率谱波动的数字特征方差性能较差,频率分辨率低。方差性能差的原因是无法获得按功率谱密度定义中求均值和求极限的运算[2]。分辨率低的原因是在周期图法中,假定延迟窗以外的自相关函数全为0。这是不符合实际情况的,因而产生了较差的频率分辨率。而现代谱估计的目标都是旨在改善谱估计的分辨率,如自相关法和Burg 法等。 2 经典功率谱估计 经典功率谱估计是截取较长的数据链中的一段作为工作区,而工作区之外的数据假设为0,这样就相当将数据加一窗函数,根据截取的N 个样本数据估计出其功率谱[1]。 周期图法( Periodogram ) Schuster 首先提出周期图法。周期图法是根据各态历经的随机过程功率谱的定义进行的谱估计。 取平稳随机信号()x n 的有限个观察值(0),(1),...,(1)x x x n -,求出其傅里叶变换 1 ()()N j j n N n X e x n e ω ω---==∑ 然后进行谱估计

基于MATLAB的卷积码的分析与应用

基于MATLAB的卷积码的分析与应用

毕业设计(论文)任务书

基于MATLAB的卷积码的分析与应用 摘要 随着现代通信的发展,特别是在未来4G通信网络中,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。因为信道状况的恶劣,信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。前者常常受条件限制,不是所有情况都能采用。因此差错控制编码得到了广泛应用。 介绍了多种信道编码方式,着重介绍了卷积码的编码方法和解码方式。介绍了MATLAB的使用方法、编程方法、语句、变量、函数、矩阵等。介绍了TD-SCDMA通信系统和该系统下的卷积码,搭建了系统通信模型。编写卷积码的编码和解码程序。用MATLAB仿真软件对TD-SCDMA系统的卷积码编解码进行仿真。对其纠正错码性能进行验证,并且对误码率进行仿真和分析。卷积码的编码解码方式有很多,重点仿真Viterbi算法。Viterbi算法就是利用卷积码编码器的格图来计算路径度量,选择从起始时刻到终止时刻的惟一幸存路径作为最大似然路径。沿着最大似然路径回溯到开始时刻,所走过的路径对应的编码输出就是最大似然译码输出序列。它是一种最大似然译码方法,当编码约束长度不大、或者误码率要求不是很高的情况下,Viterbi译码器设备比较简单,计算速度快,因而Viterbi译码器被广泛应用于各种领域。 关键词:卷积码;信道编码;TD-SCDMA;MATLAB

目录 毕业设计(论文)任务书 ............................................................................................I 摘要........................................................................................................................... II Abstract......................................................................................... 错误!未定义书签。第1章绪论 . (1) 1.1课题研究的背景和来源 (1) 1.2主要内容 (2) 第2章相关理论介绍 (3) 2.1信道编码 (3) 2.1.1 信道编码的分类 (3) 2.1.2 编码效率 (3) 2.2线性分组码 (3) 2.3循环码 (5) 2.4卷积码 (6) 2.4.1 卷积码简介 (7) 2.4.2 卷积码的编码 (7) 2.4.3 卷积码的解码 (13) 第3章MATLAB应用 (21) 3.1数和算术的表示方法 (21) 3.2向量与矩阵运算 (21) 3.2.1 通过语句和函数产生 (21) 3.2.2 矩阵操作 (22) 3.3矩阵的基本运算 (22) 3.3.1 矩阵乘法 (22) 3.3.2 矩阵除法 (23) 3.4MATLAB编程 (23) 3.4.1 关系运算 (23) 3.4.2 控制流 (25) 第4章卷积码的设计与仿真 (27) 4.1TD-SCDMA系统 (27) 4.1.1 系统简介 (27) 4.1.2 仿真通信系统模型 (27)

基于MATLAB对卷积码的性能分析

基于MATLAB对卷积码的性能分析 【摘要】本文对比了在加性高斯白噪声(AWGN)信道下经BPSK调制后的数据不编码与添加卷积编码后接收到的信道输出的误码性能,并通过对比对卷积码性能进行分析。采用MATLAB自编函数对[2,1,8]卷积码以及维特比译码进行仿真,且对其性能进行分析。由于卷积码有性能floor,编码增益随信噪比降低而体现不明显。仿真结果表明:当信噪比等于-1dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率大于10-1,且该序列运用[2,1,8]卷积码编码,维特比译码(硬判决)后所得的序列误比特率升高。当信噪比为2dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率约为4*10-2,且该序列运用[2,1,8]卷积码编码,维特比译码后所得的序列误比特率小于10-3,误码率远低于不编码时的误码率。因此卷积码适用于信道输出误码率比较低时候。 【关键词】维特比译码;卷积码;误比特率;马尔科夫性 1.引言 卷积码的编码器是由一个有k位输入、n位输出,且具有m位移位寄存器构成的有限状态的有记忆系统,通常称它为时序网络。[1]编码器的整体约束长度为v,是所有k个移位寄存器的长度之和。具有这样的编码器的卷积码称作[n,k,v]卷积码。对于一个(n,1,v)编码器,约束长度v等于存储级数m。卷积码是由k个信息比特编码成n(n>k)比特的码组,编码出的n比特码组值不仅与当前码字中的k个信息比特值有关,而且与其前面v个码组中的v*k个信息比特值有关。 卷积码有三种译码方式:序列译码、门限译码和概率译码。其中,概率译码根据最大似然译码原理在所有可能路径中求取与接收路径最相似的一条路径,具有最佳的纠错性能,[2]维特比译码是概率译码中极重要的一种方式。 序列译码和门限译码则不一定能找出与接收路径最相似的一条路径。不同于维特比译码,门限译码与序列译码所需的计算量是可变的且对于给定信息分组的最终判决仅仅基于(m+1)个接收分组,而不是基于整个接收序列。[3]与维特比译码所使用的对数似然量度不同,序列译码所使用的量度为Fano量度。在接收序列受扰严重的情况下,序列译码的计算量大于维特比译码所需的固定计算量,虽然序列译码要求的平均计算次数通常小于维特比译码。在采用并行处理的情况下,维特比译码的速度会优于序列译码。在同样码率和存储级数的条件下,门限译码的性能比维特比译码低大约3dB。 维特比译码的数据输出方式有硬判决及软判决两种方式,本文选取生成多项式为561,753的(2,1,8)卷积码对硬判决的性能进行分析,并依据维特比译码的原理以及卷积码的特性,对卷积码编码和维特比译码过程在加性高斯白噪声(AWGN)信道下进行仿真,并且根据仿真结果对维特比译码(硬判决)的结果

MATLAB OFDM卷积编码程序及代码

%bin22deci.m function y=bin22deci(x) %将二进制数转化为十进制数 t=size(x,2); y=(t-1:-1:0); y=2.^y; y=x*y'; %************************end of file*********************************** %comb.m %AWGN加噪声程序 function[iout,qout]=comb(idata,qdata,attn) %******************variables************************* %idata:输入I信道数据 %qdata:输入Q信道数据 %iout输出I信道数据 %qout输出Q信道数据 %attn:由信噪比导致的衰减系数 %****************************************************** iout=randn(1,length(idata)).*attn; qout=randn(1,length(qdata)).*attn; iout=iout+idata(1:length(idata)); qout=qout+qdata(1:length(qdata)); %************************end of file*********************************** %crdemapping.m %数据逆映射载波程序 function[iout,qout]=crdemapping(idata,qdata,fftlen,nd); %******************variables************************* %idata:输入I信道的数据 %qdata:输入Q信道的数据 %iout:输出I信道的数据 %qout:输出Q信道的数据 %fftlen:FFT的长度 %nd:OFDM符号数 %***************************************************** iout(1:26,:)=idata(2:27,:); qout(1:26,:)=qdata(2:27,:); iout(27:52,:)=idata(39:64,:); qout(27:52,:)=qdata(39:64,:); %********************end of file*************************** %crmapping.m

用MATLAB进行控制系统的动态性能的分析报告

用MATLAB 进行控制系统的动态性能的分析 初始条件:已知三阶系统的闭环传递函数为 )64.08.0)(11 (7 .2)(2+++= s s s a s G 分析系统的动态性能。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、 用MATLAB 函数编程,求系统的动态性能指标。 2、 设64.08.02++s s 的根是系统的主导极点,编制程序,求系统的动态性能指标。 3、 用MATLAB 编制程序分析a =0.84,a =2.1,a =4.2系统的阶跃响应曲线,分析高阶系统忽略附加极点,近似为二阶系统的条件。 4、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB 程序和MATLAB 输出。说明书的格式按照教务处标准书写。 时间安排:

指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 用MATLAB 进行控制系统的动态性能的分析 1 MATLAB 函数编程 1.1 传递函数的整理 已知三阶系统的闭环传递函数为: )64.08.0)(11 (7 .2)(2+++= s s s a s G 整理成一般式可以得到: G(s)= a s a s a s a 64.0)8.064.0()8.0(7.223+++++, 其中a 为未知参数。从一般式可以看出系统没有零点,有三个极点(其中一个实数极点和一对共轭复数极点)。 1.2 动态性能指标的定义 上升时间r t :当系统的阶跃响应第一次达到稳态值的时间。上升时间是系统 响应速度的一种度量。上升时间越短,响应速度越快。 峰值时间p t :系统阶跃响应达到最大值的时间。最大值一般都发

MATLAB实现卷积码编译码-

本科生毕业论文(设计) 题目:MATLAB实现卷积码编译码 专业代码: 作者姓名: 学号: 单位: 指导教师: 年月日

目录 前言----------------------------------------------------- 1 1. 纠错码基本理论---------------------------------------- 2 1.1纠错码基本理论 ----------------------------------------------- 2 1.1.1纠错码概念 ------------------------------------------------- 2 1.1.2基本原理和性能参数 ----------------------------------------- 2 1.2几种常用的纠错码 --------------------------------------------- 6 2. 卷积码的基本理论-------------------------------------- 8 2.1卷积码介绍 --------------------------------------------------- 8 2.1.1卷积码的差错控制原理----------------------------------- 8 2.2卷积码编码原理 ---------------------------------------------- 10 2.2.1卷积码解析表示法-------------------------------------- 10 2.2.2卷积码图形表示法-------------------------------------- 11 2.3卷积码译码原理---------------------------------------------- 15 2.3.1卷积码三种译码方式------------------------------------ 15 2.3.2V ITERBI译码原理---------------------------------------- 16 3. 卷积码编译码及MATLAB仿真---------------------------- 18 3.1M ATLAB概述-------------------------------------------------- 18 3.1.1M ATLAB的特点------------------------------------------ 19 3.1.2M ATLAB工具箱和内容------------------------------------ 19 3.2卷积码编码及仿真 -------------------------------------------- 20 3.2.1编码程序 ---------------------------------------------- 20 3.3信道传输过程仿真-------------------------------------------- 21 3.4维特比译码程序及仿真 ---------------------------------------- 22 3.4.1维特比译码算法解析------------------------------------ 23 3.4.2V ITERBI译码程序--------------------------------------- 25 3.4.3 VITERBI译码MATLAB仿真----------------------------------- 28 3.4.4信噪比对卷积码译码性能的影响 -------------------------- 28

实验一基于MATLAB的二阶系统动态性能分析

实验一基于MATLAB 的二阶系统动态性能分析 一、实验目的 1、观察学习二阶控制系统的单位阶跃响应、脉冲响应。 2、记录单位阶跃响应曲线、脉冲响应曲线。 3、掌握时间响应分析的一般方法。 4、掌握系统阶跃响应曲线与传递函数参数的对应关系。 二、实验设备 PC 机,MATLAB 仿真软件。 三、实验内容1、作以下二阶系统的单位阶跃响应曲线 10 10)(2++=s s s G 2、分别改变该系统的ζ和n ω,观察阶跃响应曲线的变化。 3、作该系统的脉冲响应曲线。 四、实验步骤1、二阶系统为 10)(++=s G (1)键人程序观察并纪录阶跃响应曲线 (2)健入 damp(den) 计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。记录实际测取的峰值大小、C max (t p )、峰值时间t p 、过渡时间t s 并与理论值相比较。实际值 峰值C max (t p ) 峰值时间t p 过渡时间 t s %5±%2±2、修改参数,分别实现ζ=1,ζ=2的响应曲线,并作记录。程序为: n0=10;d0=[1110];step(n0,d0) %原系统ζ=0.316/2 hold on %保持原曲线 n1=n0,d1=[16.3210];step(n1,d1) %ζ=1 n2=n0;d2=[112.6410];step(n2,d2)

%ζ=2 修改参数,写出程序分别实现1n ω=01n ω和2n ω=20n ω的响应曲线,并作记录。%10 0=n ω3、试作以下系统的脉冲响应曲线,分析结果 10)(++=s G 10 2102)(21+++=s s s s G ,有系统零点情况,即s=-5。

基于matlab的2-3卷积码编码译码设计与仿真

西南科技大学 方向设计报告 课程名称:通信工程方向设计 设计名称:2/3卷积码编译码器仿真与性能分析 姓名: 学号: 班级: 指导教师: 起止日期:2011.12.12-2012.1.6 西南科技大学信息工程学院制

方向设计任务书 学生班级:学生姓名:学号: 设计名称:2/3卷积码编译码器仿真与性能分析 起止日期:2011.12.12-2012.1.6指导教师: 设计要求: (1)分析2/3卷积码编码器结构; (2)分析2/3卷积码译码的Viterbi算法; (3)基于SIMULINK进行2/3卷积码的纠错性能仿真; 方向设计学生日志 时间设计内容 12.15-12.17 查看题目及设计要求。 12.18-12.23 查阅相关资料,设计方案。 12.23-12.27 编写报告及调试程序。 12.28-12.29 完善修改课程设计报告。 12.30-12.31 答辩。

方向设计考勤表 周星期一星期二星期三星期四星期五 方向设计评语表 指导教师评语: 成绩:指导教师: 年月日

2/3卷积码编译码器仿真与性能分析 摘要: 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。 关键词: 卷积码编码器、viterbi译码器、SIMULINK

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真 摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。得出了以下三个结论: (1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。 (2)对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化。 (3)回溯长度也会不同程度上地影响误码性能。 关键词:卷积码;码率;约束长度;回溯长度

Simulation and Research on Encoding and Decoding of Convolution Code Abstract Convolution code has a superior performance of the channel code. It is easy to coding and decoding. And it has a strong ability to correct errors. As correcting coding theory has a long development, the practice of convolution code is more and more extensive. In this thesis, the principle of convolution coding and decoding is introduced simply firstly. Then the whole simulation module process of encoding, decoding and the Error Rate Calculation is completed in this design. Finally, in order to understand their performances of error rate, many changes in parameters of convolution code are calculated in the simulation process. After simulation and measure, an analysis of test results is presented. The following three conclusions are draw: (1) When the rate of convolution Code changes, BER performance of the system will change. (2) For a certain rate of convolution code, when there is a change in the constraint length of N, BER performance of the system will change. (3) Retrospective length will affect BER. Key words:convolution code; rate; constraint length; retrospective length;

相关文档
最新文档