自己学OFDM时遇到的问题与想法分享

其实在知乎与CSDN已经有很多很好的帖子方便入门了,大家可以先去那里入门,我在这里写的只有我一直觉得想不通的地方。

下面给出一个Matlab实现OFDM的帖子:https://blog.csdn.net/yiguoshun/article/details/101220911
里面有完整的matlab代码,可以直接实现,建议单步运行了解。

我在学习中其实一直想不通子载波如何产生,看别人的帖子说压根不会一个一个子载波地搞,直接固定晶振频率和IFFT点数就行了。当时理解这句话理解了很久,实际上还是对FFT、IFFT的形式以及数字域频率的概念理解得不够透彻。

数字域频率是对模拟域频率的归一化(用fs来做的归一化),即:将模拟域频率的2 * pi * f除以fs。可以看出来在数字域内2*pi就对应着频率fs。(这句话是之后的核心)

搞明白这个后就好说了,FFT是将时域非周期信号进行的离散傅里叶变换,那么如何读输出的频谱呢,先将这个频谱从中间分开,只看左边部分就行了。这一部分的频率是从0~fs/2,至于每个点和每个点之间的频率间隔除一下就出来了。可以看出来你FFT点数越多,能看到的频率点就越精细。

在这个基础上你发现了吗,数字域频率的奇妙之处就是把频率归一化后,频率是与采样频率挂钩的,是一种相对的量,具体的频率值你之后算一下就出来了。FFT时就算不知道采样频率我也能算,只不过各个点之后的频率与采样频率相关,也就是说可以变来变去。

然后,OFDM是利用IFFT进行的,其中的每个子载波频率其实都是IFFT函数上确定的,在数学上是正交的(你只要用了IFFT,你就不用担心这些频率不正交了,不正交你怎么算IFFT),他们具体的频率值如上面所说是与采样频率与你设置IFFT点数相关的。这时就不用担心这些正交的子载波怎么出来的了,因为他只是在IFFT时利用了它们,走了个过场,得到了时域信号,至于这些子载波的频率,只要你晶振确定,点数确定,IFFT时就确定了。

再具体了说,子载波频率间隔=晶振频率/IFFT点数就出来了。具体频率就看你把数据塞到哪个频率点上了。

数字域频率的这种相对值概念,你品,你细品。我给你个2pi,你算FFT也好IFFT也好,我频率值只是2pi的几分之几,和实际频率无关,当你把2pi与具体的fs对应上以后,诶,具体频率就出来了。

这个概念其实挺简单的,大佬应该都懂了,不必喷我说的啰嗦,我确实挺菜的,有些概念还是没有理解透彻,orz。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值