好文档 - 专业文书写作范文服务资料分享网站

POCSAG编码器的实现,无线寻呼系统

天下 分享 时间: 加入收藏 我要投稿 点赞

——————————————————————————

装 订 线————————————————————————————————

实验总成绩: 报告份数:

西安邮电大学

通信与信息工程学院 专业课程设计报告

专业班级: 通工1102 学生姓名: 学号(班内序号):

2013 年 11 月 1 日

POCSAG编码器的实现

1.实验原理:

POCSAG码采用的是串行批次结构,每次传输的信号,首先是至少576bit的前导信号,跟着是若干批次的地址和信息信号,每一批次由17个码字组成,一个码字长32bit,第一个码字必是同步码字,后面16个码字分成8帧,每帧有两个码字,这样一个批次就由一个同步码加8帧组成,其编码格式如下:

POCSAG编码格式

前导码是576bit的101010交替码,其作用是让各接收机做好接受准备,使接收机获得位同步,以便在后面获得码组同步。同步码用于标识一批码组的开始,码字固定为7CD215D8,地址码必须在其对应的帧中发送,信息码可在任一帧中发送,但须紧跟随其地址码字。码字第一位为0表示地址码字,为1表示信息码字,没有信息码字,则用空闲码字填充,空闲码字固定为5A89C197 POCSAG码字都是BCH(31,21)加一位偶校验位组成,其第22至31位是BCH

- 1 -

纠错附加码,即对前面1至21位进行纠错编码,最后一位是偶校验,使32位码字中1的个数为偶数,该码字能够纠正2个或检出5个随机错误。 2.实验流程图:

编码排序模块 N 接收队列中有信息 Y 信息格式正确 Y 编制地址码字 编制地址码字 N 编制信息码字 排帧处理 Y 正在发送 N N 前置码→发送类型标志 发送类型标志=空信息 Y 前置码→发送类型标志 前置码字节(10101010B或 01010101B):发送口 启动通信控制器 0→发送字节数 1→发送字节数 1→发送标志 - 2 -

3.实验心得体会:

通过这两周的专业课程设计-POCSAG编码器的实现,感觉收获很大,学到

了很多,首先,通过查阅相关的资料,对POCSAG原理十分的熟悉。开始做实验室时,先列出流程图,然后进行分块编码, 在此期间,遇到一些困难,比如,一些条件的限制,当输入七位十进制大于2097151时,转换成的二进制数大于21位,不符合实际,最终在同学一块的帮助下,得到了解决。深深地认识到团队的力量,合作的重要性,还有对C语言知识进行了复习,还学到了很多新知识,收获颇丰。 4.参考文献:

1.《无线寻呼系统原理》、设计与维修 许伟平 编著 电子工业出版社 2.《无线寻呼系统》

陆冰霞 编著 电子工业出版社

3.《C语言在微机输入输出与接口技术中的实现与范例》

李齐雄 游国乾 郑颜雄 编著 学苑出版社 5.实验代码:

#include\#define N 8 #define M 21 #define P 32 #define Z 64 int i; void *addressCode(int d[],long n) //地址码字形成 {

while(n>0) //1).7位十进制码转化为21位2进制 {

- 3 -

d[i++]=n%2; n=n/2; }

if(i<21)//判断是当否是21位,不是自动加零

for(;i<21;i++) {

d[i]=0; }

return 0; }

void gradeBCH(int b[])//2)形成地

址码字,生成BCH码 {

int i=0,j,k; int

G[11]={1,1,1,0,1,1,0,1,0,0,1}; int

T[11]={0,0,0,0,0,0,0,0,0,0,0}; int C[32];

for(j=0;j<32;j++) C[j]=0;

for(j=0;j<=20;j++) C[j]=b[j]; while(1) {

if(C[i]&&i<=21) { j=0;

for(k=i;i

if(C[i]==1&&i>21) break; }

for(j=0;i<=31;i++,j++) T[j]=C[i];

for(i=0,j=21;j<31;i++,j++) b[j]=T[i]; }

void messageCode(int Mess[],int c[],int count,int zhen)//信息码字形成 {

int j,k=1,t,s=1; int num=0; c[0]=1; t=count-1; for(;t>=0;t--) {

switch(Mess[t]) {

case 0:num=0;break; case 1:num=1;break; case 2:num=10;break; case 3:num=11;break; case 4:num=100;break; case 5:num=101;break; case 6:num=110;break; case 7:num=111;break; case 8:num=1000;break; case 9:num=1001;break; }

k=k+3;

for(j=0;j<4;j++) {

c[k]=num; num=num/10; k--; }

k=k+5; }

for(k;k<=20;k++) c[k]=1; }

void codeConvert(char Mess[],int synchro[],int count,int flag)//同步码字SC和空闲码字的转化 {

int j,k=0,t,m; int num=0;

if(flag==0)m=1; if(flag==1)m=0; for(;m<2;m++) {

for(t=0;t

switch(Mess[t])

- 1 -

POCSAG编码器的实现,无线寻呼系统

——————————————————————————装订线————————————————————————————————实验总成绩:报告份数:西安邮电大学通信与信息工程学院专业课程设计报告<
推荐度:
点击下载文档文档为doc格式
0trrq4xgxu0wacw0ffu8
领取福利

微信扫码领取福利

微信扫码分享