基于格密码的无线通信MIMO系统

目录

一. 系统模型

二. MIMO从复数到实数

三. MIMO星座图与格密码

四. 格密码与极大似然译码

五. 格基约化算法

六. 基于格密码的串行干扰消除算法


无线通信领域的MIMO可以等效成格密码中的解码问题,本文章将解释两者的关系。

一. 系统模型

MIMO multi-input multi-ioutput 多天线输入多输出

假定某MIMO系统的发射端有n_T根天线,接收端有n_R根天线,如果该无线通信模型是平坦衰落的(flat fading),那么接收端Y可计算为:

(1)发射信号X

X代表发射信号,一共发射了T个时隙,所以:

X\in C^{n_T\times T}

发射信号X需要满足功率限制,比如可以将平均功率限定为1,那么可得:

E[||X||^2/T]=1

(2)接受信号Y

Y代表接收信号,接收时隙也为T,所以:

Y\in C^{n_R\times T}

(3)噪声N

噪声N的维度与Y永远是一样的,所以:

N\in C^{n_R\times T}

噪声矩阵中的每个元素都服从复高分布,均值为0,方差为\sigma^2。发射功率为1,所以可得信噪比SNR为:

SNR=\frac{1}{\sigma^2}

(4)信道矩阵H

信道增益矩阵H的行代表接收天线,列代表发射天线,所以:

H\in C^{n_R\times n_T}

单独看信道矩阵的行和列,行满秩,列也满秩。在理想模型下,该矩阵中的元素均是独立同分布的,并且统计信息提前已知,为复高斯分布CN(0,1).要保证接收天线能译码出每个发射信号,则要求接收天线数大于发射天线数,也就是n_R\geq n_T,从解方程的角度来看也就是方程个数不能少于变量的个数。

二. MIMO从复数到实数

通常MIMO会采用空时分组码(space-time block code),发射信号X是如何从调制信号转变而来的呢?

假定调制方式为QAM,维度为n_TT,可以将其看成一个向量。接着有一个生成矩阵G,是方阵,阶数为n_TT,由此发射向量s可以计算为:

s=Gx

也就是将X进行向量化便可以得到s。

将MIMO模型中的每个矩阵都进行向量化,也就是矩阵的第二列叠加在第一列的下面,以此类推。对接收信号Y进行向量化:

y=Vec(Y)

对噪声N进行向量化:

n=Vec(N)

由此MIMO系统模型可以变成:

如果发射时隙为1,也就是T=1且生成矩阵为单位阵,也就是:

G=I_{n_TT}

那么MIMO通信模型就是常见的:

y=Hx+n

因为该模型中的每个元素都是复数,所以可以分成实部和虚部,由此可得:

如果将复数模型等效成实数模型的话,其实就相当于发射天线为2n_T,接收天线为2n_R。如果考虑时隙T的话,那么该模型为:

2n_TT\times 2n_RT

三. MIMO星座图与格密码

综上实数域的MIMO系统就出现了,维度为n\times m。同样的,也要求m\geq n。该模型如下:

y=Bx+n

其中B为m行n列的矩阵,也就是B\in R^{m\times n},根据以上讨论我们知道:

B=a(I_T\bigotimes H)G

其中a为功率归一化因子。该信道矩阵的维度满足:

n=2n_TT\quad m=2n_RT

x为发射数据向量,为n维,可以假定从有限子集A^n中取得。

如果把以上过程反映在MIMO的星座图中,比如我们选择M-QAM调制方式,那么A的取值则是:

A=\lbrace -\sqrt M/2,\cdots,\sqrt M/2-1\rbrace

将发射信号x看成整数格点的子集,那么Hx就相当于对整数格点进行放缩(scaled),Hx+e将相当于对格点进行平移,所以最终的结果就是我们常说的QAM星座图:

C=a(A^n+[1/2,\cdots,1/2]^n)

该格为m维。在欧几里得空间R^m内,对线性独立的向量进行整数倍组合则可以形成格的概念,如下:

其中Z代表整数,B代表格L的格基,也就是:

B=[b_1,\cdots,b_n]

如果把格点写成矩阵的形式,则如下:

L=\lbrace Bx:x\in Z^n\rbrace

需要注意的是,格基是存在无数个的。把格基B做幺模矩阵变换则可以得到一个新的格基B',如下:

B'=BU

其中U为整数幺模矩阵,其行列式为正负1,detU=\pm 1

四. 格密码与极大似然译码

根据以上讨论可以把Bx看成一个格点,那么就可以利用格理论来进行MIMO系统的解码。例如,极大似然译码(ML)的本质是:

注意x的取值范围是在集合A内的,所以该问题相等于在格L的子集上解决最近向量问题(closest vector problem,CVP)。已有的知识告诉我们极大似然译码可以根据球形译码理论来解决,但是在固定信噪比SNR的情况下,球形译码的复杂度是指数的。

如何降低此复杂度?

可以暂时将以上有限的格点放宽到无限格上,那么就更好解决,如下:

现在就可以使用格基约化等辅助手段来解决,这个过程又被称之为无限格译码算法(infinite lattice decoding, ILD).需要注意的是,解出来的格点需要核对是否在星座图上。

五. 格基约化算法

格基约化算法主要是把一个格基B转化为正交性更加良好的向量,如下B':

其中U为幺模矩阵,于是可以得到如下等效信道模型:

接下来就可以直接使用迫零算法和串行干扰消除算法,来解码出x。接着运算:

\hat x=U\hat x'

其中B'可以看成等效信道。当发现\hat x\notin A^n时,则需要重新把\hat x映射到有限格A^n中。

六. 基于格密码的串行干扰消除算法

Babai最先提出格基约化算法,在这里我们把格密码理论和网络安全理论做一个联系:

格密码的舍入(round off)算法等效于无线通信中的迫零算法;

格密码的最近平面算法(nearest plane algorithm)等效于无线通信中的串行干扰消除(SIC);

串行干扰消除的第一步是对信道矩阵进行QR分解:

B=QR

其中Q为正交阵,代表列向量互相正交;

R为上对角阵,且对角线处的元素均为正数。

原MIMO模型如下:

y=Bx+n

两边同时乘以矩阵Q的伪逆Q^+,可得:

串行干扰消除算法是先从最后一个元素开始计算的,也就是:

\hat x_n =\lceil y_n'/r_{n,n}\rfloor

对于x_{n-1}来讲,x_n对应的项则为干扰项。所以可以将其带入y_{n-1}'中,从而估计出x_{n-1}

以此类推直至解出n个变量,该迭代过程可总结为:

注意是逆向求解,所以i=n,n-1,\cdots,1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/333673.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python实现目录和文件管理

目录 一:模块介绍: 二:目录创建 三:目录删除 四:目录复制 五:目录移动 六:文件创建 七:文件删除 八:文件读取 一:模块介绍: Python的os和…

【2024系统架构设计】 系统架构设计师第二版-嵌入式系统架构设计理论与实践

目录 一 嵌入式系统软件架构的原理 二 嵌入式系统软件架构的设计方法 三 案例分析 一 嵌入式系统软件架构的原理 🚀嵌入式系统的典型架构可以分为

React之useRef hook

介绍 useRef是react的自定义hook,它用来引用一个不需要渲染的值。这篇文章会介绍useRef的简单用法。 使用场景 1.实现节流 通过useRef实现节流功能,在限制时间内多次提交,已第一次提交为准。 useThrottle.jsx import {useEffect, useRef,…

PyQT5实现图像处理应用(含Windows7下完整打包方案)

目录 1、任务概述2、环境安装2.1 创建虚拟环境2.2 安装依赖库 3、程序开发3.1 框架搭建3.2 读取图像3.3 图像处理 4、打包部署5、小结 1、任务概述 本篇博文将通过PyQT5来实现一个简单的图像处理应用,并完成打包部署。 本文开发平台:Windows10 64位系统…

livp转换成jpg怎么转换?看完这篇文章你就知道了

livp转换成jpg怎么转换?livp文件是一种特定的图片格式,将其转换为jpg格式可以方便我们进行存储、共享和编辑。此外,jpg格式也是一种广泛支持的图片格式,几乎所有的设备和软件都能够识别和打开这种格式的图片。因此,将l…

【动态代理详解】

文章目录 1. 关于代理1.1 代理的概述1.1.1 什么是动态代理1.1.2 动态代理能做什么 1.2 什么是代理1.2.1 生活中的代理1.2.2 为什么要找中介? 1.3 开发中的代理模式(代理)1.3.1 使用代理模式的作用 1.4 实现代理的方式 2. 静态代理2.1 什么是静…

tryhackme--Command Injection(命令注入)

查看应用程序在哪个用户下运行。 任务1 简介(什么是命令注入?) 命令注入是滥用应用程序的行为,使用与设备上运行的应用程序相同的权限在操作系统上执行命令。例如,在以名为joe的用户身份运行的 Web 服务器上实现命令…

Chinese-llama-2部署踩坑记录

Chinese-llama-2部署踩坑记录 1. Chinese-LLaMA-Alpaca-2A. 部署a. inference_with_transformers_zhb. text generation webui_zhc. api_calls_zhd. llamacpp_zhe. privategpt_zhf. langchain_zh Tool Github 1. Chinese-LLaMA-Alpaca-2 A. 部署 a. inference_with_transform…

Ubuntu 18.04.5 LTS 解决安装包复杂依赖相关问题解决的主要法则和VIM的安装实录

前言:目标和环境 环境: Ubuntu 18.04.5 LTSVMware 目标: 安装vim,解决包依赖的冲突: 本文,通过一个很好的实例,诠释了,LINUX系统下,安装一个应用遇到的依赖库问题如何…

C++学习笔记(二十八):c++ 静态库及动态库的使用

静态库的使用 库的使用会很大程度减少我们的工作,本节对c中静态库和动态库的使用进行简单的介绍。静态链接库意味着这个库会被放到可执行文件中,在生成的exe中。动态链接库是在程序运行时链接的,可以在程序运行时调用加载库函数的方法来实现&…

最新揭秘!2024年六西格玛考试攻略—通关秘籍在此!

嗨咯,六西格玛领域的小伙伴们大家好,我知道你们的战场——考试备战,是多么艰苦而重要,在众多教程和攻略中寻求那一盏照亮迷雾的明灯。经过无数个品质改进、数量分析和流程优化的夜晚,我决定把我的整理分享给你们&#…

使用JGit拉取代码提示未授权not authorized

原因:2021年8月13日后不支持密码登录,需要使用token验证 调用时候需要先去git仓库创建个人令牌 需要在安全中心创建个人token,使用token名称作为账号,使用token作为密码。 另: Github克隆仓库的三种方式对比&#xff…