【编者按】网学网单片机毕业设计频道为大家收集整理了“CDMA通信系统中的接入信道部分进行仿真与分析(单片机毕业设计)“提供大家参考,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
4 设计仿真、分析与验证 根据前面所述的原理与总体框图,在此,我们对接入信道进行完全的仿真、分析与验证如下: 4.2.1源中部分(subsystem1)设置、说明与分析: 在源这部分里面,我们用贝努力二进制产生器产生所需的二进制代码,所产生的码序列是服从贝努力概率分布的。为了满足设计的需要,我们同时将贝努力产生器的输出值设为[80×1]且基于帧格式的输出方式,也即:基于帧格式输出的80行和1列的矩阵。再利用CRC产生8位循环冗余检验(CRC)码,在数据尾部加入CRC码的作用有两点:第一,可以在接收时确定帧(包)是否发生了错误,第二,可以辅助确定接收的帧的数据速率,最终对数据速率的确定则是卷积译码器。另外,利用 Zero Pad(零填充模块)模块,在数据帧末端加入8个比特的0,其作用在于,在每帧卷积编码结束后,对卷积编码其中的移位积存器复位。由于MATLAB中的卷积编码器具有自动复位功能,因此这个零填充模块并不是必须的。但在此,我们仍然将此模块设置为插入8个尾比特零,可以使数据的速率达到我们最终的要求。 Bernoulli模块参数设置说明: (1)Probability of a zero :0.5表示的是以概率0.5取值为1,以0.5的概率取值为-1; (2)Sample time:20/1000表示的是20毫秒,设置为20ms的原因在于,4800bit/s的速率的帧长为20ms ;80是指每帧中含有80个比特数据,对于4800bit/s的速率而言,应该每帧的比特数为96个,之所以在这里设置为80,是因为在后面的CRC产生器和Zero Pad分别产生了8个冗余循环码和8个尾比特0码。因此,在这里每个比特的抽样时间为20/1000/80s. (3)将输出数据设置为基于帧结构的方式,也即:选择Frame-based outputs的选项,原因在于,CRC码产生模块的输入必须基于帧数据结构的。 (4)每帧的数据为80比特,所以,将每帧的抽样次数设置为80,也即:Samples per frame设置为80。 CRC模块参数设置说明: 对于反向信道的Half Rate(半速率,也即为4800bit/s)而言,Generatal CRC Generator的生成多项式为: Zero Pad模块参数设置说明: (1)在这里将Pad signal at设置为End是因为,我们期望在数据末尾插入8个0尾比特。 (2)由于我们在CRC的输出为[88×1]的比特数据,也即一列的数据,所以,为了在同一的数据后面添加8个0数据,我们在这里就将Pad along设置为:Columns. (3)在该模块的输出端,我们要求帧数据的比特数为96,也即为了在帧数据后面加入8个0,因而将Specified number of output rows设置为96。 其中,依上至下的波形分别是Bernoulli模块、CRC模块、Zero Pad模块的输出波形。 从图中,我们可以清晰的看见,第二各波形相对于第一个波形而言,增加的比特数分别为:0 0 0 1 1 0 1 0,也即刚好8个比特数,与理论中的在帧数据后面插入8个CRC冗余循环码完全的;在第三个波形中,我们同样可以看出,它相对于第二个波形而言,在末尾刚好加入了8个0比特,即:0 0 0 0 0 0 0 0。 4.2.2 对卷积编码器和重复模块的设置、说明与分析: 重复模块的参数设置说明: (1) Repeatition count是指重复次数,为了使后面块交织器的输入端输入的数据每帧大小是576个符号,而重复模块前的数据已经是每帧288个符号,所以,我们在这个地方将重复设置为2次。 (2) 为了使重复模块输出的数据达到要求,我们在这个模块将Frame-based mode设置为Maitain input frame rate. 源模块输出的数据序列为: 111 000 000 101 111 010 11 卷积编码器输出的数据序列为:111 100 001 000 001 001 01 重复模块输出数据序列为: 111 111 110 000 000 011 00 由卷积编码器的生成多项式可以得出下列式子: 对应于557,也即:101101111的多项式为: 对应于663,也即:110110011的多项式为: 对应于711,也即:111001001的生成多项式为: 我们设输入的数据多项式为: ,(i和n均为非负整数) 由源模块的输出,我们取前三个数据来验证,也即:111,它对应的u(x)为: 参数设置说明: (1)在该子系统内,我们运用的是一个[32×18]的矩阵,所以将设置框图中的行和列分别设置为32、18。 (2)由于子系统内部的Bit to IntegerConverter模块和Integer to BitConverter模块分别将每行的18个比特符号转换为一个整数、将一个整数转换为18比特,因而,将Number of bits per integer设置为18。 (3)Elments是指子系统内部的通用块交织器符号的输出顺序,也即:[1 3 2 4 5 7 6 8 9 11 10 12 13 15 14 16 17 19 18 20 21 23 22 24 25 27 26 28 29 31 30 32]'',其中的数字均指行号。 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |