基于DSP的Manchester编译码系统设计
扫描二维码
随时随地手机看文章
摘要:介绍基于TI公司C6000 DSP的Manchester编译码器定点实现的设计过程,主要内容包括Manchester编码器、信号调制、码元同步、信道均衡、匹配滤波、信号解调、判决译码等。同时介绍了CCS开发环境以及编译结果。系统要求误码率不超过1E-8。
关键词:曼彻斯特编码;匹配滤波;均衡;码元同步;判决译码;误码率
引言
随着无线通信芯片技术的发展,越来越多的便携式或电池供电的无线传输设备进入人们日常生活,如遥控车门开关(REK)系统、汽车轮胎压力监视系统(TPMS)、无线内窥镜系统、蓝牙技术等。这种小功率无线传输系统的关键技术是在低电流消耗和信道干扰较强的情况下实现数据稳定可靠的传输。曼彻斯特码由于其特殊的性能,被广泛应用于小功率无线传输系统中。曼彻斯特编码是串行数据传输的一种重要的编码方式。曼彻斯特编码最大的优点是:数据和同步时钟统一编码,曼彻斯特码中含有丰富的时钟信号,直流分量基本为零,接收器能够较容易地恢复同步时钟,并同步解调出数据,具有很好的抗干扰性能,这使它更适合于信道传输。
1 曼彻斯特编码原理
用于数字基带传输的码型种类较多,Manchester码是其中常用的一种。Manchester码是一种用跳变沿(而非电平)来表示要传输的二进制信息(0或1),一般规定在位元中间用下跳变表示“1”,用上跳变表示“0”。其编码规则如表1所列。
2 数字基带信号处理框架概述
本文所设计的通信信号处理可以分为编码、同步、二元信号的信道传输预处理、自适应信道均衡、帧同步检测、匹配滤波、分数时延滤波、判决译码等过程。系统流程如图1所示。
在数字通信中,总是需要先将模拟信号数字化,也就是抽样、量化和编码三步曲。
2.1 同步
在本设计中,假定一个8位的同步头为HeadSyn,在ParameterSet中初始化为10110001,同步头的长度越长越好,但是执行的速度也就越慢。理论上来说,在对Manchester码加同步头时,同步头最好为全1,而不是巴克码。从实际仿真检测效果来看,该同步处理同样做到了很低的误码率。
2.2 二元信号调制
对于已经添加了同步头的编码信号,为了让其能通过下一步的上变频,从而在信道中传输,则需要进行成型滤波。
本设计中,首先确立了4倍过采样率(OverSampleRate),通过MatIab拟合了一个21阶的成型滤波器,对于一个N长度的编码信号,相当于算法循环N次,成型滤波值每隔4位赋予调制信号Signal,然后对应位相加,得到一个长度为N×OverSampleRate+FilterOrder-1的适合于信道传输的数字调制信号。这个结果可以用仿真软件之后观察到。
二元信号调制流程如图2所示。
2.3 信道传输处理
由于信号传输过程中,会经过信道杂波干扰,同时还有传输噪声影响,因此直接通过信道出来的波形必然有不同程度的失真,还会有各种谐波干扰,信道均衡在此显得尤为重要。本设计中采用的是时域横向FIR滤波器(自适应LMS算法)来进行信道均衡,并且由于信道均衡自带分数时延的效果,同步检测步骤后的分数时延滤波器也可以省略掉,当然保留也并无影响。
系统仿真所加噪声为白噪声信号。
均衡器得到的波形将一直与输入信号进行循环比较,但是由于同步信号已知,而其后波形是未知的,因此仅仅根据同步头位数确定循环比较次数。只要同步信号相等,即可大致认为整个信号已均衡处理完毕。(因此同步头长度越长,均衡效果越好。)
2.4 帧同步检测
由于接收到的信号含有同步信息,但是同步头的位置又不明确,所以在解调前,必须首先判断同步信息位置,这就需用到自相关函数波峰。帧同步头检测流程图如图3所示。
2.5 匹配滤波
由前面的帧同步头检测步骤,已经得到同步头之后的码元所在位置,但是由于信道传输过程中将引入大量噪声以及无用信息,故想要获得最大结果,必须通过匹配滤波器处理。从本质上来讲,就是二次成型滤波,也就是FIR滤波。当有了同步之后码元匹配滤波的极值点信息,再由同步处理部分得到的距离最佳采样点最近的前一个整数位置信息,就可以得出delay的延迟信息。
2.6 分数时延滤波
由于锐化之后波形的极值点,可能并非实际中的采样点,这样就需要通过分数时延滤波器处理后,对极值进行估计。这样,就可以更准确地进行下一步的判决译码。
如果定义为有限长时延滤波器DelayFilter的时域信号,其近似对应的频域变换为H(jw)=e-jwD,其中D为同步处理后的返回值delay数值与距离最佳采样点最近的前一个整数位置长度之差,也就是delay数值的小数部分,式中ak,n为在ParameterSet部分中声明的Del ayFilter二元矩阵。
所以,一旦同步处理结束后,知道了D值就能得到该频域响应下的时域信号,有了时域信号之后,再对同步头之后一个码元周围作插值滤波,便可得到最佳采样点幅值。
2.7 判决译码
在本设计中,对于经过上述处理后得到的极值(附近的2~3个数值与极值信息相同),如果大于0,则为高电平,如果小于0,则为低电平,并且同时进行解码,实现曼彻斯特编码的逆反过程。在程序中表现为:如果检测到高电平,表示下一位肯定是低电平,所以对应的解码位就是“1”;如果检测到低电平,表示下一位肯定是高电平,所以对应的解码位就是“0”。
3 CCS环境以及仿真结果
CCS是一款集成性DSP软件开发工具,其有软件和硬件仿真两种模式,.cmd文件主要是用来分配处理器的ROM和RAM空间的。它告诉链接程序怎样计算地址和分配空间。所以不同的芯片就有不同大小的ROM和RAM,存放用户程序的地方也不尽相同。所以要根据芯片进行修改。 .cmd文件分两部分:MEMORY和SECTIONS。
图4为code码元在CCS下的仿真波形。
图5为code_在CCS下的仿真波形。
从图中看出,code为10001101011……,code_为10001101011……。可以观察出编码code与解码code_是相同的,符合误码率要求。
code_manch波形如图6所示。
另外,code_manch前8位代表同步头,第9位开始是编码信号,为10110001100101010……第9位开始的10对应code中的1,01对应0。