MyFPGA Forum

 找回密码
 注册
搜索
查看: 6275|回复: 21
打印 上一主题 下一主题

Polor解码算法问题求助

[复制链接]
跳转到指定楼层
1#
发表于 2015-6-4 18:42:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
各位,求助一下。我按照大赛所给算法所得的仿真结果与CA_SCL不一致而与SCL一致,我贴出了仿真结果图,请问有谁遇到了我这样的情况吗?
C:\Users\Administrator\Desktop\QQ截图20150604183956.png
这是我的CA_SCL结果
C:\Users\Administrator\Desktop\QQ截图20150604184151.png
这是官方结果
推荐
发表于 2015-6-29 14:43:28 | 只看该作者
erick 发表于 2015-6-29 09:24
会提高很多,但与参考还是有些差距。

如果仅有0.2dB的差别的话,那就说明你的代码很可能已经是正确的了,原因如下:
仔细对比大赛材料52页参考性能和14页的曲线,可以观察到有大约0.2dB的差别。这是因为信噪比折算不同:14页的曲线信噪比是按照码率1/2进行折算的,而52页的参考曲线根据51页中给出的公式,实际折算信噪比时的码率是略低于1/2的。
回复 支持 0 反对 1

使用道具 举报

2#
 楼主| 发表于 2015-6-4 18:44:39 | 只看该作者
新人不知如何发图片,附件是我的实验结果,和官方给的结果

QQ截图20150604183956.png (14.46 KB, 下载次数: 937)

QQ截图20150604183956.png

QQ截图20150604184151.png (94.23 KB, 下载次数: 955)

QQ截图20150604184151.png
3#
 楼主| 发表于 2015-6-4 22:49:50 | 只看该作者
@littlecrab @HW_chenlei @mengmeng202 @Chris @marymaryzhao
4#
发表于 2015-6-5 08:27:28 | 只看该作者
这个算法已经经过国内外数十个团队独立验证了的,具体可以查阅相关参考文献

请仔细检查代码,是否和算法完全一致,我这里只能给出一些调试建议和猜测:
1. SCL路径度量更新时,除了信息比特位置以外,固定比特位置也是需要更新路径度量的;
2. CRC模块是否正确?一个简单的方法是,你可以直接拿正确序列与SCL译码所得的list中各个路径逐个比对,查看正确路径是否存留在最后的list里面;
3. 信噪比计算是否正确?不过从你提供的曲线的相对增益看,应该是在译码程序上有问题,但这块也应该要特别注意一下的。
5#
 楼主| 发表于 2015-6-5 09:13:44 | 只看该作者
额,信噪比公式计算是用的官方给的计算公式,CRC应该没问题,在使用之前已经测试过了,SCL路径度更新时两种比特位都已更新,译码程序正在检查对,能再问一下这个仿真程序处理速度有多快?
我在N=1024,L=4的时候处理一帧要30~40ms。我电脑是2G主频,8G内存的。
6#
发表于 2015-6-5 10:01:01 | 只看该作者
我现在的仿真代码译这个码,L=32的时候译每一帧也不到20ms哦(只统计译码,没有开任何降复杂度的算法开关,仿真PC是3G主频、4G内存)。用C写的代码。如果用SSE/AVX优化的话,肯定可以在10ms以内。
7#
发表于 2015-6-5 10:11:02 | 只看该作者
李舒燕 发表于 2015-6-5 09:13
额,信噪比公式计算是用的官方给的计算公式,CRC应该没问题,在使用之前已经测试过了,SCL路径度更新时两种 ...

刚才测试了一下N=1024 L=4的情况,2.47ms

据我的感觉,如果好好优化一下,再快10倍应该问题不大。不过,本次比赛主要是看FPGA实现,仿真代码只要性能优秀即可~
8#
 楼主| 发表于 2015-6-5 10:44:55 | 只看该作者
哦,我已经优化过好几遍了,一开始用递归函数来写花的时间更长,要1070ms,现在全部用C展开了,我感觉已经不好再优化。版主你是怎么优化的?对了我是用VS来编译的。
9#
 楼主| 发表于 2015-6-5 10:47:31 | 只看该作者
还有那个曲线在L=4的时候已经现在开始接近官方给的结果了
10#
发表于 2015-6-8 08:39:58 | 只看该作者
一次SC译码,除去地址计算,一共只需要N*log2N次的加法(G节点)或者查表(F节点)操作,相应这个是非常快的。
那么如果是list译码,最多只需要L*N*log2N次加法或者查表。如果仅仅是L=4,也不会明显增加复杂度。

List译码时,多出来的部分无非是路径的排序和复制。
排序的话,由于L很小,复杂度也不高。
路径复制确属难题,但在路径复制的时候可以使用“lazy copy”机制大大减少运算量。
11#
发表于 2015-6-25 12:47:30 | 只看该作者
楼主的是什么原因导致结果出错的啊?
12#
发表于 2015-6-27 15:10:41 | 只看该作者
我仿真的也和楼主差不多,楼主原因找到了吗
13#
发表于 2015-6-27 21:47:10 | 只看该作者
Chris 发表于 2015-6-5 10:01
我现在的仿真代码译这个码,L=32的时候译每一帧也不到20ms哦(只统计译码,没有开任何降复杂度的算法开关, ...

您的20ms是aCA的,还是CA的?
14#
发表于 2015-6-28 23:08:00 | 只看该作者
erick 发表于 2015-6-27 21:47
您的20ms是aCA的,还是CA的?

问下您,您加上CRC之后的性能与不加CRC性能提高很多吗?你的曲线图和楼主差不多吗?感觉和比赛的参考有点差距
15#
发表于 2015-6-29 09:24:40 | 只看该作者
uestcdongjun 发表于 2015-6-28 23:08
问下您,您加上CRC之后的性能与不加CRC性能提高很多吗?你的曲线图和楼主差不多吗?感觉和比赛的参考有点 ...

会提高很多,但与参考还是有些差距。
16#
发表于 2015-6-29 14:15:12 | 只看该作者
erick 发表于 2015-6-27 21:47
您的20ms是aCA的,还是CA的?

非adaptive的

如果是adaptive的List译码,时延在很大程度上取决于信噪比。
17#
发表于 2015-6-29 14:16:35 | 只看该作者
erick 发表于 2015-6-29 09:24
会提高很多,但与参考还是有些差距。

如果性能差别在0.1dB以内,就可以接受了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-5-15 09:54 , Processed in 0.047684 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表