已解决问题
Matlab仿真OFDM系统,关于添加循环前缀的问题
提问者:snisn   |  提问时间:2012-4-8 18:02
我在使用Matlab做OFDM系统的仿真,目前的系统框图为:输入二进制序列->分组->QPSK调制->IFFT->加入循环前缀

添加循环前缀部分我不懂怎么做,因为我的理解是在每一个OFDM符号之间加入循环前缀,那就要求在做完IFFT后,得到每个符号的时域波形,然后将波形的后边一部分复制到符号的头部。

但现在的问题是,做完IFFT后,我不知道怎么得到每个子载波的时域波形。请问接下来要怎么处理IFFT的输出,然后加入循环前缀?
问题补充:2012-4-8 22:05
可是我做完IFFT后,得到的是一些离散的复数值,不知道这些结果和时域之间怎么联系起来?
例如我设定为4个子载波,每帧子载波含4个OFDM符号,那么以下QPSK_Signal是QPSK完的结果,y1是对QPSK_Signal做完IFFT的结果。使用语句y1=ifft(QPSK_Signal);

>> QPSK_Signal

QPSK_Signal =

0.7071 + 0.7071i,-0.7071 + 0.7071i,0.7071 - 0.7071i,-0.7071 + 0.7071i
0.7071 + 0.7071i,-0.7071 + 0.7071i,0.7071 + 0.7071i,-0.7071 - 0.7071i
-0.7071 - 0.7071i,0.7071 + 0.7071i,0.7071 + 0.7071i,0.7071 + 0.7071i
0.7071 + 0.7071i,0.7071 - 0.7071i,0.7071 + 0.7071i,-0.7071 - 0.7071i

>> y1

y1 =

0.3536 + 0.3536i,0 + 0.3536i,0.7071 + 0.3536i,-0.3536
0.3536 + 0.3536i,-0.7071 - 0.3536i,0 - 0.3536i,-0.3536
-0.3536 - 0.3536i,0 + 0.3536i,0 - 0.3536i,0.3536 + 0.7071i
0.3536 + 0.3536i,0 + 0.3536i,0 - 0.3536i,-0.3536
关闭所有答案回应     最佳答案
ziyubiti 的答案    ( 采纳时间:2012-4-10 11:49 )
取后面一部分采样点就行了
回应该答案 (3)  |  回答时间:2012-4-8 18:45
该答案得到 3 个回应   我要回应
snisn  |  2012-4-8 22:06
可是我做完IFFT后得到的是一些离散的复数值,请问这些值和时域怎么联系起来?
ziyubiti  |  2012-4-9 20:51
这些复数值在时域上传播阿,按照采样速率进行发送。
snisn  |  2012-4-10 11:49
十分感谢!!
其他答案 ( 1 条 )
IFFT后的时域序列取其后面一部分放到该符号的前面就行了!
回应该答案 (2)  |  回答者:xts0203   |  2012-4-8 19:06
该答案得到 2 个回应   我要回应
snisn  |  2012-4-8 22:07
可是我做完IFFT后得到的是一些离散的复数值,请问这些值和时域怎么联系起来?
xts0203  |  2012-4-10 12:25
是的!其实如果每个子载波都调制发射信号的话时域是复数形式的,要得到时域实信号,那子载波只能利用一半,另一半子载波调制对称共轭的信号,这样时域就是实数了!