返回信息流比如 我现在遇到一个turbo编码的程序
它的处理方法不是简单的照着tubro编码的图一位一位的处理输入去实现
而是一次处理三位输入 所以我就看不懂那个程序了
现在有找不到它的算法[em23]
我不知道大家都是到哪里找算法的 ?baidu找不到啊
这是一条镜像帖。来源:北邮人论坛 / communications / #7387同步于 2008/10/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
大家都到哪里找算法啊
sagem
2008/10/9镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
【 在 sagem 的大作中提到: 】
: 比如 我现在遇到一个turbo编码的程序
: 它的处理方法不是简单的照着tubro编码的图一位一位的处理输入去实现
: 而是一次处理三位输入 所以我就看不懂那个程序了
: ...................
一次一位输入和一次N位输入有本质区别吗。。
一次几位是根据turbo编码中系统卷积码的结构确定的,只要知道编码器的结构照着葫芦画瓢不就完了,无非是状态多一点,状态转移图大一点而已。
再说编码本身就没什么好说的。
PS:多看书,百度没用,实在想用就goole吧,再想知道的多一点就google学术搜索。
for(usiI = 0;usiI < block_length;usiI = (UINT16)(usiI+3)) {
interleaver_index = (INT16)interleaver_table[usiI];
temp_register_1 = (INT8)(register_a1^input_ptr[usiI]);
temp_register_2 = (INT8)(register_b1^input_ptr[interleaver_index]);
*output_ptr++ = (UINT8)input_ptr[usiI]; /* X(t) */
*output_ptr_p1++ = (UINT8)(temp_register_1^register_a2); /* Z(t) */
*output_ptr_p2++ = (UINT8)(temp_register_2^register_b2); /* X'(t) */
interleaver_index = (INT16)interleaver_table[usiI+1];
register_a0 = (INT8)(temp_register_1^register_a0);
register_b0 = (INT8)(temp_register_2^register_b0);
temp_register_1 = (INT8)(register_a2^input_ptr[usiI+1]);
temp_register_2 = (INT8)(register_b2^input_ptr[interleaver_index]);
*output_ptr++ = input_ptr[usiI+1]; /* X(t) */
*output_ptr_p1++ = (UINT8)(temp_register_1^register_a0); /* Z(t) */
*output_ptr_p2++ = (UINT8)(temp_register_2^register_b0); /* X'(t) */
interleaver_index = (INT16)interleaver_table[usiI+2];
register_a1 = (INT8)(temp_register_1^register_a1);
register_b1 = (INT8)(temp_register_2^register_b1);
temp_register_1 = (INT8)(register_a0^input_ptr[usiI+2]);
temp_register_2 = (INT8)(register_b0^input_ptr[interleaver_index]);
*output_ptr++ = input_ptr[usiI+2]; /* X(t) */
*output_ptr_p1++ = (UINT8)(temp_register_1^register_a1); /* Z(t) */
*output_ptr_p2++ = (UINT8)(temp_register_2^register_b1); /* X'(t) */
register_a2 = (INT8)(temp_register_1^register_a2);
register_b2 = (INT8)(temp_register_2^register_b2);
}