OFDM中的IFFT概念

信息处理 matlab OFDM
2022-02-05 15:05:41

任何人都可以解释IFFT如何在OFDM中实际生成子载波......当我们在matlab中模拟OFDM发射机时,我们正在获取输入数据流,对其进行编码并调制编码数据。然后我们将此调制的串行数据流转换为并行数据并将其提供给 IFFT 块。我的问题是子载波是如何在 IFFT 中生成的?

3个回答

为了理解 IFFT 用于 OFDM 的原因,您必须改变的第一件事就是忘记时域和频域。

顾名思义,OFDM 是一种关于频域复用的技术。当您考虑在 FDM 中时,您将有几个通道调制,其间有一个保护间隔,以防止干扰。如果载波是正交的,则不会有干扰,但不会浪费频段保护。

但是你怎么能有这个?

一种方法是使用多个调制器,如在 FDM 中,但具有正确的频率。这很难实现。

如果您将以数字方式实现滤波器组,这是在 OFDM 系统上查看 IFFT 的正确方法:转多路复用器 (TMUX) 相当于 IDFT。这就是为什么您可以使用 IFFT 作为 OFDM 的快速实现。您可以阅读一本关于多载波通信的书籍以获得更好的解释。这篇论文 http://wsl.stanford.edu/~ee359/ofdm_bingham.pdf也是我喜欢的关于多载波调制的一篇。

这样想吧。DFT 和 IDFT 是同一事物的两种不同表示。那是一系列复指数(子载波),其频率在频域中规则间隔(频率是 DFT 的 bin)。

为了简单起见,我在这里忽略了阶段

..IDFT........DFT..

A1e^f1nT + A2ef2nT +... <---> A1, A2 ...

DFT(频域)的系数 A1、A2 ... 表示左侧和(IDFT - 时域)中复指数(子载波)的时间序列的幅度信息。

在 OFDM 中,您将数据映射为表示 DFT (A1,A2...) 的幅度。

执行 IDFT,重建一个时间序列,该时间序列由使用系数 A1、A2 表示的幅度相加的复指数(子载波)组成...

或者,只需查看 IDFT 的定义。计算 IDFT 给出的时间序列是......

f[n]=1N2k=0N1A[k]ei2πnk/N

和的部分代表每个 OFDM 子载波。ei2πnk/N

这是我对关于 OFDM 的 IFFT/FFT 的直观理解(即 - 很少或没有数学):

大多数现代通信系统的想法是发送具有不同幅度和相位序列的符号。在 OFDM 中,这些符号包含在频域中。然而,发送器需要在时域中发送一系列复杂的符号。

假设您正在“每个符号一个样本”生成样本(稍后将进行上采样/重新采样)。在频域中控制子载波幅度和相位的最简单方法是什么?答案是IFFT。

如果您知道子载波的幅度和相位应该是什么,那么最简单的方法就是强制执行它,并为发射机提供它需要的时间序列复指数,这就是 IFFT。

一旦您在“每个符号一个样本”(生成符号时可以)获得样本,您就可以将该序列重新采样到模拟的发射器或接收端所需的任何内容。

背景:我发现我的数字通信课上的官方数学解释(温斯坦)不是很有帮助。在为 OFDM 规范编写 OFDM 仿真和实际接收器时,我得到了这种直观的理解。有些人的学习方式不同,我希望这会有所帮助。