文档库 最新最全的文档下载
当前位置:文档库 › 卷积码

卷积码

卷积码
卷积码

#include

#include

using namespace std;

class JuanjiCode{

private:

int i,j,t;

int n0,k0,r0,m;

int **h,**H,**g,**G; //实现编码所需变量

int code;

string Info_str,Code_str;

int total_num,extra_num;

public:

void Initializing();

void Trans_h_to_H();

void Trans_h_to_g();

void Print_g();

void Trans_g_to_G();

void Print_G(); //编码

void Before_Encoding();//编码前的准备

int Check(string);

void Encoding();

};

/**********************初始化模块**********************/

void JuanjiCode::Initializing()

{

cout<<"请输入码字长n0=";

cin>>n0;

cout<<"请输入信息元个数k0=";

cin>>k0;

cout<<"请输入关联长度m=";

cin>>m; //监督元个数

r0=n0-k0;//动态分配存储单元

h=new int*[r0];

for(i=0;i

h[i]=new int[m*n0];

cout<<"请输入("<

for(i=0;i

for(j=0;j

cin>>h[i][j]; //检测,输出h

cout<<"您输入的基本监督矩阵h["<

for(i=0;i

{

for(j=0;j

cout<

if((j+1)%n0==0)

cout<<" ";

}

cout<

}

cout<

H=new int*[m*r0];

for(i=0;i

H[i]=new int[m*n0];

g=new int*[m*k0];

for(i=0;i

g[i]=new int[n0];

G=new int*[m*k0];

for(i=0;i

G[i]=new int[m*n0];

}

//由基本监督矩阵h导出一致监督矩阵H并打印输出

void JuanjiCode::Trans_h_to_H()

{

cout<<"该卷积码对应的一致监督矩阵H["<

{

for(i=0;i

{

for(j=0;j<(t+1)*n0;j++)

{

H[t*r0+i][j]=h[i][(m-t-1)*n0+j];

cout<

if((j+1)%n0==0)

cout<<" ";

}

cout<

}

cout<

}

}

//由基本监督矩阵h导出基本生成矩阵g并打印输出

void JuanjiCode::Trans_h_to_g()

{

for(t=0;t

{

for(i=0;i

{

for(j=0;j

{

if(j>=k0)

g[k0*t+i][j]=h[j-k0][t*n0+i]; else

{

if(t==m-1&&i==j)

g[k0*t+i][j]=1;

else

g[k0*t+i][j]=0;

}

}

}

}

Print_g();

}

void JuanjiCode::Print_g()

{

cout<<"该卷积码对应的基本生成矩阵g["<

{

for(j=0;j

{

cout<

}

if((i+1)%k0==0)

cout<

cout<

}

}

//由基本生成矩阵g导出一致生成矩阵G并打印输出

void JuanjiCode::Trans_g_to_G()

{

for(t=0;t

{

for(i=0;i

{

for(j=0;j

if(i<(t+1)*k0)

G[i][t*n0+j]=g[(m-(t+1))*k0+i][j];

else

G[i][t*n0+j]=0;

}

}

}

Print_G();

}

void JuanjiCode::Print_G()

{

cout<<"该卷积码对应的一致生成矩阵G["<

{

for(j=0;j

{

if(j

cout<<" ";//为0的块不输出else

cout<

if((j+1)%n0==0)

cout<<" ";

}

if((i+1)%k0==0)

cout<

cout<

}

}

/**********************编码模块**********************/

//利用一致生成矩阵G及基本生成矩阵g编码

void JuanjiCode::Before_Encoding()//编码前的准备

{

C:

int flag;

cout<<"请输入待编码的0、1信息序列:"<

cin>>Info_str;

flag=Check(Info_str);

if(!flag)

{

cout<<"您输入的信息序列含除0、1外的其他字符,请重新输入!"<

}

else

{

if(total_num

{

cout<<"您输入的信息元个数不足,无法进行编码,请重新输入!"<

}

else if(total_num%k0!=0)

{

cout<<"您输入的信息序列存在冗余,无法进行编码,请重新输入!"<

}

}

}

int JuanjiCode::Check(string Info_str)

{

int flag=1;

total_num=0;

for(i=0;Info_str[i]!='\0';i++)

{

if(!(Info_str[i]=='0'||Info_str[i]=='1'))

{

flag=0;

break;

}

total_num++;//统计输入的0、1的数目}

return flag;

}

void JuanjiCode::Encoding()

{

Before_Encoding();

Code_str="";

//前m个码组通过一致生成矩阵G编出for(i=0;i

{

code=0;

for(j=0;j

{

if(Info_str[j]=='1')

code+=G[j][i];

else

code+=0;

}

if(code%2==0)

Code_str+='0';

else

Code_str+='1';

}

//其余的码组由基本生成矩阵编出extra_num=total_num/k0-m;

for(t=0;t

for(i=0;i

{

code=0;

for(j=(t+1)*k0;j<(m+t+1)*k0;j++) {

if(Info_str[j]=='1')

code+=g[j-(t+1)*k0][i];

else

code+=0;

}

if(code%2==0)

Code_str+='0';

else

Code_str+='1';

}

}

//输出截短码组

cout<<"经编码后,得到如下序列:"<

{

cout<

if((i+1)%n0==0)

cout<<" ";

}

cout<<"..."<

}

/**********************主函数**********************/

void main()

{

JuanjiCode J_Code;

char choice=' ';

int flag=0;

cout<<"\n";

while(choice!='3')

{

C:

cout<<" "<<"*************************卷积码简易编码器*************************\n"; cout<<" "<<"1.初始化"<<" "<<"2.编码"<<" "<<"3.退出\n";

cout<<"请输入您要操作的步骤:";

cin>>choice;

if(choice=='1')

{

if(!flag){//初次执行初始化操作

flag=1;

}

J_Code.Initializing();

J_Code.Trans_h_to_H();

J_Code.Trans_h_to_g();

J_Code.Trans_g_to_G();

}

else if(choice=='2')

{

if(!flag)

{

cout<<"操作错误!请执行初始化操作后再进行本操作!"<

goto C;

}

//编码

J_Code.Encoding();

}

else if(choice=='3')

{

exit(0);//退出

}

else//如果选了选项之外的就让用户重新选择{

cout<<"您没有输入正确的步骤,请重新输入!"<

cout<

}

}

实验九 (2,1,5)卷积码编码译码技术

实验九 (2,1,5)卷积码编码译码技术 一、实验目的 1、掌握(2,1,5)卷积码编码译码技术 2、了解纠错编码原理。 二、实验内容 1、(2,1,5)卷积码编码。 2、(2,1,5)卷积码译码。 三、预备知识 1、纠错编码原理。 2、(2,1,5)卷积码的工作原理。 四、实验原理 卷积码是将发送的信息序列通过一个线性的,有限状态的移位寄存器而产生的编码。通常卷积码的编码器由K级(每级K比特)的移位寄存器和n个线性代数函数发生器(这里是模2加法器)组成。 若以(n,k,m)来描述卷积码,其中k为每次输入到卷积编码器的bit数,n 为每个k元组码字对应的卷积码输出n元组码字,m为编码存储度,也就是卷积编码器的k元组的级数,称m+1= K为编码约束度m称为约束长度。卷积码将k 元组输入码元编成n元组输出码元,但k和n通常很小,特别适合以串行形式进行传输,时延小。与分组码不同,卷积码编码生成的n元组元不仅与当前输入的k元组有关,还与前面m-1个输入的k元组有关,编码过程中互相关联的码元个数为n*m。卷积码的纠错性能随m的增加而增大,而差错率随N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。 编码器 随着信息序列不断输入,编码器就不断从一个状态转移到另一个状态并同时输出相应的码序列,所以图3所示状态图可以简单直观的描述编码器的编码过程。因此通过状态图很容易给出输入信息序列的编码结果,假定输入序列为110100,首先从零状态开始即图示a状态,由于输入信息为“1”,所以下一状态为b并输出“11”,继续输入信息“1”,由图知下一状态为d、输出“01”……其它输入信息依次类推,按照状态转移路径a->b->d->c->b->c->a输出其对应的编码结果“110101001011”。 译码方法 ⒈代数 代数译码是将卷积码的一个编码约束长度的码段看作是[n0(m+1),k0(m+1)]线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。上例中信息序列 =(10111),相应的码序列 c=(11100001100111)。若接收序列R=(10100001110111),先根据R 的前三个分支(101000)和码树中前三个分支长的所有可能的 8条路径(000000…)、(000011…)、(001110…)、(001101…)、(111011…)、(111000…)、(110101…)和(110110…)进行比较,可知(111001)与接收

完整版数字通信原理第五章纠错编码习题解答

第五章纠错编码习题解答 1、已知一纠错码的三个码组为(001010)、(101101)、(010001)。若用于检错,能检出几位错码?若用于纠错,能纠正几位错码?若纠检错结合,则能纠正几位错码同时检出几位错码? [解]该码的最小码距为d o=4,所以有: 若用于检错,由d o> e+1,可得e=3,即能检出3位错码;若用于纠错,由d o> 2t+1,可得t=1,即能检出1位错码;若纠检错结合,由d o> e+t+1 (e>t),可得t=1, e=2,即能 纠正1 位错码同时能检出2 位错码。 2、设某(n,k)线性分组码的生成矩阵为: 001011 G 1 0 0 1 0 1 010110 ①试确定该(n,k)码中的n和k; ②试求该码的典型监督矩阵H; ③试写出该码的监督方程; ④试列出该码的所有码字; ⑤试列出该码的错误图样表; ⑥试确定该码的最小码距。 [解]①由于生成矩阵G 是k 行n 列,所以k=3,n=6。 ②通过初等行变换,将生成矩阵G变换成典型生成矩阵 10 0 10 1

G 0 10 1 10 I k Q 0 0 10 11 1 0 1 1 1 0 由于Q 1 1 0 , P= Q T= 0 1 1,可知典型监督矩阵为 0 1 1 1 0 1 110 10 0 H = PI r 0 110 10 10 10 0 1 85 玄4 a? 0 ③监督方程为a。a3 q 0 a5 a3 a0 0 ④所有码字见下表 ⑤错误图样表即错误图样与校正子关系表,见下表

⑥线性码的最小码距为码字的最小重量(全零码除外) ,所 以该码的最小码距为 3。 3、已知一种(7,3)循环码的全部码组为: 0000000 0101110 1001011 1100101 0010111 0111001 1011100 1110010 试求该码的生成多项式 g(x)、典型生成矩阵G 和典型监督矩阵H ; [解]由循环码的原理知,生成多项式g(x)对应的码字为前k-1 位码元 均为“ 0”的码字,即“ 0010111”,所以有 g(x)=x 4+x 2+x+1 x 2 g(x) 6 4 x x 3 x 2 x 1 0 1 1 1 0 0 则生成矩阵为G xg(x) 5 3 x x 2 x x 0 1 0 1 1 1 0 g(x) 4 2 x x x 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1

数字通信基础与应用(第二版)课后答案7章答案要点

第七章 7.1画出K =3,效率为1/3,生成多项式如下所示的编码状态图、树状图和网格图: g 1(X ) = X + X 2 g 2(X ) = 1 + X g 3(X ) = 1 + X + X 2 + + + 状态图如下: 10 01 11 00 000 001 010100 101 011 111 110 树状图如下: 21)(x x x g += x x g +=1)(2 231)(x x x g ++=

1 a 000011a b 011111100 000011111100101110010001 a b c d 000 网格图如下: b=10 d=11 000 011 101 110 111 100010 001 a=00 c=01 7.2假定K =3,效率为1/2的二进制卷积码,其部分状态图如图P7.1所示,画出完整的状态图,并画出编码器的示意图。

图P7.1 g02 g12 g22 g21 g 11g 01 假设一初始状态00→10,分支字为11,此脉冲为10201==g g 。 接下来设状态变为01,分支字为10,脉冲变为0,11211==g g 。 再设状态变化为11→11,分支字为00,此脉冲为1,02221==g g 。 因此,编码器、完整的状态图如下:

+ + 10 01 11 00 00 00 1101 01 11 10 10 7.3画出图P7.2方框图描述的卷积码编码器的状态图、树状图和网格图。

图P7.2 状态图: 10 01 11 00 00 10 0001 11 10 11 01 树状图:

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

(完整版)数字通信原理第五章纠错编码习题解答

第五章 纠错编码习题解答 1、已知一纠错码的三个码组为(001010)、(101101)、(010001)。若用于检错,能检出几位错码?若用于纠错,能纠正几位错码?若纠检错结合,则能纠正几位错码同时检出几位错码? [解]该码的最小码距为d 0=4,所以有: 若用于检错,由d 0≥e +1,可得e =3,即能检出3位错码; 若用于纠错,由d 0≥2t +1,可得t =1,即能检出1位错码; 若纠检错结合,由d 0≥e +t +1 (e >t ),可得t =1,e =2,即能纠正1位错码同时能检出2位错码。 2、设某(n ,k )线性分组码的生成矩阵为: 001011100101010110G ?? ??=?????? ①试确定该(n ,k )码中的n 和k ; ②试求该码的典型监督矩阵H ; ③试写出该码的监督方程; ④试列出该码的所有码字; ⑤试列出该码的错误图样表; ⑥试确定该码的最小码距。 [解] ①由于生成矩阵G 是k 行n 列,所以k =3,n =6。 ②通过初等行变换,将生成矩阵G 变换成典型生成矩阵

[] 100101010110001011k G I Q ?? ??==?????? 由于101110110011011101T Q P Q ???? ????=???? ????????, ==,可知典型监督矩阵为 []110100011010101001r H PI ?? ??=?? ????= ③监督方程为5424315 300 00 a a a a a a a a a ⊕⊕=??⊕⊕=??⊕⊕=? ④所有码字见下表 ⑤错误图样表即错误图样与校正子关系表,见下表

第五章 信道编码 习题解答

第五章 信道编码 习题解答 1.写出与10011的汉明距离为3的所有码字。 解:共有10个:01111,00101,00000,01010,01001,00110,11101,10100,11000,11110。 2. 已知码字集合的最小码距为d ,问利用该组码字可以纠正几个错误可以发现几个错误请写出一般关系式。 解:根据公式: (1)1d e ≥+ 可发现e 个错。 (2)21d t ≥+ 可纠正t 个错。 得出规律: (1)1d = ,则不能发现错及纠错。 (2)d 为奇数:可纠 1 2 d -个码元错或发现1d -个码元错。 (3)d 为偶数:可纠 12 d -个码元错,或最多发现1d -个码元错。 (4)码距越大,纠、检错能力越强。 3.试计算(8,7)奇偶校验码漏检概率和编码效率。已知码元错误概率为4 10e p -=。 解:由于4 10e p -=较小,可只计算错两个码元(忽略错4或6个码元)的情况: 228788! 10 2.8106!2! e p C p --== ?=?? 7 87.5%8 η= = 4.已知信道的误码率4 10e p -=,若采用“五三”定比码,问这时系统的等效(实际)误码率为多少 解:由于4 10e p -=较小,可只计算错两个码元的情况 11252112 83232(1)610e e e p C C p p C C p --=-≈=?

5.求000000,110110,011101,101011四个汉明码字的汉明距离,并据此求出校正错误用的校验表。 解:先求出码字间距离: 000000 110110 011101 101011 000000 4 4 4 110110 4 4 4 011101 4 4 4 101011 4 4 4 汉明距离为4,可纠一位错。 由于一个码字共有6个码元,根据公式:21617r n ≥+=+= 得 3r = 即每个码字应有3位监督码元,6-3=3位信息码元。 直观地写出各码字:123456 000000110110011101101011 x x x x x x 令456x x x 为监督码元,观察规律则可写出监督方程:4135236 12x x x x x x x x x =⊕?? =⊕??=⊕? 从而写出校验子方程:113422353126s x x x s x x x s x x x *** *** ***?=⊕⊕?=⊕⊕??=⊕⊕? 列出校验表: 6.写出信息位6k =,且能纠正1个错的汉明码。 解:汉明码的信息码元为六个,即:6k =。监督码元数r 应符合下式:217r k r r ≥++=+

14卷积码编解码

实验四 卷积码的编解码 一、实验目的 1、掌握卷积码的编解码原理。 2、掌握卷积码的软件仿真方法。 3、掌握卷积码的硬件仿真方法。 4、掌握卷积码的硬件设计方法。 二、预习要求 1、掌握卷积码的编解码原理和方法。 2、熟悉matlab 的应用和仿真方法。 3、熟悉Quatus 的应用和FPGA 的开发方法。 三、实验原理 1、卷积码编码原理 在编码器复杂度相同的情况下,卷积码的性能优于分组码,因此卷积码几乎被应用在所有无线通信的标准之中,如GSM , IS95和CDMA 2000 的标准中。 卷积码通常记作( n0 , k0 , m) ,它将k 0 个信息比特编为n 0 个比特, 其编码效率为k0/ n0 , m 为约束长度。( n0 , k0 , m ) 卷积码可用k0 个输入、n0 个输出、输入存储为m 的线性有限状态移位寄存器及模2 加法计数器来实现。 本实验以(2,1,3)卷积码为例加以说明。图1就是卷积码编码器的结构。 图1 (2,1,3)卷积码编码器 其生成多项式为: 21()1G D D D =++; 2 2()1G D D =+; 如图1 所示的(2,1,3)卷积码编码器中,输入移位寄存器用转换开关代替,每输入一个信息比特经编码产生二个输出比特。假设移位寄存器的初始状态为全0,当第一个输入比特为0时,输出比特为00;若输入比特为1,则输出比特为11。随着第二个比特输入,第一个比特右移一位,此时输出比特同时受到当前输入比特和前一个输入比特的影响。第三个比特输入时,第一、二个比特分别右移一位,同时输出二个由这三位移位寄存器存储内容所共同决定的比特。依次下去就完成了编码过程。 下面是卷积码的网格图表示。他是比较清楚而又紧凑的描述卷积码的一种方式,它是最常用的描述方

34卷积码编码原理分析与建模仿真

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

目录 一、摘要 ................................................................................................................................................................. - 1 - 二、设计目的和意义 ............................................................................................................................................. - 2 - 三、设计原理 ......................................................................................................................................................... - 3 - 3.1 卷积码基本概念 ...................................................................................................................................... - 3 - 3.2 卷积码的结构 .......................................................................................................................................... - 3 - 3.3 卷积码的解析表示 .................................................................................................................................. - 4 - 3.4 卷积码的译码 .......................................................................................................................................... - 4 - 3.4.1 卷积码译码的方式........................................................................................................................ - 4 - 3.5.2 卷积码的Viterbi译码 .................................................................................................................. - 5 - 四、详细设计步骤 ................................................................................................................................................. - 6 - 4.1 卷积码的仿真 .......................................................................................................................................... - 6 - 4.1.1 SIMULINK仿真模块的参数设置及意义 ................................................................................. - 6 - 五、设计结果及分析 ........................................................................................................................................... - 11 - 5.1不同信噪比对卷积码的影响.................................................................................................................. - 11 - 5.2卷积码的对比 ........................................................................................................................................ - 12 - 六、总结 ............................................................................................................................................................... - 14 - 七、体会 ............................................................................................................................................................... - 14 - 八、参考文献 ....................................................................................................................................................... - 14 - 二、设计目的和意义 因为信道中信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种

213卷积码编码和译码

(2,1,3)卷积码的编码及译码 摘要: ¥ 本报告对于(2,1,3)卷积码原理部分的论述主要参照啜刚教材和课件,编程仿真部分绝对原创,所有的程序都是在Codeblocks 环境下用C语言编写的,编译运行都正常。完成了卷积码的编码程序,译码程序,因为对于短于3组的卷积码,即2 bit或4 bit纠错是没有意义的,所以对正确的短序列直接译码,对长序列纠错后译码,都能得到正确的译码结果。含仿真结果和程序源代码。 如果您不使用Codeblocks运行程序,则可能不支持中文输出显示,但是所有的数码输出都是正确的。

一、 卷积码编码原理 卷积码编码器对输入的数据流每次1bit 或k bit 进行编码,输出n bit 编码符号。但是输出的分支码字的每个码元不仅于此时可输入的k 个嘻嘻有关,业余前m 个连续式可输入的信息有关,因此编码器应包含m 级寄存器以记录这些信息。 通常卷积码表示为 (n,k,m). 编码率 k r n = ( 当k=1时,卷积码编码器的结构包括一个由m 个串接的寄存器构成的移位寄存器(成为m 级移位寄存器、n 个连接到指定寄存器的模二加法器以及把模二加法器的输出转化为穿行的转换开关。 本报告所讲的(2,1,3)卷积码是最简单的卷积码。就是2n =,1k =,3m =的卷积码。每次输入1 bit 输入信息,经过3级移位寄存器,2个连接到指定寄存器的模二加法器,并把加法器输出转化为串行输出。 编码器如题所示。 二、卷积码编码器程序仿真 C 语言编写的仿真程序。 为了简单起见,这里仅仅提供数组长度30 bit 的仿真程序,当然如果需要可以修改数组大小。为了更精练的实现算法,程序输入模块没有提供非法字符处理过程,如果需要也可以增加相应的功能。 进入程序后,先提示输入数据的长度,请用户输入int (整型数)程序默认用户输入的数据小于30,然后提示输入01数码,读入数码存储与input 数组中,然后运算输出卷积码。经过实验仿真,编码完全正确。 } 以下是举例:

列表法与树状图法

列表法与树状图法. 一、选择题 1. (2011内蒙古呼和浩特,6,3)经过某十字路口的汽车,它可能继续直行,也可能向左或向右转.若这三种可能性大小相同,则两辆汽车经过该十字路口全部继续直行的概率为( ) A. 31 B. 32 C. 91 D. 21 考点:列表法与树状图法. 分析:列举出所有情况,看两辆汽车经过这个十字路口全部继续直行的情况占总情况的多少即可. 解答:解:列表得: ∴一共有9种情况,两辆汽车经过这个十字路口全部继续直行的有一种, ∴两辆汽车经过这个十字路口全部继续直行的概率是19 . 故选C . 点评:本题主要考查用列表法与树状图法求概率,用到的知识点为:概率=所求情况数与总情况数之比. 3. (2011?台湾23,4分)一签筒内有四支签,分别标记号码1,2,3,4.已知小武以每次取一支且取后不放回的方式,取两支签,若每一种结果发生的机会都相同,则这两支签的号码数总和是奇数的机率为( ) A 、错误!未找到引用源。 B 、错误!未找到 引用源。 C 、错误!未找到引用源。 D 、错误!未找到引用源。 考点:列表法与树状图法。 分析:先利用树状图展示所有12种的等可能的结果数,然后找出和为奇数的结果数,最后利用概率的概念求解即可. 解答:解:根据题意列树状图: 共有12种等可能的结果,其中和是奇数的有8种, 所以这两支签的号码数总和是奇数的机率=错误!未找到引用源。=错误!未找到引用源。. 故选B .

点评:本题考查了利用树状图求事件概率的方法:先利用树状图展示所有等可能的结果数n ,再找出某事件所占的结果数m ,然后根据P=错误!未找到引用源。计算即可. (2011广西防城港 23,8分)一个不透明的纸盒中装有大小相同的黑、白两种颜色的围棋,其中白色棋子3个(分别用白A 、白B 、白C 表示),若从中任意摸出一个棋子,是白色棋子的概率为 4 3 . (1)求纸盒中黑色棋子的个数; (2)第一次任意摸出一个棋子(不放回),第二次再摸出一个棋子,请用树状图或列表 的方法,求两次摸到相同颜色棋子的概率. 考点:列表法与树状图法 专题:概率 分析:(1)白色棋子除以相应概率算出棋子的总数,减去白色棋子的个数即为黑色棋子的个数; (2)列举出所有情况,看两次摸到相同颜色棋子的情况数占总情况数的多少即可. 解答:(1)∵3÷4 3-3=1 ∴黑色棋子有1个. (2)∵(黑,C ) (黑,B ) (C ,黑) (B ,黑)(黑,A )(C ,B ) (C ,A ) (B ,C ) (B ,A )(A ,黑)(A ,C )(A ,B ) 结果 第二摸第 一摸 黑 白A 白B 白C 白C 白B 白A 黑 ∴共12种情况,有6种情况两次摸到相同颜色棋子,所以概率为 2 1 错误!未找到引用源。. 点评:考查概率的求法;用到的知识点为:概率=所求情况数与总情况数之比.得到两次摸到相同颜色棋子数是解决本题的关键.另外,本题还可以用树状图解答如下:

(完整word版)卷积码的编译码MATLAB程序

%survivor state是一个矩阵,它显T了通过网格的最优路径,这个矩阵通过一个单独的函 数metric(x,y)给出。 %其中G是一个矩阵,它的任一行决定了从移位寄存器到模2加法器的连接方式.为生成矩阵 %这里,我们做了一个简单的(2,1,7)卷积码编码器。 k=1; G=[1 0 1 1 0 1 1;1 1 1 1 0 0 1];%G1=133,G2=171 %以下3种输入序列,可任选一种% %input=[0 0 0 0 0 0 0];%全0输入 %input=[1 1 1 1 1 1 1];%全1输入 input=[round(rand(1,7)*1)];%随机系列输入,也可用 randint(1,7,[0 1]) figure;plot(input,'*r') %figure1:画图:目标input,红色(red,r),形状为* s=input; g1=G(1,:); g2=G(2,:); c1=conv(s,g1);%作卷积 %disp(c1); c2=conv(s,g2); %disp(c2); n=length(c1);%7位输入时n=13 c=zeros(1,2*n);%生成全0矩阵,1*26 %disp(c); for i=1:n c(2*i-1)=c1(i);c(2*i)=c2(i);%两个模2加法器分别输出卷积结果序列后,由旋转开关读取的结果(此时仅为卷积结果,非2进制0/1) end for i=1:2*n if(mod(c(i),2)==0)% mod(c(i),2)==0意思:c(i)除以2,余数为0 c(i)=0; else c(i)=1; end end output=c; channel_output=output;%输出矩阵 %disp(channel_output); figure;plot(output,'*b') %画图:目标:卷积码编码输出,蓝色(blue,b)* %————————————————以上为编码部分,以下为维特比译码———————————————— n=size(G,1);%取矩阵G的行数,故n=2。即得到输出端口,即2个模2加法器 %检验G的维数 if rem(size(G,2),k)~=0 %当矩阵G的列数不为k的整数倍时,rem为求余函数 error('Size of G and k do not agree')%报错 end if rem(size(channel_output,2),n)~=0 %当输出矩阵的列数不是输出端口n的整数倍时。(注:size(channel_output,2)=26,2个模2加法器合成的输出)

第五章 信道编码 习题解答

第五章 信道编码 习题解答 1.写出与10011的汉明距离为3的所有码字。 解:共有10个:01111,00101,00000,01010,01001,00110,11101,10100,11000,11110。 2. 已知码字集合的最小码距为d ,问利用该组码字可以纠正几个错误可以发现几个错误请写出一般关系式。 解:根据公式: (1)1d e ≥+ 可发现e 个错。 (2)21d t ≥+ 可纠正t 个错。 得出规律: ? (1)1d = ,则不能发现错及纠错。 (2)d 为奇数:可纠 1 2 d -个码元错或发现1d -个码元错。 (3)d 为偶数:可纠 12 d -个码元错,或最多发现1d -个码元错。 (4)码距越大,纠、检错能力越强。 3.试计算(8,7)奇偶校验码漏检概率和编码效率。已知码元错误概率为4 10e p -=。 解:由于4 10e p -=较小,可只计算错两个码元(忽略错4或6个码元)的情况: 228788! 10 2.8106!2! e p C p --== ?=?? 7 87.5%8 η= = | 4.已知信道的误码率4 10e p -=,若采用“五三”定比码,问这时系统的等效(实际)误码率为多少 解:由于4 10e p -=较小,可只计算错两个码元的情况 11252112 83232(1)610e e e p C C p p C C p --=-≈=? 5.求000000,110110,011101,101011四个汉明码字的汉明距离,并据此求出校正错误用的校验表。

解:先求出码字间距离: 000000 110110 011101 101011 000000 4 4 4 110110 4 4 4 、 011101 4 4 4 101011 4 4 4 汉明距离为4,可纠一位错。 由于一个码字共有6个码元,根据公式:21617r n ≥+=+= 得 3r = 即每个码字应有3位监督码元,6-3=3位信息码元。 直观地写出各码字:123456 000001 101100111011 01011 x x x x x x 令456x x x 为监督码元,观察规律则可写出监督方程:4135236 12x x x x x x x x x =⊕?? =⊕??=⊕? 从而写出校验子方程:113422353126s x x x s x x x s x x x *** *** ***?=⊕⊕?=⊕⊕??=⊕⊕? 列出校验表: — 6.写出信息位6k =,且能纠正1个错的汉明码。 解:汉明码的信息码元为六个,即:6k =。监督码元数r 应符合下式:217r k r r ≥++=+ 取满足上式的最小r :4r =,即为(10,6)汉明码。其码字由10个码元构成:12345678910x x x x x x x x x x 。 先设计校验表(不是唯一的):

用列表法、树状图法求概率

用列表法、树状图法求概率有招 刘琛 概率问题是中考中的热点问题,与概率有关的题目形式多样,但其中最主要的是考查利用列表法或树状图法求随即事件的概率.而利用列表法或树状图法求随即事件的概率,关键要注意以下三点: (1)注意各种情况出现的可能性务必相同;(2)其中某一事件发生的概率= 各种情况出现的次数 某一事件发生的次数 ;(3)在考察各种情况出现的次数和某一事件发生的次数时不能重 复也不能遗漏.(4)用列表法或树状图法求得概率是理论概率,而实验估计值是频率,它通常受到实验次数的影响而产生波动,因此两者不一定一致,实验次数较多时,频率稳定于概率,但并不完全等于概率. 例1 田忌赛马是一个为人熟知的故事,传说战国时期,齐王与田忌各有上、中、下三匹马,同等级的马中,齐王的马比田忌的马强.有一天,齐王要与田忌赛一次,赢得两局者为胜,看样子田忌似乎没有什么胜的希望,但是田忌的谋士了解到主人的上、中等马分别比齐王的中、下等马要强. (1). 如果齐王将马按上中下的顺序出阵比赛,那么田忌的马如何出阵,田忌才能取胜? (2). 如果齐王将马按上中下的顺序出阵,而田忌的马随机出阵比赛,田忌获胜的概率是多少?(要求写出双方对阵的所有情况) 分析:正确理解题意,将齐王和田忌的马正确排列,而后恰当列表. 解:(1)由于田忌的上、中等马分别比齐王的中、下等马强,当齐王的马按上、中、下顺序出阵时,田忌的马按下、上、中的顺序出阵,田忌才能取胜. (2).当田忌的马随机出阵时,双方马的对阵情况如下表: 双方马的对阵中,只有一种对阵情况田忌能赢,所以田忌获胜的概率 P= 6 1. 例2 “石头、剪刀、布”是广为流传的游戏,游戏时甲、乙双方每次出“石头”、“剪刀”、“布”三种手势中一种,规定“石头”胜“剪刀”、“剪刀”胜“布”、“布”胜“石头”,同样手势不分胜负,假定甲、乙两人每次都是等可能地出这三种手势,用画树状图或列表的方法分别求出一次游戏中两人同种手势的概率和甲获胜的概率.(提示:为书写方便,解答时可以用S 表示“石头”,用J 表示“剪刀”,用B 表示“布”) 解析:解法一:一次游戏、甲、乙两人随机出手势的所有可能的结果如下图: 所有可能出的结果:(S ,S )(S ,J )(S ,B )(J ,S )(J ,J )(J ,B )(B ,S )(B ,J )(B ,B )

卷积码的编解码Matlab仿真与模拟

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

目录 论文总页数:21页 1 引言 (1) 1.1 课题背景 (1) 1.2 国内外研究现状 (1) 1.3 本课题的意义 (1) 1.4 本课题的研究方法 (1) 2 卷积码的基本概念 (2) 2.1 信道 (2) 2.2 纠错编码 (2) 2.3 卷积码的基本概念 (2) 2.4 卷积码编码的概念 (2) 2.4.1 卷积编码 (2) 2.4.2 卷积码的树状图 (3) 2.4.3 卷积码的网格图 (4) 2.4.4 卷积码的解析表示 (5) 3 卷积码的译码 (6) 3.1 卷积码译码的概述 (6) 3.2 卷积码的最大似然译码 (6) 3.3 VITEBI 译码的关键步骤 (7) 3.3.1 输入与同步单元 (7) 3.3.2 支路量度计算 (7) 3.3.3 路径量度的存储与更新 (7) 3.3.4 信息序列的存储与更新 (8) 3.3.5 判决与输出单元 (8) 4 结论 (9) 4.1 卷积码的仿真 (9) 4.1.1 SIMULINK仿真模块的参数设置以及重要参数的意义 (9) 4.2 改变卷积码的参数仿真以及结论 (12) 4.2.1 不同回溯长度对卷积码性能的影响 (12) 4.2.2 不同码率对卷积码误码性能的响 (14) 4.2.3 不同约束长度对卷积码的误码性能影响 (15) 结论 (17) 参考文献 (18) 致谢.................................................... 错误!未定义书签。声明.................................................... 错误!未定义书签。

通信原理教程+樊昌信+习题答案第十章[1]

第十章习题 习题10.1设有两个码组“0101010”和“1010100”,试给出其检错能力、纠错能力和同时纠错的能力。 解:两个码组的最小码距为:o d =6 由o d ≥e+1,得e=5,即可以检错5位。 由o d ≥2t+1,得t=2,即可以纠错2位。 由o d ≥e+t+1,得e=3,t=2,即可以纠错2位,同时检错3位。 习题10.2设一种编码中共有如下8个码组: 表10-1 习题10.3表 000000,001110,010101,011011,100011, 101101,110110,111000试求出其最小码距,并给出其检错能力、纠错能力和同时纠检错的能力。 解:此8个码组的最小码距为:o d =3。 由o d ≥e+1,得e=2,即可以检错2位。 由o d ≥2t+1,得t=1,即可以纠错1位。 由o d ≥e+t+1,得e=1,t=1,即可以纠错1位,同时检错1位。 习题10.3设有一个长度为n =15的汉明码,试问其监督位r 应该等于多少?其码率等于多少?其最小码距等于多少?试写出其监督位和信息位之间的关系。 解:由21=-r n ,n =15,得r =4,即监督位4位。 码率为: -=k n r n n =15415-=11 15 。 用1234S S S S 表示校正子,正好可以指明15个错码的位置,其关系如表10-1所示。 可得监督位和信息位之间的关系式为 最小码距为:o d =3。 习题10.4设上题中的汉明码是系统码。试计算出对应于信息位为全“1”的码组。 ???????++++++=++++++=++++++=++++++=4 5781012140467910131415671112131428 910111213143a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a

通信原理教程(第三版)第10章 答案

第十章习题 习题 10.1设有两个码组“0101010”和“1010100”,试给出其检错能力、纠错能力和 同时纠错的能力。 解:两个码组的最小码距为:d o =6 由d o e+1,得 e=5,即可以检错 5位。 由d o 2t+1,得 t=2,即可以纠错 2位。 由d o e+t+1,得 e=3,t=2,即可以纠错 2位,同时检错 3位。 习题 10.2设一种编码中共有如下 8个码组: 000000,001110,010101,011011,100011, 101101,110110,111000试求出其最小码距,并给 出其检错能力、纠错能力和同时纠检错的能力。 解:此 8个码组的最小码距为:d o =3。 表 10-1习题 10.3表 S 1S 2S 3S 4 错码 位置 0000 无错 由d o e+1,得 e=2,即可以检错 2位。 由d o 2t+1,得 t=1,即可以纠错 1位。 由d o e+t+1,得 e=1,t=1,即可以纠错 1位,同时检错 1位。 码 0001 0010 0100 1000 0011 0101 0110 0111 1001 1010 1011 1100 1101 1110 a 0 a 1 a 2 a 3 课后答案网 习题 10.3设有一个长度为 n =15的汉明码,试问其 a 4 监督位 r 应该等于多少?其码率等于多少?其最小码距 a 5 a 6 等于多少?试写出其监督位和信息位之间的关系。 解:由n 2 r 1,n =15,得r =4,即监督位 4位。 n r =15 4 = 11。 a 7 码率为: k a 8 n n 15 15 a 9 用S 1S 2S 3S 4表示校正子,正好可以指明 15个错码的 a 10 a 11 位置,其关系如表 10-1所示。 可得监督位和信息位之间的关系式为 a 3 a 14 a 13 a 12 a 11 a 10 a 9 a 8 a 12 a a a a a a a a a www 2 14 . 13 1 k 2 11 h 7 6 d 5 https://www.wendangku.net/doc/e06994151.html, 13 a a a a a a a a 1 14 13 10 9 7 6 4 1111 a 14 a a a a a a a a 0 14 12 10 8 7 5 4 最小码距为:d =3。 o 习题 10.4设上题中的汉明码是系统码。试计算出对应于信息位为全“1”的码组。

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