美文网首页
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-循环前缀

    1、周期延拓(若有相关基础,可直接从4开始) 对于连续信号而言:类似地,对于离散信号: 2、循环卷积(圆周卷积) ...

  • 2021-07-22 合为s的连续正数和

    前缀和的思想,两个for循环

  • stata--如何给所有变量加前缀

    假设需要加入前缀为pr 方法1 外部命令renvars 方法2 循环

  • leetcode_14 最长公共子序列

    1、暴力破解:循环数组,每一次比对当前元素和结果更新前缀 2、归并求解,求所有子串的公共前缀,分解为两两求解,事实...

  • leetcode周赛

    第一周 1029 可被五整除的二进制前缀 每次循环将前缀乘以二即可题型:数学 1030 链表中的下一个最大节点 要...

  • 随笔8号20170601-记录大量数据转移脚本思路

    1.有分表,最外层表前缀循环 2.数据量大分批进行,limit x,y 3.foreach循环获取到的数据,处理后...

  • Vue.js中常用指令

    指令(directive)是带有v-前缀的特殊属性。 vue.js中的循环 (v-for)、判断(v-if / v...

  • 201. 数字范围按位与

    求m-n的按位与其实仔细一想:求的是m和n的公共前缀,同时m-n中的各个数前缀肯定一样1:先搞一个while循环,...

  • 一些用前缀思想解决的题(持续完善)

    有前缀和, 前缀GCD, 前缀奇数个数, 前缀偶数个数, 前缀差, 等等, 都要根据自己的思想来去解决!!!,前缀...

  • 数据库开发规范

    数据库开发规范1. 数据库命名规范前缀对象前缀命名: 前缀命名一般用小写表的前缀: 业务模块组名前缀存储过程前缀:...

网友评论

      本文标题:OFDM-循环前缀

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