美文网首页
OFDM-循环前缀

OFDM-循环前缀

作者: 爱思考的胖次呆 | 来源:发表于2019-07-12 14:52 被阅读0次
    1、周期延拓(若有相关基础,可直接从4开始)

    对于连续信号而言:
    x_T(t)=\sum_{k=- \infty}^{\infty}x(t-kT)=\sum_{k=- \infty}^{\infty}x(t+kT)
    类似地,对于离散信号:
    x_N(n)=\sum_{k=- \infty}^{\infty}x[n-kN]=\sum_{k=- \infty}^{\infty}x[N+kN]

    2、循环卷积(圆周卷积)

    周期为N的循环卷积(x \otimes h)[n]为:
    \begin{align} (x_N*h)[n]&=\sum_{m=- \infty}^{\infty}h[m]\cdot x_N{[n-m]}\\ &=\sum_{m=- \infty}^{\infty}\{h[m]\cdot \sum_{k=- \infty}^{\infty}x{[n-m-kN]}\} \end{align}

    3、循环卷积和线性卷积的关系

    循环卷积是线性卷积周期延拓后取主值序列。

    4、OFDM的循环前缀

    “采用循环前缀后,信道输出的后N个样值(去除CP后)是发送序列和信道冲激响应的循环卷积。”

    忽略信道噪声,系统模型可以表示为:
    Y=H*X \tag{4-1}
    假设h的长度为2,x的长度为3,公式(4-1)可以写成矩阵形式:
    \left [ \begin{matrix} y_0 \\ y_1\\ y_2 \end{matrix} \right ] = \left [ \begin{matrix} h_0 & 0 & 0 \\ h_1 & h_0 & 0 \\ 0 & h_1 & h_0 \\ \end{matrix} \right ] \left [ \begin{matrix} x_0 \\ x_1\\ x_2 \end{matrix} \right ] = \left [ \begin{matrix} h_0x_0 \\ h_1x_0+h_0x_1\\ h_1x_1+h_0x_2 \end{matrix} \right ] \tag{4-2}
    根据定义,CP的长度至少为L-1(L为h的长度),这里设CP长度为1。则加完CP后的输入向量为:X^{'}=[x_2 ~ x_0 ~ x_1~x_2]^T

    经过信道后(线性卷积)输出的向量:Y^{'}=H*X^{'}
    \left [ \begin{matrix} y_0 \\ y_1\\ y_2\\y_3 \end{matrix} \right ] = \left [ \begin{matrix} h_0 & 0 & 0 & 0 \\ h_1 & h_0 & 0 & 0\\ 0 & h_1 & h_0 & 0\\ 0 & 0 & h_1 & h_0\\ \end{matrix} \right ] \left [ \begin{matrix} x_2\\x_0 \\ x_1\\ x_2 \end{matrix} \right ] = \left [ \begin{matrix} h_0x_2 \\ h_1x_2+h_0x_0\\ h_1x_0+h_0x_1\\ h_1x_1+h_0x_2\\ \end{matrix} \right ] \tag{4-3}
    而根据定义,HX的循环卷积:Y^{''}=H \otimes X
    \left [ \begin{matrix} y_0 \\ y_1\\ y_2\\ \end{matrix} \right ] = \left [ \begin{matrix} h_0 & 0 & h_1 \\ h_1 & h_0 & 0\\ 0 & h_1 & h_0\\ \end{matrix} \right ] \left [ \begin{matrix} x_0 \\ x_1\\ x_2 \end{matrix} \right ] = \left [ \begin{matrix} h_1x_2+h_0x_0\\ h_1x_0+h_0x_1\\ h_1x_1+h_0x_2\\ \end{matrix} \right ] \tag{4-4}
    (4-3)为线性卷积输出的向量,在实际中,我们会去掉接收到的信号的CP部分,在我们的例子中也就是去掉y_0,于是就变成了(4-4),这也是开头那句话的含义。

    5、Matlab仿真
    x = [1 3 5 7 9 11 13 15];           % transmitted sequence
    x_cp = [x(end-2:end) x];            % length of CP is 3
    h = [2 4 6];                        % channel taps
    
    % linear convolution
    y1 = filter(h,1,x_cp);
    % circular convolution
    y2 = cconv(x,h,8);
    

    仿真结果:

    y_1 22 70 148 140 100 28 52 76 100 124 148
    y_2 148 140 100 28 52 76 100 124 148

    相关文章

      网友评论

          本文标题:OFDM-循环前缀

          本文链接:https://www.haomeiwen.com/subject/vunekctx.html