MyFPGA Forum

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

2015第一届5G算法创新大赛_F-OFDM算法讨论区_Q&A集

[复制链接]
跳转到指定楼层
1#
发表于 2015-5-27 11:36:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 marymaryzhao 于 2015-6-26 15:03 编辑

欢迎学者才子们加入第一届5G算法创新大赛!很高兴通知您期待的论坛答疑和交流空间开通了!欢迎同学们积极参与讨论分享!另请注意,为了能够及时给到指导,请在对应的讨论区提问和讨论哦。谢谢!

4#
 楼主| 发表于 2015-6-26 15:03:13 | 只看该作者
本帖最后由 marymaryzhao 于 2015-6-26 15:04 编辑

为给同学们提供方便,针对答疑内容形成本Q&A集,同步在大赛官网和本论坛发布:
Q1:信道要求是LTE的ETU3km/h和EPA3km/h与AWGN信道。那么前边的OFDM符号生成是不是也要根据LTE的协议来生成呢?因为LTE的信道是有协议的嘛。还是说不管信道是什么,OFDM symbol的生成是独立生成的?谢谢~
A1:OFDM symbol生成跟信道无关。

Q2: 同步信号和导频结构都是自己设计?
A2: 同步和导频结构可以按照LTE设计。

Q3: 是按照LTE的标准生成的数据帧格式吗?
A3: 数据帧结构请参考LTE FDD下行帧结构,具体参数配置在胶片P22上有。
        子带一的帧结构可全完按照LTE FDD下行帧结构设计,但只需考虑数据信道和导频,无需考虑其他控制信道;
        子带二是非LTE标准的,大家可以参考子带一的帧结构进行频域上的缩放,以及时域上的切片即可。
        总体上,除了P22要求的参数之外,其他帧结构相关参数请大家自由设计,不做具体要求。

Q4:两个子带的基本链路参数如下表所述的表格中有一项为 Guard tone number: 0/1/2/3,这个参数是指什么?
A4: 在f-OFDM框架下,两个子带采用了不同的参数,它们并不是正交的,虽然我们采用了滤波器去限制各个子带的带外泄露,但仍不能完全保证子带之间无干扰。因此,需要考虑在两个子带之间空置保护子载波,所谓的“Guard tone”就是保护子载波的意思,0/1/2/3分别代表了保护子载波的数量。请大家在仿真和实现中多尝试一下不同保护子载波数量所带来的性能变化。

Q5: 按照LTE标准来做Resource block的话,那需要考虑 BCH, PSS, SSS and PDCCH这些东西吗?还是只需要考虑信息和CSR?如果考虑的话那根据子带2的参数配置如何去设置它的Resource block,3GPP TS 36.211标准里暂时没看到看到那样的配置,还是其他协议里有?
A5: 不需要考虑任何控制信道,只需要考虑PDSCH以及CRS导频即可。LTE协议没有提供30KHz子载波间隔的RB定义和CRS图案,大家可以参考15KHz的定义方式,进行缩放和切片即可,如果有精力的话,也非常欢迎大家自行设计更加合理的导频图案以及RB定义。
5#
 楼主| 发表于 2015-7-20 16:11:13 | 只看该作者
Q&A在答疑会前的第二次收集,欢迎大家积极交流,踊跃创新:
Q6: 复赛要求用FPGA实现,请问下信道模型也要用FPGA实现么?
A6: 是的,但是信道实现比较复杂,我们可以用简单的等效方法来实现。目前暂定由我们提供一组信道冲击响应的数据,大家只需要把这组数据读到FPGA中,用冲击响应对信号进行滤波即可。具体的信道冲击响应数据待后续提供。

Q7: 在子载波映射的时候,第二个子带数据的中心频点已经不是零了,这个时候是还按第一个子带的方式映射上去再搬移到第二个子带的中心频点上(按照基带上变频的方式变到第二个中心频点上),还是说在映射的时候已经可以直接映射到第二个频带上,如果是直接映射到第二个频带上怎么操作呢?
A7: 两种方法都是可以的,我建议你可以从实现复杂度的角度去评估一下哪种方法更好。第二种方法的话,可以参考我们提供的f-OFDM算法说明文档,里面给出了一个例子。

Q8: 根据赛题规定的要求计算出48个子载波,我想问一下是以符号进行编码调制,还是以资源块呢,若以符号进行编解码,假设采用QPSK,turbo 1/3, CRC24 (不考虑导频)  则传输的有效bir=48*2/3-24=8, 会不会太少了?
A8: 以资源块为粒度进行编码,48个子载波对应的资源总数应该是48*14=672个,而不是48个。

Q9: 通过文献里的参数计算,子带1中有48个子载波,FFT_size为2048,那么肯定要过采样,但2048/48不是整数倍,这时怎么过采样呢?
A9:48个子载波指的是有效数据子载波,其他2048-48 = 2000个子载波上都是映射0。因此不需要特别的过采样操作,IFFT变换本身也就是完成了过采样。

Q10:在官网的文档里面有下面的一句话:
以两个子带均为720KHz带宽为例,则M1=48,M2=24。假设子带1的子载波映射编号为[-24, -1] [1 24], 中间的0号子载波为直流分量,不做数据映射。假设N1=0,N2=1,则子带2的子载波编号为 [14, 37]。我的疑问是:子带1已经编了[1 24],子带2的编号范围[14 37]是不是和子带1的重合了,应不应该是[25 48]呢?
A10: 子载波的编号和子载波所映射的频率位置是有严格对应关系的。一个简单的方法是,用子载波间隔乘以子载波编号,看看两个子带是否有重复的,如果两个子带有重叠的部分,则说明设置的不够合理。

Q11:按照LTE的参数写的链路,而OFDM的频谱带外性能意外地有点好,带外衰减达到-70多dB,而我看很多论文根本衰减不到这么多,想不出原因所在。而滤波后的数据过衰落信道(EPA)后,感觉由于滤去了一些有用信息,反而造成了误码,从而造成OFDM的系统性能反而比FOFDM的性能好,求问有没有能解决的办法?
A11:看起来功率谱是过于好了,通常OFDM的带外衰减会在-30多dB的时候开始出现平台。请确认一下画功率谱的方法是否合理?建议可以用matlab自带的函数或系统对象画功率谱。另外,关于F-OFDM性能损失的原因,请确认一下滤波器的具体配置,是不是滤波器设计的不够合理,比如说带内失真或者时域严重ISI导致的性能损失?
6#
 楼主| 发表于 2015-7-23 16:15:28 | 只看该作者
本帖最后由 marymaryzhao 于 2015-7-23 16:16 编辑

20150723 Q&A 问题来自于论坛和QQ群,欢迎大家积极交流,踊跃创新:
Q12:系统的CRC需要按照LTE标准两次编码么,它的纠错方法是什么?
A12:CRC的主要目的是检错,大家最好按照LTE的方式做,如果传输块(LTE术语:Transport Block, 缩写TB)太大,则最好把TB切割成更小的Code Block(CB),以免过高的编码和译码复杂度,具体实现方式和参数取值请参考LTE协议。CB和TB都可以加CRC,CB加CRC的目的是当任意一个CB的CRC校验未通过时,就可以停止整个TB的译码,反馈NACK。当所有CB的CRC校验都通过之后应当再用TB的CRC进行校验,进一步避免校验错误。
在本次比赛所要求的范围内,因为TB较小,还不涉及TB分割成CB的问题,所以不强制要求实现这个功能。但如果有精力做了这部分内容,那是可以加分的项目。
之于你说的CRC的纠错方式,我没理解你的意思,请补充细节。

Q13:根据参考资料里面给的:
F2=(24+0)*15khz+(12+1+0.5)*30khz=765khz
这里的为什么要加0.5,在仿真的时候,若中心频点设置为765khz,出来的频谱很差,带外衰减也很差,若中心频率计算时不加0.5,则带外衰减会正常。
A13:是这样的,因为子带2的总子载波数量是偶数,那么子带2的中心频点不可能落在其中一个子载波所在的频率上,而应该在中心的两个子载波的中间。例如:子带2共有24个子载波,那么显然其中心频点的位置应该在第12个和第13个子载波的中间,这是为什么(12+0.5)出现在公式中的原因。

Q14: 标准的LTE子载波间隔是15kHz,一个TTI包括14个symbol,也就是7+7。
现在的是30kHz配置,根据大赛官网PDF上的配置,一个TTI包括5个symbol.
那么F-OFDM的一个TTI,采用12个symbol 可以吗?就是前面7个是标准的15kHz的symbol,后面的5个symbol是30kHz的?然后分别对7个和5个进行加窗处理,抑制OOB。
A14: 请再仔细阅读一下培训材料,你没有准确理解F-OFDM的意义,两个子带在频率上是相邻的,在时间上是同时存在的,所以不存在你说的前7个用子带1,后5个用子带2参数的问题。

Q15:AWGN信道 插入删除pilot 会对BLER有影响么(pilot代码正确)
A15:基本不会有影响。唯一的一点是由于pilot的插入导致有用资源减少,会导致码长变短,除非插入的pilot非常多,否则对码长的影响也是很微弱的。

Q16:我问下 子带不是48或24个载波么,映射完后进行2048点IFFT时要补很多0么
A16:是的,要补够2048或者1024点IFFT


7#
 楼主| 发表于 2015-7-23 16:19:45 | 只看该作者
Q17:子带2不是LTE标准,那它一个帧里包含多少TTI啊
A17:在本次比赛中,我们没有定义帧的概念,只有TTI的概念,所谓TTI和LTE中的subframe的概念类似,子带2的一个TTI包含5个OFDM符号。由于不影响实现,我们不需要进行帧的定义。

Q18:赛题里要求的1/3,1/2和3/4的Turbo码率具体是怎么计算的?它和Turbo码母码码率是什么关系?是否采用LTE的速率匹配机制?
A18:Turbo编码原则上采用LTE的机制,详细的方法描述请参考3gpp TS36.212文档。这里主要对大家比较关心的如何确定TB size(TB表示transport block,即编码前的比特数量),如何实现赛题要求的码率进行举例说明。
        首先计算子带内的总资源数量。以子带1为例,720KHz的子带带宽上总共包含48个子载波,并且每个TTI包含14个OFDM符号,因此子带1总的资源数量为48*14=672个.
        然后扣除导频开销。假设采用LTE中的CRS导频图案,则在720KHz的子带带宽上共有32个导频符号,因此剩余的有效资源数量为672-32=640个。(注意:如果实现了同步信道、控制信道等,也应扣除这些物理信道的开销)。
        计算编码后的总比特数。假设QPSK调制,每个调制符号包含两个比特的信息,则编码后的总比特数为640*2=1280个。
        计算TB Size(编码前的比特数量)。假设要求的码率为1/2,CRC长度为24,则TB size为 (1280)*1/2 – 24 = 616。(注意:如果TB size超过6144,需要切割成CB进行多次Turbo编码,每个CB都需要加CRC)。
        生成长度为TB size的随机比特。在本例中,应生成616个随机比特。
        加CRC并进行turbo码编码。LTE中的Turbo码母码(所谓母码码率,指的是在进行速率匹配之前的码率)码率为1/3,则编码后的比特数量为(616+24)*3 = 1920
        速率匹配(打孔)。请按照LTE 36.212中给出的rate matching方法进行打孔,使rate matching后的比特数量为1280个。
这就完成了整个turbo编码的过程。Turbo编译码的过程相对比较复杂,如果大家对直接实现Turbo编译码有困难,可以使用Matlab自带的TurboEncode和TurboDecode的系统对象或者函数帮助理解和减小工作量。
8#
 楼主| 发表于 2015-7-30 10:51:32 | 只看该作者
20150729 Q&A集,问题自于论坛和QQ群,欢迎大家积极交流,踊跃创新;很高兴看到同学们友爱的交流:
Q19:子带1的TTI长度为1ms,子带2的TTI长度为0.2ms, 此处是希望子带2 补零达到子带1的TTI的长度,还是子带2传输5个TTI
A19:第二个子带需要凑够5个TTI才能和第一个子带的数据相加。不能通过补0实现,这是不会出现在实际系统中的。

Q20:1.测bler时发现在部分信噪比范围内随信噪比增大,误块率增加,并且用matlab中LTEtoolbox标准模型建模也出现这个问题,请问到底应该怎么测bler
2.初赛是比较建模的性能,那官方是不是应该提供一个统一的测试标准(例如统一信道模型)
A20:1、信噪比增加,BLER增加是不符合原理的,请确认代码的正确性。BLER可以用CRC校验通过的次数除以总的仿真TTI数量来计算。
2、信道模型在培训文档中已经说明,请参考该文档。

Q21:我的子载波映射到资源块上 48/12=4个资源块,而标准的资源块个数>6,这时我们强行为4么   还有就是映射完毕后怎么进行IFFT啊  是对资源块上的每一列补0变换么
A21:是的,不必一定映射在中心的48个子载波上,任意连续的48个子载波即可,IFFT变换时在两侧补零。但要注意,要让两个子带的子载波映射达到相邻但不重叠的效果。

Q22:请问matlab可以用什么函数进行EPA 3km/h和ETU 3km/h进行建模,比如说matlab r2014自带的函数lteFadingChannel函数,除了设置ETU或者EPA,以及设置多普勒频移为5hz,其他的参数不知道怎么设置了。
A22:需要配置的主要是信道的功率时延谱power delay profile,以及移动速度,ETU等信道是LTE的标准信道,不熟悉的同学可goolge一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-4-20 18:55 , Processed in 0.035664 second(s), 14 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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