MIMO系统检测仿真
- 格式:doc
- 大小:119.50 KB
- 文档页数:9
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现一、引言MIMO-OFDM系统是一种融合了多输入多输出(MIMO)和正交频分复用(OFDM)技术的无线通信系统,能够显著提高数据传输速率和系统可靠性。
在MIMO-OFDM系统中,调制方式的选择对系统性能具有重要的影响。
QPSK和16QAM是两种常用的调制方式,它们在MIMO-OFDM系统中的应用对系统的性能和效率有着明显的影响。
本文将针对QPSK和16QAM调制下的MIMO-OFDM系统进行Matlab仿真实现,以研究两种调制方式对系统性能的影响。
二、MIMO-OFDM系统基本原理MIMO-OFDM系统由MIMO技术和OFDM技术组成。
MIMO技术利用多个天线发射和接收信号,通过空间分集和空间复用的方式提高系统的性能和可靠性。
而OFDM技术将带宽分成多个子载波,并采用正交调制方式传输数据,能够有效克服多径干扰和频率选择性衰落,提高系统的抗干扰能力和频谱利用率。
MIMO-OFDM系统将MIMO技术和OFDM技术结合,充分发挥两者的优势,实现了高速率和高可靠性的无线通信。
1. Matlab仿真环境搭建需要在Matlab环境中搭建MIMO-OFDM系统的仿真环境。
在Matlab中,可以使用Communications Toolbox和Wireless Communications Toolbox工具箱来搭建MIMO-OFDM系统的仿真环境。
通过这些工具箱,可以方便地构建MIMO通道模型、OFDM调制器和解调器等系统组件,并进行参数设置和仿真运行。
2. QPSK调制方式在QPSK调制方式下,将复数信号映射到星座图上,每个符号点代表两个比特。
QPSK调制方式可以实现较高的传输速率和频谱利用率,适用于高速率和大容量的无线通信场景。
在MIMO-OFDM系统中,QPSK调制方式通常用于传输速率要求较高的场景,例如视频传输和高速数据传输等。
2. MIMO-OFDM系统仿真实现与QPSK调制方式类似,利用Matlab中的Wireless Communications Toolbox,可以进行16QAM调制下MIMO-OFDM系统的仿真实现。
MIMO系统的Matlab仿真报告一、原理及理论基础1.BPSK:把模拟信号转换成数据值的转换方式之一。
是利用偏离相位的复数波浪组合来表现信息键控移相方式的一种。
BPSK使用了基准的正弦波和相位反转的波浪,使一方为0,另一方为1,从而可以同时传送接受2值(1比特)的信息。
2.QPSK: 四相相移调制,和BPSK调制差不多,只不过它有4种相位.将360度分成4分。
各个相位角相差90度所以又称正交相移调制。
常用的初始相位角可以是0或者45度。
一般QPSK可以看成正交的两路传播,一路I支路,一路为Q 支路。
QPSK调制效率高,传输的频带利用率高,要求传送途径的信噪比较低。
3. Rayleigh信道:是一种无线电信号传播环境的统计模型。
这种模型假设信号通过无线信道之后,其信号幅度是随机的,即“衰落”,并且其包络服从瑞利分布。
这一信道模型能够描述由电离层和对流层反射的短波信道,以及建筑物密集的城市环境。
瑞利衰落只适用于从发射机到接收机不存在直射信号的情况,否则应使用莱斯衰落信道作为信道模型。
4. MIMO:是一种用来描述多天线无线通信系统的抽象数学模型,能利用发射端的多个天线各自独立发送信号,同时在接收端用多个天线接收并恢复原信息。
该技术最早是由马可尼于1908年提出的,他利用多天线来抑制信道衰落(fading)。
根据收发两端天线数量,相对于普通的单输入单输出系统(Single-Input Single-Output,SISO),MIMO此类多天线技术尚包含早期所谓的“智能型天线”,亦即单输入多输出系统(Single-Input Multi-Output,SIMO)和多输入单输出系统(Multiple-Input Single-Output,MISO)。
由于MIMO可以在不需要增加带宽或总发送功率耗损(transmit power expenditure)的情况下大幅地增加系统的数据吞吐量(throughput)及传送距离,使得此技术于近几年受到许多瞩目。
基于MIMO技术的无线通信系统设计与仿真无线通信一直是人们生活中必不可少的关键技术,不仅在人们的日常生活中,也在众多工业生产领域得到广泛应用。
随着科技的不断发展,无线通信技术也在不断进步。
MIMO技术就是其中的代表之一,因其在无线通信中的独特优势成为当今无线通信中广泛应用的技术之一。
本文将从基于MIMO技术的无线通信系统的系统设计和仿真两个方面来探讨MIMO的优势和应用。
一、MIMO技术的优势MIMO技术即多输入多输出技术,是指通过加入多个天线实现空间流通信的无线通信技术。
MIMO技术的优势主要体现在以下几方面:1. 传输速率:MIMO可提供多达几十倍甚至是上百倍的传输速率,因为MIMO 可通过同时使用多个天线来同时传输多个信号,从而提高数据传输的速率。
2. 链路可靠性:传统的无线通信系统中,信号的收发常常会受到多种因素的影响,从而导致数据的传输丢失和信号的干扰等问题。
MIMO技术通过利用多个天线和信道,在多次传输中选择最佳路径,从而大大提高了无线通信的链路可靠性。
3. 空时码:MIMO能够从多个传输路径中选择最佳路径,在不同时间和频率上传送数据,从而形成多个数据流。
这些数据流使用不同的编码和调制方式,提高了数据的可靠性,从而实现了数据的传输。
二、MIMO系统的设计MIMO系统的设计流程主要包括以下三个步骤:信道建模、信号处理、解调识别。
1. 信道建模MIMO系统的信道建模是指通过对无线信道的建模,分析传输信号所涉及的空间和时间因素,确定传输系统的参数。
在进行信道建模时,需要注意选择合适的信号源和信号接收机,确定传输信道的特性和参数。
设计者需进行数据分析和统计,确定目标系统的平均值、方差和极值,以保证选用的信道模型和系统参数都是可靠的。
2. 信号处理信号处理是指将MIMO系统所涉及的多个输入信号和多个输出信号经过处理,得到最终的输出信号。
现代MIMO系统主要采用线性信号处理技术,包括空间多路复用、正交分组、奇异值分解等处理方法。
基于MATLAB的MIMO-OFDM通信系统的仿真0 引言5G技术的逐步普及,使得我们对海量数据的存储交换,以及数据传输速率、质量提出了更高的要求。
信号的准确传播显得越发重要,随之而来的是对信道模型稳定性、抗噪声性能以及低误码率的要求。
本次研究通过构建结合空间分集和空间复用技术的MIMO信道,引入OFDM 技术搭建MIMO-OFDM 系统,在添加保护间隔的基础上探究其在降低误码率以及稳定性等方面的优异性能。
1 概述正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术通过将信道分成数个互相正交的子信道,再将高速传输的数据信号转换成并行的低速子数据流进行传输。
该技术充分利用信道的宽度从而大幅度提升频谱效率达到节省频谱资源的目的。
作为多载波调制技术之一的OFDM 技术目前已经在4G 中得到了广泛的应用,5G 技术作为新一代的无线通信技术,对其提出了更高的信道分布和抗干扰要求。
多输入多输出(Multi Input Multi Output,MIMO)技术通过在发射端口的发射机和接收端口的接收机处设计不同数量的天线在不增加频谱资源的基础上通过并行传输提升信道容量和传输空间。
常见的单天线发射和接收信号传输系统容量小、效率低且若出现任意码间干扰,整条链路都会被舍弃。
为了改善和提高系统性能,有学者提出了天线分集以及大规模集成天线的想法。
IEEE 806 16 系列是以MIMO-OFDM 为核心,其目前在欧洲的数字音频广播,北美洲的高速无线局域网系统等快速通信中得到了广泛应用。
多媒体和数据是现代通信的主要业务,所以快速化、智能化、准确化是市场向我们提出的高要求。
随着第五代移动通信5G 技术的快速发展,MIM-OFDM 技术已经开始得到更广泛的应用。
本次研究的MIMO-OFDM 系统模型是5G的关键技术,所以对其深入分析和学习,对于当下无线接入技术的发展有着重要的意义。
稀疏阵列mimo天线matlab仿真稀疏阵列MIMO(Multiple-Input Multiple-Output)系统是一种利用多个天线进行传输和接收的技术,可以有效提高通信系统的传输速率和可靠性。
在稀疏阵列MIMO系统中,天线之间的间距较大,形成了一个“稀疏”分布的阵列。
本文将介绍稀疏阵列MIMO系统的原理,并通过MATLAB仿真来验证其性能。
稀疏阵列MIMO系统的基本原理是利用空间信道的多径传输来增加传输路径和信道容量。
通过多个天线进行信号传输和接收,可以实现空间分集和空间复用的效果,从而提高系统的传输速率。
与传统的天线阵列相比,稀疏阵列的天线间距较大,可以减少阵列间的干扰,提高系统的可靠性和性能。
稀疏阵列MIMO系统在无线通信、雷达、无人机通信等领域具有广泛的应用前景。
为了验证稀疏阵列MIMO系统的性能,可以利用MATLAB进行仿真。
首先,需要建立稀疏阵列MIMO系统的模型。
模型包括天线阵列的布局、信道模型的建立、发送和接收信号处理等。
通过设置好参数和信道条件,可以进行系统的仿真实验。
在MATLAB中,可以利用MIMO通信工具箱进行稀疏阵列MIMO系统的建模和仿真。
首先,需要定义阵列的几何布局和天线的数量。
根据阵列的布局和天线的坐标,可以计算出天线之间的距离、角度等信息。
然后,需要定义信道模型和路径损耗模型,包括多径传输、衰落模型等。
根据信道模型,可以计算出信道增益和相位差等信息。
在稀疏阵列MIMO系统中,常用的传输技术是空时编码(STC)和垂直波束成形(VBF)。
可以分别计算出两种传输技术的系统容量和误码率,以评估系统的性能。
在进行仿真实验之前,还需考虑天线之间的互相干扰问题。
由于天线之间的间距较大,可以采用空间滤波和天线选择技术来减小干扰。
通过优化天线权重和信号处理算法,可以实现稀疏阵列MIMO系统的性能优化。
通过MATLAB的仿真实验,可以得到稀疏阵列MIMO系统在不同信道条件下的性能曲线。
代分类学密题(中、英文)作者姓提交论文日学科门西安电子科技大学硕士学位论文MIMO天线单元设计与仿真分析作者:刘璇导师:张民教授学科:无线电物理二零一三年一月西安电子科技大学中国西安Design and analyze the antenna elements forMIMOA DissertationSubmitted to Xidian UniversityIn Candidacy for the Degree ofMaster of ScienceInRadio PhysicsByLiu XuanXi’an, ChinaJanuary 2013西安电子科技大学学位论文独创性声明秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。
申请学位论文与资料若有不实之处,本人承担一切法律责任。
本人签名:日期:西安电子科技大学关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。
学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。
同时本人保证,毕业后结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。
(保密的论文在解密后遵守此规定)本学位论文属于保密,在年解密后适用本授权书。
本人签名:导师签名:日期:日期:摘要摘要多输入多输出(MIMO)技术是新一代通信系统的关键技术,而优秀的分集天线则是MIMO系统设计的重要组成部分。
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现QPSK和16QAM调制是一种常见的调制方式,而MIMO-OFDM系统是一种利用多输入多输出技术和正交频分复用技术的无线通信系统。
本文将介绍如何使用Matlab对MIMO-OFDM系统进行仿真实现,并分别使用QPSK和16QAM调制方式进行实验。
我们将讨论MIMO-OFDM系统的基本原理和结构,然后介绍Matlab的仿真实现方法,最后进行仿真实验并分析实验结果。
1. MIMO-OFDM系统的基本原理和结构MIMO-OFDM系统是一种结合了多输入多输出(MIMO)技术和正交频分复用(OFDM)技术的无线通信系统。
MIMO技术利用多个天线进行信号传输和接收,可以显著提高系统的传输速率和抗干扰性能。
而OFDM技术将高速数据流分割成多个低速子流,并利用正交频分复用技术进行传输,可以有效克服多径传输引起的频率选择性衰落和提高频谱利用率。
MIMO-OFDM系统的结构包括多个发射天线和多个接收天线,发射端和接收端分别进行信号处理和数据传输。
在发射端,将输入数据流进行调制、符号映射,并进行空间信号处理和频谱分配;在接收端,对接收的信号进行解调、解映射、信道均衡和解调制处理。
整个系统利用MIMO技术和OFDM技术的优势,可以实现高速和高质量的无线通信传输。
2. Matlab的仿真实现方法在Matlab中,可以利用通信工具箱和信号处理工具箱进行MIMO-OFDM系统的仿真实现。
需要定义系统的参数,包括天线数、子载波数、信道模型、调制方式等;然后生成输入数据流,并进行调制和符号映射;接着进行信道编码和传输;最后进行解码和译码,并进行结果分析。
对于QPSK调制方式,可以使用comm.QPSKModulator和comm.QPSKDemodulator进行调制和解调,并使用comm.ErrorRate进行误码率计算;对于16QAM调制方式,可以使用comm.RectangularQAMModulator和comm.RectangularQAMDemodulator进行调制和解调,并进行相应的误码率计算。
基于MIMO的通信系统仿真与分析研究毕业设计论文标题:基于MIMO的通信系统仿真与分析研究摘要:随着通信技术的不断发展,多天线系统(MIMO)已经成为无线通信领域的关键技术之一、本文通过对MIMO通信系统进行仿真与分析研究,探讨了MIMO技术在提高通信容量和增强系统性能方面的潜力。
首先介绍了MIMO技术的原理和特点,然后建立了MIMO通信系统的仿真模型,通过对不同天线配置和信道模型的仿真结果进行分析,验证了MIMO系统的优势。
最后,本文对MIMO技术在实际应用中可能面临的问题和挑战进行了讨论,提出了一些改进和优化策略,为MIMO技术的进一步研究和应用提供了参考。
关键词:MIMO技术,通信容量,系统性能,仿真分析,问题与挑战1.引言无线通信领域的快速发展和普及,对通信系统的容量和性能提出了更高要求。
传统的单天线系统受到频谱资源有限和多径衰落等因素的限制,通信容量有限,信号质量易受到干扰和衰落的影响。
而多天线系统(MIMO)通过增加天线数量和利用空间多样性,可以有效提高通信容量,增强系统性能,成为无线通信领域的重要技术之一2.MIMO技术的原理和特点MIMO技术基于空间多样性和信号处理算法,通过在发射端和接收端分别配置多个天线,在有限的频谱资源下同时传输多个并行无干扰的数据流,并通过接收端的信号处理算法进行解码和合并,从而提高通信容量和信号质量。
MIMO技术具有抗干扰性强、提高频谱效率、增强系统覆盖范围等特点。
3.MIMO通信系统的仿真模型为了研究MIMO技术在不同场景下的性能,本文建立了MIMO通信系统的仿真模型。
该模型包括信号生成、信道模型、噪声模型、信号传输和信号接收等模块,通过设置不同的参数和信道模型进行仿真实验,并采用误码率和信噪比等指标进行性能评估。
4.MIMO系统性能的仿真结果分析通过对不同信号传输方式、天线配置和信道条件的仿真实验,本文分析了MIMO系统的通信容量和系统性能。
仿真结果表明,在相同信道条件下,MIMO系统可以显著提高通信容量和信号质量,特别是在复杂多径衰落环境和高信噪比条件下,MIMO技术的性能更为优越。
一、引言随着无线通信业务的发展,人们对数据率的要求越来越高,而传统通信方式通过使用某些信道编码方法已接近香农极限,要想再提高频谱利用率已经很困难。
在这种情况下,多输入多输出(MIMO ,Multiple Input Multiple Output )技术由于能同时带来分集增益和空间复用增益,成为未来移动通信系统的有力竞争方案。
MIMO 通信系统的检测器是MIMO 技术实用过程中关键的一个模块,选择一种检测性能好而且便于硬件实现的检测方法是人们追求的目标。
传统的MIMO 检查算法主要有:最大似然(ML ,Maximum Likelihood )检测算法、迫零(ZF ,Zero Forcing )检测算法、最小均方误差(MMSE ,Minimum Mean-Square Error )检测算法、V-BLAST (ZF-OSIC )检测算法和基于QR 分解的检测算法等。
此外,通过把在给定格中寻求最短向量的球形解码思想应用于MIMO 系统,形成了MIMO 系统的球形解码算法,在保持优良检测性能的同时,大大减小了计算复杂度。
本次课程设计主要针对最大似然算法,迫零算法和最小均方误差算法进行仿真和性能仿真比较。
二、MIMO 系统MIMO 通信系统可以定义为收发两端分别采用多个天线或阵列天线的无线通信系统。
MIMO 的多输入多输出是针对多径无线传输信道而言的。
考虑n T 根发射天线n R 根接收天线的MIMO 系统,如下图所示,数据流被分成n T 个子数据流,每个子流通过星座点映射后送给发射天线。
分别从个发射天线发射出去,再经多径传输信道后由n R 个接收天线接收,同时用接收到的信号进行信道估计得到信道参数值,然后通过一定的检测算法处理分解出子信息流。
因为n T 个发射天线同时发射子信息流,各发射信号只占用同一频带,并未增加带宽,达到提高频谱利用率的目的,同时多个并行空间也实现了更高的数据传输速率。
在接收端的一根天线会收到每根发送天线送出的信号,将所有接收天线收到的符号作为一个矢量12(,,)R T n x x x x =…,表示,那么x Hs n =+,12(,,)T Tn s s s =…,s 是发射信号矢量,H是R T n n ⨯维的矩阵,其元素,j i h 是发射天线(1,2,,)T i i n =…到接收天线(1,2,,)R j j n =…的信道增益,12(,,)R T n n n n n =…,是各分量独立且都服从),0(2σN 分布的复白高斯噪声。
三、检测算法(一)ZF 算法迫零检测是MIMO 系统中常用的检测器,其核心思想是在接收端通过线性变换消除不同天线发射信号间的干扰。
将MIMO 系统的信号检测模型改写成如下形式:1122T T n n x h s h s h s n =+++L其中(1,2,)i T h i n =L 是H 的第i 列。
为了在接收端恢复(1,2,)i T s i n =L 而排除其他分量的干扰,可以使用矢量i w 与x 作内积,其中i w 满足如下条件:01i j i j w h i j ≠⎧=⎨ =⎩将(1,2,,)i T w i n =L 作为行向量组成一个矩阵ZF W ,显然它应该满足ZFW H I ⋅=,所以1()H H ZF W H H H -=(假设H 列满秩),此时发射信号估计值s$为 1()()H H ZF s H H H Hs n s W n - =+ =+ $协方差矩阵为{}21()()H H ZF C E ss s s H H σ-=--= ()$$ 从上面这些式子可以看出,经过迫零检测器之后得到的对发射信号的估计值,完全消除了不同天线发送的数据之间的干扰,在高信噪比条件下有较好的性能。
特别地,当噪声项为0时,严格地有s s =$。
但在低信噪比或者信道矩阵H 接近奇异时,检测性能严重恶化。
(二)MMSE 算法最小均方误差检测则是基于最大化输出信干噪比(SINR ,Signal-Interference-and-Noise Ratio )的考虑,在抑制噪声和消除干扰之间找到一个最佳的平衡点。
MMSE 检测的目标是找到估计值sWx =$,使其与真实值s 的差异尽可能小。
MMSE 的目标函数如下所示2arg min ||||MMSE WW E s Wx =- 经过求解得212()H H MMSE W H H I H p σ-=+,其中2()H E ss p I =,此时估计量的协方差矩阵为 {}2212()()H H MMSE C E s s s s H H I p σσ-=--= (+)$$(三)ML 检测算法最大似然(ML )检测计算接收信号向量和所有可能的后处理向量之间的欧氏距离,并找到一个最小距离,即所有可能的发出的信号矢量中进行搜索:当所有发射向量等可能性时,ML 算法达到最大后验概率检测的最佳性能,但它的复杂度随调制阶数和发射天线的数量增加而上升,计算度量复杂度随天线数呈指数上升。
但因为它具有最佳的性能,尽管计算复杂度比较高,仍将其作为其他检测方法的参考。
改进的ML 算法检测可以将ML 度量复杂度降低,但N TX 大于3时复杂度仍然很高。
四、实验结果与分析通过MATLAB 仿真,对ML, ZF, MMSE 三种算法进行误比特率(BER )性能分析。
假设信道是具有丰富散射环境的平坦瑞利信道,发射天线间距和接收天线间距足够大,接收端确知信道状态且能够保持精确同步,各个天线之间的信道参数为零均值单位方差独立分布的复高斯随机变量。
采用BPSK 调制,天线配置2x2,信噪比范围为0~25dB ,发送符号数目为10^6。
对于ML 算法,分别考虑 [s1 s2 ] = [+1,-1][+1,+1],[-1,+1],[-1,-1]四种情况,从四组数值中找出最小值并记录所在位置,然后统计错误个数。
对ZF 算法,首先计算伪逆矩阵 G = inv(H^H*H)*H^H ,然后将H^H*H 的矩阵维数记为[nTx x nTx],即[2 x 2],并根据[a b; c d] 的逆1/(ad-bc)[d -b;-c a]求逆,然后根据接收端硬判决解码计算其统计错误。
对于MMSE算法我们也是类似地计算W = inv(H^H*H+sigma^2*I)*H^H,其中H^H*H i的维数为[2 x 2],并按照[a b; c d]=1/(ad-bc)[d -b;-c a]求逆,然后根据接收端硬判决解码计算其统计错误。
应用ML, ZF, MMSE三种算法进行信号检测的BER性能曲线仿真图如下:在同等的情况下,ML检测的性能优于其他两种,MMSE检测的性能次之,ZF检测的性能最差。
ZF检测算法会可能带来对高斯噪声的放大,从而影响了检测的准确性,而MMSE检测算法是在ML的基础上试图消除检测算法对噪声的方法,很好的抑制噪声,得到了比ZF检测算法更好的性能。
这两种算法均属于线性调制,采用的硬判决的方式。
相比于ML检测来说,ML检测是理论上的最优,在实际的应用中随着天线数目的增加和更多进制调制方式的采用会使得ML检测的计算量成指数增加,设计更复杂。
?考虑计算的复杂度问题,性能最优的ML检测算法复杂度是指数形式,算法复杂度随着发射天线数和调制阶数指数增长,算法复杂度为O(S M),线性检测算法ZF和MMSE虽然性能较差,但计算复杂度主要集中在矩阵求逆,复杂度为O(M3)。
五、总结MIMO系统接收端收到的信号在时间和频率上式重叠的,可能会发生码间干扰,检测难度远远高出传统的单输入单输出的系统,如何在接收端将发射信号分离并正确检测发射信号是MIMO系统的关键问题。
这次课程设计比较了几种基本的MIMO检测算法,进行了误比特率性能分析和复杂度分析,认识了主要算法的优缺点。
六、部分代码发送端N = 10^6; % 发送的符号数目Eb_N0_dB = 0:25; % 信噪比范围nTx = 2;nRx = 2;for ii = 1:length(Eb_N0_dB)% 发送端ip = rand(1,N)>; % 等概率产生0和1s = 2*ip-1; % BPSK 调制 0 -> -1; 1 -> 0sMod = kron(s,ones(nRx,1)); %sMod = reshape(sMod,[nRx,nTx,N/nTx]); % 将矩阵转换为[nRx,nTx,N/nTx ]形式h = 1/sqrt(2)*[randn(nRx,nTx,N/nTx) + 1i*randn(nRx,nTx,N/nTx)]; % 瑞利衰落信道n = 1/sqrt(2)*[randn(nRx,N/nTx) + 1i*randn(nRx,N/nTx)]; % 0均值高斯白噪声y = squeeze(sum(h.*sMod,2)) + 10^(-Eb_N0_dB(ii)/20)*n;EndML% 当sHat1 = [1 1] [1 -1] [-1 -1 ] [-1 1],从四组数值中找出最小值及所在位置sHat1 = [1 1];sHat1 = repmat(sHat1,[1 ,N/2]);sHat1Mod = kron(sHat1,ones(nRx,1));sHat1Mod = reshape(sHat1Mod,[nRx,nTx,N/nTx]); %发送矩阵 zHat1 = squeeze(sum(h.*sHat1Mod,2)) ; %接收矩阵J11 = sum(abs(y - zHat1),1);%将两行加为一行sHat2 = [1 -1];sHat2 = repmat(sHat2,[1 ,N/2]);sHat2Mod = kron(sHat2,ones(nRx,1));sHat2Mod = reshape(sHat2Mod,[nRx,nTx,N/nTx]);zHat2 = squeeze(sum(h.*sHat2Mod,2)) ;J10 = sum(abs(y - zHat2),1);sHat3 = [-1 1];sHat3 = repmat(sHat3,[1 ,N/2]);sHat3Mod = kron(sHat3,ones(nRx,1));sHat3Mod = reshape(sHat3Mod,[nRx,nTx,N/nTx]);zHat3 = squeeze(sum(h.*sHat3Mod,2)) ;J01 = sum(abs(y - zHat3),1);sHat4 = [-1 -1];sHat4 = repmat(sHat4,[1 ,N/2]);sHat4Mod = kron(sHat4,ones(nRx,1));sHat4Mod = reshape(sHat4Mod,[nRx,nTx,N/nTx]);zHat4 = squeeze(sum(h.*sHat4Mod,2)) ;J00 = sum(abs(y - zHat4),1);rVec = [J11;J10;J01;J00];[jj dd] = min(rVec,[],1);ref = [1 1; 1 0; 0 1; 0 0 ];ipHat = zeros(1,N);ipHat(1:2:end) = ref(dd,1);ipHat(2:2:end) = ref(dd,2);f = find([ip - ipHat]);%发生错误所在位置nErrML(ii) = size(find([ip - ipHat]),2);%错误个数ZF算法% 接收端求伪逆矩阵 G = inv(H^H*H)*H^H ,H^H*H 的矩阵维数为nTx xnTx, 求[a b; c d] 逆 1/(ad-bc)[d -b;-c a]hCof = zeros(2,2,N/nTx);hCof(1,1,:) = sum(h(:,2,:).*conj(h(:,2,:)),1); % dhCof(2,2,:) = sum(h(:,1,:).*conj(h(:,1,:)),1); % ahCof(2,1,:) = -sum(h(:,2,:).*conj(h(:,1,:)),1); % chCof(1,2,:) = -sum(h(:,1,:).*conj(h(:,2,:)),1); % bhDen = ((hCof(1,1,:).*hCof(2,2,:)) - (hCof(1,2,:).*hCof(2,1,:))); % ad-bchDen = reshape(kron(reshape(hDen,1,N/nTx),ones(2,2)),2,2,N/nTx); %hInv = hCof./hDen; % inv(H^H*H)hMod = reshape(conj(h),nRx,N); % H^HyMod = kron(y,ones(1,2)); % 接收信号矩阵化yMod = sum(hMod.*yMod,1); % H^H * yyMod = kron(reshape(yMod,2,N/nTx),ones(1,2)); %yHat = sum(reshape(hInv,2,N).*yMod,1); % inv(H^H*H)*H^H*y% 接收端硬判决解码计算统计错误ipHat = real(yHat)>0;nErrZF(ii) = size(find([ip- ipHat]),2);MMSE算法%W = inv(H^H*H+sigma^2*I)*H^H,H^H*H i维数为[nTx x nTx],求逆1/(ad-bc)[d -b;-c a] hCof = zeros(2,2,N/nTx) ;hCof(1,1,:) = sum(h(:,2,:).*conj(h(:,2,:)),1) + 10^(-Eb_N0_dB(ii)/10); % d hCof(2,2,:) = sum(h(:,1,:).*conj(h(:,1,:)),1) + 10^(-Eb_N0_dB(ii)/10); % a hCof(2,1,:) = -sum(h(:,2,:).*conj(h(:,1,:)),1); % chCof(1,2,:) = -sum(h(:,1,:).*conj(h(:,2,:)),1); % bhDen = ((hCof(1,1,:).*hCof(2,2,:)) - (hCof(1,2,:).*hCof(2,1,:))); % ad-bc hDen = reshape(kron(reshape(hDen,1,N/nTx),ones(2,2)),2,2,N/nTx);hInv = hCof./hDen; % inv(H^H*H)hMod = reshape(conj(h),nRx,N); % H^HyMod = kron(y,ones(1,2));yMod = sum(hMod.*yMod,1); % H^H * yyMod = kron(reshape(yMod,2,N/nTx),ones(1,2));yHat = sum(reshape(hInv,2,N).*yMod,1); % inv(H^H*H)*H^H*y %硬判决及错误ipHat = real(yHat)>0;nErrMMSE(ii) = size(find([ip- ipHat]),2);。