IFFT后一个子载波周期内的样本数

信息处理 OFDM IFFT
2022-02-18 03:36:05

我有一个关于 OFDM 系统中子载波一个周期内的样本数量的快速问题。IFFT 过程在离散时域中生成 N 个并行子载波,这些子载波在子载波频率上同时发送。

IFFT后一个子载波一个周期内的样本数是多少?


感谢您的回复。让我通过下面的插图向您提供有关我的查询的更多详细信息。图片将子载波显示为模拟,但在添加 DAC 和 CP 之前将它们视为离散的。该系统有 4 个子载波,因此它们具有不同的频率。我的问题就在这里;再次假设它们只是IFFT和数字的输出-每个子载波在每个周期中是否有4个样本?所以可以说OFDM符号的持续时间是T秒。副载波 1 有 1 个周期,我想象副载波在 T 秒内有 4 个样本。子载波 2 有 2 个周期(周期),因此在 OFDM T 秒期间它有 2x4=8 个样本。对于 subcarrier3,它有 3x4=12 个样本。对于子载波 4,在 OFDM 符号(T 秒长度)期间有 4x4=16 个样本。

总共,OFDM 符号在符号长度 T 秒内有 36 个样本。

我对此的解释是否正确?

IFFT输出

2个回答

如果您想考虑模拟,可以将 OFDM 信号写为加权复正弦波的总和:

(1)x(t)=k=0N1Xkexp(j2πkfsNt),
在哪里N是子载波的数量,fs是采样频率和Xk表示子载波值。对于数字实现,(1)在t=n/fs
(2)x(n/fs)=k=0N1Xkexp(j2πknN),
它对应于由 IFFT 实现的逆离散傅里叶变换 (IDFT)。IFFT有N输入值和N输出值。没关系,因为 IDFT 是 N 周期的,因此任何额外的样本都是多余的。因此,(1)中的每个子载波都表示为N样本,无论其在 OFDM 符号长度期间的周期数如何。

如果您尝试将数字 OFDM 时域信号想象为N采样正弦曲线,我认为您发布的数字有两个问题:

  1. 图像中的第一个子载波明显有频率fs/N第四个子载波有频率fs. 那是错误的。从 (1) 可以看出,第一个子载波应该有频率 0,第四个应该有频率(N1)fs/N. 您可以对子载波重新排序(例如从负到正),但必须包括 DC 子载波,并且不得存在具有频率的子载波fs. (有人可能会争辩说,频率为 0 的子载波和fs实际上是相同的,但我认为这是插图的糟糕选择)
  2. 该图像仅显示正弦曲线的实部(或虚部)。这可能会给您一种印象,即采样时正在发生一些混叠。我稍后会解释我的意思。

请考虑我创建的下图 OFDM信号的子载波

它包含来自的子载波k=0k=3(线)及其样本(点)。它还显示了实部(蓝色)和虚部(红色)。现在考虑第一个和第三个子图中的红线:它们的样本完全相同。但是,蓝色(虚构)部分是不同的。那是,N=4这里的样本足以代表所有子载波。

这是我用来创建上图的 Matlab 代码:

N = 4; % num subcarriers
os = 128; % oversampling
t = linspace(0, 1-1/(N*os), N*os); % time
n = 0:N-1; % discrete time

figure;
cnt = 1; % helper
for k = 0:N-1;
    subcarrier = exp(1i * 2*pi*k*t);

    subplot(N,1,cnt);
    plot( t, real(subcarrier), 'b-');
    hold on;
    plot( t(n*os+1), real(subcarrier(n*os+1)), 'b.', 'MarkerSize', 20);

    plot( t, imag(subcarrier), 'r--');
    hold on;
    plot( t(n*os+1), imag(subcarrier(n*os+1)), 'r.', 'MarkerSize', 20);

    if(k ~= N-1)
        set(gca, 'XTick', []);
    else
        xlabel('t/T');
    end
    ylim([-1 1]);
    title( sprintf('k=%d', k));

    cnt = cnt + 1;
end

您需要与子载波一样多的样本。如果您有 64 个运营商,那么您需要 64 个样本。