当前位置:网站首页>OFDM 十六讲 4 -What is a Cyclic Prefix in OFDM
OFDM 十六讲 4 -What is a Cyclic Prefix in OFDM
2022-08-03 11:30:00 【明朝百晓生】
参考
OFM 里面重点是ISI,ICI, CP.这里面重点讲解一下CP. Cyclic prefix,循环前缀
也有很多博客文档讲过这个,外文有专门的一本书讲CP,这篇主要是初步了解CP,
如果有兴趣可以把CP 跟 各种 调制模式,以及星座图结合起来分析,多普勒效应结合起来研究。
之前在Bilibili 也看过爱立信的专家有用机器学习去做这块模型研究的。
目录:
1: single - carrier situation
2: multi - carrier situation
3 DFT & IDFT code
4: 常用三角函数公式
一 single -carrier
1.1 BPSK 译码问题
这里面我们以BPSK modulation 为例,发送两个symbols,
接收方想要译码出symbols 2 的时候,由于多径传输问题
假设原始发射的信号为:
收到的信号为
根据和差化积公式
我们放到星座图里面看
1.2 星座图
通过星座图可以看到:相位和幅度都发生了变化。
如果相位超过90度,会导致译码出错。
1.3 解决方案
每个发送符号的前面加一个循环前缀,发送的信息格式 cp+msg
解码只解码msg 部分,cp部分discard.
缺点:
循环前缀长度越长,信道效率越低。
cp: 是发送symbols 1周期或几个周期的的组成
1.4 symbol 1 译码
如上图,symbols 1:
发送信息 : cp+msg
译码的时候:
在采样窗口,第二个周期泄露掉的功率通过cp 泄露出来的功率补上了。
1.5 symbol2
原始信息是2个周期的正弦波,加上一个一个周期的cp
解码的时候,cp 部分丢弃
在采样窗口内,最后一个周期泄露出的能量,通过cp 部分能量补上了。
二 multi-carrier situation for ofdm
OFDM 通过离散傅里叶逆变换把输入的频域信息转换为时域信息
因为信号是叠加后的信号,没有单载波的周期了。解决方案,是把信号的后面一部分
拿到前面做为CP。
译码的时候跟single-carrier 是一样的,如下 后面leak out 的energy, 通过前面的
cp 部分补上来。
译码的时候,首先要重组,先把采样周期内CP 的长度拿到后面去
三 DFT & IDFT
DFT 公式
IDFT 公式
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 2 11:51:23 2022
@author: chengxf2
"""
import numpy as np
#离散傅里叶变换#
def DFT(X):
N = len(X)
real =[] #傅里叶变换的实部 cos
img=[] #傅里叶变换虚部 sin
for k in range(N):
w = -(2*np.math.pi/N)*k #角频率
i = 0
q = 0
for t in range(N):
x = X[t]
theta = w*t #相位
i = i+x*np.cos(theta)
q = q+x*np.sin(theta)
i = np.round(i,2)
q = np.round(q,2)
real.append(i)
img.append(q)
print(real)
print(img)
return real,img
#离散傅里叶逆变换#
def IDFT(real, img):
N = len(real)
for t in range(N):
im = 0
for k in range(N):
w = (2*np.math.pi/N)*k #角频率
theta = w*t
a = np.cos(theta)*real[k]
b = np.sin(theta)*img[k]
im += (a-b)
#b = b+q
im= im/N
im = np.round(im,1)
#b = b/N
#print("\n 时域信息 X[%d] = %d "%(t,im))
X =[1,2,3,4,5,6,7,8,9]
real,img =DFT(X)
IDFT(real,img)
边栏推荐
猜你喜欢
【MySQL功法】第4话 · 和kiko一起探索MySQL中的运算符
本周四晚19:00知识赋能第4期直播丨OpenHarmony智能家居项目之设备控制实现
MySQL - 2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded
请问应该用什么关键字将内容主题设置为 dark 呢
第四课 标识符、关键字、变量、变量的分类和作用域、常量
Why is the new earth blurred, in-depth analysis of white balls, viewing pictures, and downloading problems
微信小程序获取用户手机号码
complete knapsack problem
Generate interface documentation online
XDR平台架构与关键技术解析
随机推荐
SmobilerService 推送实现
智能日报脚本
[错题]电路维修
3分钟实现内网穿透(基于ngrok实现)
Skills required to be a good architect: How to draw a system architecture that everyone will love?What's the secret?Come and open this article to see it!...
小身材有大作用——光模块寿命分析(二)
第四周学习 HybridSN,MobileNet V1,V2,V3,SENet
Traceback (most recent call last): File
Redis发布订阅和数据类型
LyScript 实现对内存堆栈扫描
Analysis of the idea of the complete knapsack problem
代码分析Objective-C中的深拷贝与浅拷贝
LeetCode——622.设计循环队列
进程内存
通过组策略安装软件和删除用户配置文件
Cross-chain bridge protocol Nomad suffers hacker attack, losing more than $150 million
build --repot
How to use outside the PHP command in the container
Activiti产生的背景和作用
机器比人更需要通证