A、芯片:DSP6670
B、硬件环境:TMDXEVM6670L开发板,仿真器是560v2
C、软件环境:CCS 5.3
D、调试目标:BCP协处理器,无线电标准为 WiMAX
在 ENC 子模块中, SRC_CRC_EN=3 时,可以在 WiMAX 标准下为编码进行加扰,对应的,在上行就需要对加扰的信号进行解扰,利用 TCP3D 可进行解扰操作,但是,现在不知道 BCP 的加扰是以何种算法实施的,在 TCP3D 中该怎样布置解扰算法呢?
希望各位老师给予帮助,十分感谢!
Andy Yin1:
参考BCP user guide use case章节所述ENC对Wimax进行的是randomization及encoding,接收的数据直接送入TCP3D进行译码,将TCP3D配置为Wimax mode即可,并且TCP3D也没有解扰模式之类可配置。
Kevin Cai:
回复 Andy Yin1:
Hi, 您好!
另外您可以在wimax协议里查找加扰算法, BCP的加扰算法与协议是一致的;
在上行方向,您可以查看终端(手机端)是否进行了加扰及其加扰算法
谢谢!
Bear Melon:
回复 Kevin Cai:
Kevin 你好
当我在 ENC 中配置加扰模式后,下行方向的数据必定会根据加扰算法而改变
而在上行方向的模块中,并没有 wimax 模式下的解扰
所以这是不是意味着我需要利用 wimax 通用加扰算法单独写解扰模块
谢谢解答
Kevin Cai:
回复 Bear Melon:
Hi, 您好!
是的,我的理解与您一致
谢谢!
Bear Melon:
回复 Kevin Cai:
Kevin 你好
查看了802.16的 datasheet 后,文档中加扰初始序列为 100101010000000
但用 Matlab 仿真后,与 BCP 数据并不一致,
所以,BCP使用的加扰初始序列可以在哪里查询到?
PS:
BCP 的 RD 输出,有一个128bit 的 header,这个 header的意义是什么? 它是如何与下一级的 TCP3D 工作的?
Kevin Cai:
回复 Bear Melon:
Hi, 您好!
BCP执行的加扰是按照802.16e做的,参见文档描述:It also performs code block scrambling for WiMAX 802.16e
另外您方便描述一下您是如何在matlab里仿真的吗? 为了对比数据, 我想我们需要:
–关注BCP ENC 在Wimax下的输出格式(参见KeyStone Architecture Bit Rate Coprocessor (BCP) User Guide(SPRUGZ1) 4.4.1.2 节Wimax部分 )
–确定 matlab的加扰编码算法正确;
— 测试BCP输出时, 只使用ENC模块,去掉其他模块(如RM, INT, CRC)
RD输出的header,包含了编码块的长度信息和编码块的编号信息,见附件。 这些信息需要配置到TCP3D的寄存器中,以使 TCP3D正确译码
谢谢
Bear Melon:
回复 Kevin Cai:
Kevin 你好
我在做数据对比的时候已经考虑到上述情况
— 在配置 BCP 下行的 header 时,只添加 ENC 模块,并且测试了禁止加扰模式下,ENC 输出数据和 Matlab 仿真数据一致,即 Matlab 无加扰编码算法无误;
— 打开加扰功能后,Matlab 仿真使用了802.16e 的加扰初始序列,此时 ENC 输出结果与 Matlab 输出不一致。
现在,我们怀疑是加扰初始序列与 BCP 使用的不一致,不知道是否有这种可能?
Kevin Cai:
回复 Bear Melon:
Hi, 您好!
在Matlab中,您是先对原始序列进行加扰,再进行编码的吗?
谢谢!
Bear Melon:
回复 Kevin Cai:
Hi Kevin
在 Matlab 中,尝试了对原始序列先加扰后编码,先编码后加扰两种方式
得到的输出和 BCP 的 ENC 输出均不一致
谢谢