GnuRadio OFDM 串行器块中的去噪效果

信息处理 解调 OFDM 格努拉迪奥
2022-02-13 06:14:27

为什么OFDM串行器在下面的流程图中具有如此强的去噪效果?这正常吗?

上面的星座在 OFDM 串行器块之后,下面的星座在 OFDM 串行器块之前。

这是 OFDM 文档: http: //gnuradio.org/doc/doxygen/page_ofdm.html

这无助于解释为什么串行器块具有如此强的去噪效果,知道为什么会发生这种去噪吗?

这是流程图(.grc 格式):http ://pastebin.com/raw/PTY0Q0Ty

在此处输入图像描述 在此处输入图像描述

进一步检查表明,串行器模块仅移除非数据载体。很可能碰巧任何非数据的东西都是超级嘈杂的,而数据载体根本没有嘈杂,但我仍然想知道这怎么可能。

1个回答

进一步的检查表明,串行器模块只删除了非数据载体。很可能碰巧任何非数据的东西都是超级嘈杂的,而数据载体根本没有嘈杂,但我仍然想知道这怎么可能。

这里发生的神奇之处在于帧均衡器块中使用的实际均衡器。如果您在 GRC¹ 中向上滚动,您可能会看到有效负载均衡器对象块,其中包含一个“simpledfe”均衡器。

现在,simpledfe代表简单数据反馈均衡器它实际上有很好的文档记录,但不知何故文档工具坏了,HTML 文档实际上不包含源代码中给出的任何解释。

因此,这是文档的源代码摘录:

/* \brief Simple decision feedback equalizer for OFDM.
 * \ingroup ofdm_blk
 * \ingroup equalizers_blk
 *
 * \details
 * Equalizes an OFDM signal symbol by symbol using knowledge of the
 * complex modulations symbols.
 * For every symbol, the following steps are performed:
 * - On every sub-carrier, decode the modulation symbol
 * - Use the difference between the decoded symbol and the received symbol
 *   to update the channel state on this carrier
 * - Whenever a pilot symbol is found, it uses the known pilot symbol to
 *   update the channel state.
 *
 * This equalizer makes a lot of assumptions:
 * - The initial channel state is good enough to decode the first
 *   symbol without error (unless the first symbol only consists of pilot
 *   tones)
 * - The channel changes only very slowly, such that the channel state
 *   from one symbol is enough to decode the next
 * - SNR low enough that equalization will always suffice to correctly
 *   decode a symbol
 * If these assumptions are not met, the most common error is that the
 * channel state is estimated incorrectly during equalization; after that,
 * all subsequent symbols will be completely wrong.
 *
 * Note that the equalized symbols are *exact points* on the constellation.
 * This means soft information of the modulation symbols is lost after the
 * equalization, which is suboptimal for channel codes that use soft decision.
 *
 */

嗯,但是空载的航母呢?

现在,看看ofdm_equalizer_simpledfe我们看到的实现:

void
ofdm_equalizer_simpledfe::equalize(gr_complex *frame,
      int n_sym,
      const std::vector<gr_complex> &initial_taps,
      const std::vector<tag_t> &tags)
{
 […]

  gr_complex sym_eq, sym_est;

  for (int i = 0; i < n_sym; i++) {
    for (int k = 0; k < d_fft_len; k++) {
      if (!d_occupied_carriers[k]) {
        continue;
      }
      […]

换句话说:这些与原始 FFT 保持不变。

现在,一个典型的直接转换 OFDM 系统将使 DC 载波不被占用——它包含接收器 LO 的泄漏。这通常是一个相对强大的 FFT bin,其幅度不应有太大变化,其相位应取决于进行 DFT 的时间点,这是由 Schmidl&Cox 同步确定的帧开始时间。这就是我的解释||50星座点,其余的很可能是原始幅度的不均衡噪声,特别是因为我们正在查看一个同时显示 1024 个星座点的星座接收器 - 所以我们会看到一些噪声功率的异常值。


¹ 在屏幕上显示整个 GRC 流程图通常是不可能的。因此,工具栏和菜单中的“保存屏幕截图按钮”非常方便!