2016.03.31 –

个人理解笔记。(无通信基础,所以有的表达可能会直白或片面。可忽略映射之类的词汇,直接见词语所描述的现象/过程/机制)

03.31

OFDM的基本原理是将高速率子载波上数据流划分到多个低速率子载波上同时传输[2]。

OFDM信号由多个经PSK(Phase Shift Keying,相移键控)或QAM(Quadrature Amplitude Modulation,正交振幅调制)调制的、彼此正交的子载波相加组成(这里的调制在就是指matlab中的映射过程)[2]。

Figure 1. OFDM信号

1 映射

主要指信息元素与载波的振幅、相位或频率的映射机制。

1.1 PSK

(1) BPSK^{[3]}[3]

[1] 原理描述

bpsk(Binary Phase Shift Keying,二进制相移键控)用载波初始相位0和π分别表示二进制的0和1。如用频率为300000Hz的余弦载波来表示二进制序列[0 1 0]时,则应依次产生如下图所示的载波:

Figure 2.频率为3e5[Hz]的余弦载波用bpsk方法调制二进制序列[0 1 0]图示

[2] matlab描述

Matlab中有一套描述bpsk过程的工具函数。在matlab中用bpsk方法映射二进制序列[0 1 0]的样例代码如下:

bpsk.m

% bpsk.m

% 用bpsk映射二进制序列[0 1 0]

clear

bseq =[0 1 0];

% 确定映射对象 - PSK中的bpsk映射

mod_ob = modem.pskmod(2);

% 根据映射对象映射bseq二进制序列

mod_bpsk_symbols = modulate(mod_ob,bseq)

运行bpsk。

mod_bpsk_symbols = [1.0000 + 0.0000i, -1.0000 + 0.0000i, 1.0000 + 0.0000i]

复数既能够表示大小(绝对值)又能够表示角度。

由(度娘的)

a+bi=\sqrt{a^2+b^2}cos\theta+isin\theta

a+bi=a2+b2−−−−−−√cosθ+isinθ

mod_bpsk_symbols =

[

1+0i=1(cos(0)+isin(0)), -1+0i=1(cos(\pi)+isin(\pi)),1+0i=1(cos(0)+isin(0))

1+0i=1(cos(0)+isin(0)),−1+0i=1(cos(π)+isin(π)),1+0i=1(cos(0)+isin(0))

]

即将信息[0, 1, 0]和能够描述角度的数学描述[ 1(cos(0)+isin(0)),1(cos(π)+isin(π)),1(cos(0)+isin(0))]相对应,以从复数中能够清楚地读出角度信息。在matlab中,这里的角度就可被视为是在描述载波的初始相位。

04.01

(2) QPSK

[1] 原理描述

qpsk(Quadrature Phase Shift Keying,正交相移键控)是一种四进制移相键控。它规定了载波的[π4,3π4,5π4,7π4 ]相位分别代表四进制[0, 1, 2, 3]中的元素。用载波来表示信息[0, 1, 2, 3]如下图:

Figure 3. QPSK表示信息[0, 1]的图示,表示[2, 3]同理

由于PSK只跟载波的(初始)相位有关,那么可以将载波的相位[0, 2π]独立出来,看其相位与其所表示的信息元素之间的映射关系。如下图:

Figure 4. QPSK的星座图

Figure 4被称为“星座图”,它表示了载波上的信息分布以及与信息元素与载波相位之间的映射关系。如Figure 4中,信息分布在载波的[π4,3π4,5π4,7π4 ]相位上,它们分别表示信息[0, 1, 2, 3]。

[2] matlab描述

qpsk.m

% qpsk.m

% 用qpsk映射四进制序列[0 1 2 3]

clear

A = 1;

M = 8;

mseq = 0 : M - 1;

% 映射类型,PSK中的qpsk映射

% 构建一个偏移π/4弧度的4-PSK映射对象

% 若不偏移则是相位[0,π/2, π, 3π/2]分别与信息[0 1 2 3]对应

mod_ob = modem.pskmod(M, pi / 4);

% 根据映射对象调制 - 将信号用对应到载波相位

mod_qpsk_symbols = A * modulate(mod_ob,qseq)

运行qpsk。

mod_qpsk_symbols =

[0.7071 + 0.7071i, -0.7071 + 0.7071i, -0.7071 - 0.7071i, 0.7071 - 0.7071i]

0.7071代表的2√2 ,则mod_qpsk_symbols =

1(cos(π4)+isin(π4)),1(cos(3π4)+isin(3π4)),1(cos(5π4)+isin(5π4)),1(cos(7π4)+isin(7π4))

经qpsk映射后,

信息[0, 1, 2, 3]被映射为

1(cos(π4)+isin(π4)),1(cos(3π4)+isin(3π4)),1(cos(5π4)+isin(5π4)),1(cos(7π4)+isin(7π4))

由它们描述载波的初始相位。

(3) MPSK

[1] 原理描述

mpsk(multiple phase shift keying,多进制数字相位调制)利用载波的多种不同相位状态来表示多个信息,mpsk可以表示m进制中的m个数据。应用最广泛的是四进制psk即QPSK(见QPSK)。

根据bpsk和qpsk推测。在MPSK中,信息元素与载波相位的映射关系为:将2π均分为2π/m份,从0相位开始,每隔2π/m就依次表示一个m进制值(绝对相位调制)。如8mpsk的相位[0,π4,π2,3π4,π,5π4,3π2,7π4 ]分别表示序列[0, 1, 2, 3, 4, 5, 6, 7]中的每一个元素。若用相位偏移如π/4(相对相位调制)来映射,则用绝对相位的各相位加上π/4来表示各元素。

[2] matlab描述

以8psk为例。

mpsk.m

% mpsk.m

% 用8psk映射八进制序列[0 1 2 3 4 5 6 7]

clear

A = 1;

M = 8;

mseq = 0 : M - 1;

% 构建映射对象 - 8psk绝对相位映射

% [0, π/4, π/2, 3π/4, π, 5π/4, 3π/2, 7π/4]与[0 1 2 3 4 5 6 7]相对应

mod_obo = modem.pskmod(M);

% 构建映射对象 - 8psk相对相位偏移π/M相位映射

% [0, π/4, π/2, 3π/4, π, 5π/4, 3π/2, 7π/4].+ pi / M 与[0 1 2 3 4 5 6 7]相对应

mod_obr = modem.pskmod(M, pi / M);

% 根据映射类型映射 - 将信号用载波相位来表示

mod_8psko_symbols = A * modulate(mod_obo,mseq)

mod_8bpskr_symbols = A * modulate(mod_obr,mseq)

plot( real(mod_8psko_symbols), imag(mod_8psko_symbols), 'b*',...

real(mod_8bpskr_symbols), imag(mod_8bpskr_symbols), 'r*');

legend('8psk绝对相位映射','8psk相对相位偏移π/8映射');

ylabel('imag'),xlabel('real'),

axis([-1 1 -1 1]);

运行mpsk。

mod_8psko_symbols =

[1.0000 + 0.0000i, 0.7071 + 0.7071i, 0.0000 + 1.0000i, -0.7071 + 0.7071i, -1.0000 + 0.0000i, -0.7071 - 0.7071i, -0.0000 - 1.0000i, 0.7071 - 0.7071i]

mod_8bpskr_symbols =

[0.9239 + 0.3827i, 0.3827 + 0.9239i, -0.3827 + 0.9239i, -0.9239 + 0.3827i, -0.9239 - 0.3827i, -0.3827 - 0.9239i, 0.3827 - 0.9239i, 0.9239 - 0.3827i]

可以验证这些复数所代表的角度与以上原理描述相符合。

下图是运行mpsk绘制的8PSK绝对相位映射和相对相位偏移π/8的星座图。

Figure 5. 8psk绝对相位和相对相位偏移π/4星座图

横坐标代表复数的实部,纵坐标代表复数的虚部 – 一个复平面。每个点在复平面上的角度(对应载波应有的初始相位)即用来表示相应的信息([0, 1, 2, 3, 4, 5, 6, 7])。

04.02

1.2 QAM

(1) 原理描述

QAM(Quadrature Amplitude Modulation,正交振幅调制/映射)同时利用载波的振幅和相位来表示信息元素。它先对信息元素进行编码,然后再将编码映射为一个复数,再用两个正交的载波的振幅分别表示该复数的实部和虚部。如信息[0, 1, 2, 3, …, 12, 13, 14, 15]用QAM映射的过程如下:

[1] 信息元素编码

Figure 6. 信息元素与星座图元素之间的映射(格雷码)

在Figure 6中,每个信息元素独有一个编码[如信息元素9对应左上角的星号图形,该星号图形的编码为1101(1101为格雷码,表示信息元素9)]。

[2] 将信息元素的编码映射为复平面上的坐标

Figure 7. 信息元素的编码与复平面坐标映射

经该过程映射后,信息元素就间接被映射成了一个复数(如信息元素7由复数3 + i1表示)。

[3] 用两个正交的载波的振幅分别承载信息元素编码所映射复数的实部和虚部

信息[0, 1, 2, 3, …, 13, 14, 15]最终的映射如下:

Figure 8. 信息元素的映射由两个正交的载波表示

Figure 8中的一个点的坐标的实部和虚部分别由两个彼此正交的波形承载。如(3, i1)(其编码为0100,代表信息元素7)可由下图所示的正弦载波承载:

Figure 9. 信息元素编码的坐标由两个正交的载波的振幅承载

首先要求两个载波要正交。初始相位为0的载波的振幅承载信息3,初始相位为-π/2的载波的振幅承载信息1。当收到这两个波形时,就能根据两个载波的振幅值得到坐标值(3, 1i),根据坐标与编码之间的映射以及编码与信息元素之间的映射就可还原信息元素7。

(2) matlab描述

以16QAM为例。

qam.m

% qam.m

% 2 ^b QAM映射

clear

b = 4;

M = 2^b;

mseq = 0 : M - 1;

% 构建信息映射类型 - MQAM映射

mod_ob = modem.qammod(M);

% 依据构建的映射对象将映射关系呈现在星座图中

mod_mqam_symbols = modulate(mod_ob,mseq)

plot(real(mod_mqam_symbols), imag(mod_mqam_symbols), 'b*');

ylabel('imag'),xlabel('real');

运行qam,得[0, 1, 2, …, 13, 14, 15]所对应的16QAM星座图。

Figure 10. 16AQM映射信息[0, 1, 2,…, 13, 14, 15]图示

根据16QAM的映射机制,可还原星座图上每一个坐标点所对应的信息元素。如-3 + 3i这一点的编码值为1101,它是信息元素9的格雷码。

04.03

1.3 总结

在matlab中(matlab实现的是PSK和QAM的数学描述)。

PSK是将信息元素ei映射成一个复数,该复数的角度代表用来传输ei的载波的初始相位ps,ps就代表信息元素ei。

QAM是先将信息元素ei编码为c,再将编码c映射为一个复数a + bi,再将两个正交的载波的振幅分别调为a和b后传输。在收到两个载波后,根据其振幅a和b可得到编码c,再根据编码c就可以得到ei元素。

2 子载波

3 OFDM信号

[2016.04.03 - 22:25]

ofdm信号调制matlab,OFDM信号 [matlab描述]相关推荐

  1. matlab画2fsk频谱,2fsk信号调制解调频谱的matlab仿真

    2fsk信号调制解调频谱的matlab仿真 2FSK信号的调制解调与频谱绘制的matlab仿真 a=randint(1,16); t=0.0001:0.001:1; inisig=a(ceil(t./ ...

  2. 【信号识别】基于matlab深度学习CNN信号调制分类【含Matlab源码 2066期】

    ⛄一.深度学习CNN信号调制分类概述 1 背景介绍 在通信信号处理领域, 特别是在非协作通信信号盲解调研究领域, 每时隙突发信号的调制方式不同, 必须进行信号的调制方式自动识别.信号的调制方式识别效果 ...

  3. 带有匹配滤波器的雷达信号调制和脉冲压缩Matlab仿真

    up目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 匹配滤波器: 匹配滤波器是输出端的信号瞬时功率与噪声平均功率的比值最大的线性滤波器也就是说有最大的信噪比.其滤波器的传递函数形式是信号 ...

  4. 基于MATLAB的信号调制研究与实现

    一.绪论 1.1 工具 PC MATLAB2016b 1.2 目的 掌握模拟系统的调制和解调原理. 学会MATLAB仿真软件在信号调制和解调中的应用. 掌握参数设置方法和性能分析. 通过实验中波形的变 ...

  5. 关于信号调制的基本概念(基带调制vs射频调制)(转载)

    https://www.bilibili.com/read/cv663762/ https://zhuanlan.zhihu.com/p/37535928 以下搬运自本人之前在52RD上的一篇博客,貌 ...

  6. 傅里叶变换应用——信号调制与解调

    傅里叶变换的典型应用主要用于通信的信号调制与解调,信号调制的目的是将信号进行变换,使其便于传输.频率调制是将低频信号调制到高频载波信号上.同步信号解调是接受系统产生同步的高频载波信号进行解调,从调制信 ...

  7. 【计算机网络】物理层 : 编码与调制 ( 基带信号 | 宽带信号 | 编码 | 调制 )

    文章目录 一. 信道 二. 基带信号 三. 宽带信号 四. 基带信号 与 宽带信号 使用场景 五. 编码 与 调制 一. 信道 "信道" 概念 : 信号的传输媒介 ; " ...

  8. 信号调制--基带调制和射频调制

    我们常说的信号调制(Modulation),其实在不同的语境(Context)下有着不同的意思.不过不只是初入行的员工,一些老鸟有时也常常会搞混淆. 传统上的调制,简单说就是把携带信息的信号,&quo ...

  9. 基于PAM调制的OFDM系统架构之讯号特点分析(matlab)

    基于PAM调制的OFDM系统架构之讯号特点分析(matlab) 不同于基于QAM调制的OFDM系统,通过脉冲振幅调制(PAM)并经过埃尔米特对称处理的讯号本身的特性.讯号调制方面,采用PAM调制的讯号 ...

最新文章

  1. 《App架构师实践指南》:移动开发的进阶指南
  2. 深度学习作弊,用单个参数 fit 任何数据集,这篇 19 年的论文重新「火」了
  3. CNN在Keras中的实践|机器学习你会遇到的“坑”
  4. jenkins自动化部署vue
  5. 在vue-cli生成的项目中使用karma+chrome进行单元测试
  6. 史上最全 Python Re 模块讲解(二)
  7. 控制面板项 .cpl 文件说明
  8. 西瓜书《机器学习》线性模型 一元线性回归公式推导
  9. [基于子串搜索的方法] BNDM算法
  10. memcached教程_Memcached教程
  11. python可视化地图
  12. DSP与FPGA的SRIO通信实现
  13. 前后端鉴权之session-cookie
  14. java dojo,针对 Java 开发人员的 Dojo 概念
  15. 好文:练习一万小时成天才?(by同人于野)
  16. NSG2 安装、运行备忘
  17. Groovy – Java的脚本语言
  18. 邻接矩阵的理解与应用
  19. Linux SSH命令大全
  20. 随机漫步范例-----python

热门文章

  1. js Buffer常用方法
  2. npm install 安装use String.prototype.padStart()卡住(已解决)
  3. 2003年中国综合实力百强城市
  4. 改变自己,学好linux,什么时候都不晚
  5. 手机APP软件性能测试工具及流程介绍
  6. jquery实现图片随机切换、抽奖功能
  7. css 内联、外联和外部样式
  8. C语言 File 简单使用
  9. 机器学习金典算法(一)--最小二乘法
  10. Xmind抖音运营分析框架体系