热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

CRAHNs网络概述和基于3DMIMO多径信道

目录一、理论基础二、核心程序三、测试结果一、理论基础CRAHNs是一种具有频谱感知功能的分布式多跳移动自组网络,无固定中心节点,每个节点都具备路由转发功能,组网方便快捷,在通信频点

目录

一、理论基础

二、核心程序

三、测试结果


一、理论基础

CRAHNs是一种具有频谱感知功能的分布式多跳移动自组网络,无固定中心节点,每个节点都具备路由转发功能,组网方便快捷,在通信频点受到干扰时,可通过频谱侦听检测技术,快速切换到其他信道质量好的频点上,使得传输的可靠性增强,抗毁能力强,组网方便。3D-MIMO的官方名称叫作Massive-MIMO,其实就是一种高增益的阵列天线。相比传统的8T8R天线,不仅实现了水平面的赋型,同时也利用更多的振子和通道实现了垂直面的赋型。天线赋型技术是通过不同通道电调阵子相位实现对于某一方向窄波束的汇聚从而实现辐射能量的增益,对于8T8R而言,在垂直方向上所有振子归属一个通道,因此无法实现垂直维度的赋型,而3D-MIMO天线通过垂直维度的通道隔离实现不同通道内所含振子的独立电调从而完成了垂直维度的赋型。对于LTE广播信道而言,3D-MIMO不进行类似PDSCH的赋型,而是通过32个双极化通道(64通道)中每个极化通道的权值进行波束优化调整。3D MIMO信道模型是以COST259标准以及WINNER模型为基础建模的。3D MIMO信道是基于三维空间的MIMO信道,其充分考虑了信道垂直方向的EOA到达角和EOD离开角。3D MIMO信道的几何空间示意图如下图所示:

 

 3D-MIMO信道频域响应函数可表示为:

 

 

相对于3D-MIMO信道,传统的2D-MIMO天线端口数较少导致波束较宽,并且只能在水平维度调整波束方向,无法将垂直维度的能量集中于终端。而3D-MIMO一般采用大规模的二维天线阵列,不仅天线端口数较多,而且可以在水平和垂直维度灵活调整波束方向,形成更窄、更精确的指向性波束,从而极大的提升终端接收信号能量并增强小区覆盖。

与传统MIMO不同的是,3D-MIMO中所采用的天线阵列规模发生了巨大变化,天线数目大幅增加,随着基站天线数目趋向很多时,各UE的信道将趋向于正交,用户间的干扰趋于消失,由此带来的巨大的天线阵列增益将有效提升每个用户的信噪比,因此可在相同的时频资源上支持更多用户的传输,提升小区的平均频谱效率、降低邻小区干扰、提升系统容量。


二、核心程序

clc;
clear all;

S=2;%发送天线个数
U=2;%接受天线个数
k_tx=0.1;
k_rx=0.1;
d=0:0.1:2;
p0=10;
Carrier_frequency_Hz=2e6;%载波
D=3e8/Carrier_frequency_Hz;%波长
D_tx=10*D;
P=0.01;%功率
P_tx=P/S;%每根天线发射功率
%D_rx=0.5*D;
rfa=0.25*pi;%极化角度
theta_tx=0.25*pi;%发射天线高度角
fai_tx=0*pi;%发射天线水平角
theta_rx=0.25*pi;
fai_rx=0*pi;%水平角
fai_u=0*pi;
theta_u=0.25*pi;
XPR_mean=9;
XPR_var=4;
E=exp(XPR_var^2.*((log(10)/log(2)).^2)/200-XPR_mean.*log(10)/(10*log(2)));
%G=normrnd(0,1,S,U);%独立高斯分布
G=[0.5377 -2.2588;1.8339 0.8622];
p1=zeros(2,21);
R=zeros(1,21);
C=zeros(2,21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2D MIMO
for D_rx=0:0.1*D:2*D
D_rx
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求发射端相关矩阵R_tx
R_tx=zeros(S);
for k1=1:S
for l=1:U
F11=@(y)(cos(rfa)+sin(rfa).*cos(y)).^2.*(exp(i*(2*pi/D)*(k1-l)*D_tx*(sin(theta_tx).*cos(fai_tx).*cos(y)+sin(theta_tx).*sin(fai_tx).*sin(y)))).*(exp(k_tx*(sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_tx))));
F21=@(y)(cos(rfa).*cos(y)).^2.*(exp(i*(2*pi/D)*(k1-l)*D_tx*(sin(theta_tx).*cos(fai_tx).*cos(y)+sin(theta_tx).*sin(fai_tx).*sin(y)))).*(exp(k_tx*(sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_tx))));
F12=@(y1)(cos(rfa)+sin(rfa).*cos(y1)).^2.*(exp(k_rx*(sin(theta_u).*cos(y1-fai_u)+cos(fai_u)*cos(y1))/(4*pi*sinh(k_rx))));
F22=@(y1)(cos(rfa).*cos(y1)).^2.*(exp(k_rx*(sin(theta_u).*cos(y1-fai_u)+cos(fai_u).*cos(y1))/(4*pi*sinh(k_rx))));
F1=quad(F11,0,2*pi).*quad(F12,0,2*pi);
F2=E*quad(F21,0,2*pi).*quad(F12,0,2*pi);
F3=E*quad(F11,0,2*pi).*quad(F22,0,2*pi);
F4=quad(F21,0,2*pi).*quad(F22,0,2*pi);
R_tx(k1,l)=S*P_tx*(F1+F2+F3+F4);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求接收端相关矩阵R_rx
R_rx=zeros(U);
for k1=1:U
for l=1:S
F11=@(y)(cos(rfa)+sin(rfa).*cos(y)).^2.*(exp(i*(2*pi/D).*(k1-l)*D_rx*(sin(theta_rx).*cos(fai_rx).*cos(y)+sin(theta_rx).*sin(fai_tx).*sin(y)))).*(exp(k_rx*(sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_rx))));
F21=@(y)(cos(rfa).*cos(y)).^2.*(exp(i*(2*pi/D)*(k1-l)*D_rx*(sin(theta_rx).*cos(fai_rx).*cos(y)+sin(theta_rx).*sin(fai_rx).*sin(y)))).*(exp(k_rx*(sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_rx))));
F12=@(y1)(cos(rfa)+sin(rfa).*cos(y1)).^2.*(exp(k_tx*(sin(theta_u).*cos(y1-fai_u)+cos(fai_u).*cos(y1))/(4*pi*sinh(k_tx))));
F22=@(y1)(cos(rfa).*cos(y1)).^2.*(exp(k_tx*(sin(theta_u).*cos(y1-fai_u)+cos(fai_u)*cos(y1))/(4*pi*sinh(k_tx))));
F1=quad(F11,0,2*pi).*quad(F12,0,2*pi);
F2=E*quad(F21,0,2*pi).*quad(F12,0,2*pi);
F3=E*quad(F11,0,2*pi).*quad(F22,0,2*pi);
F4=quad(F21,0,2*pi).*quad(F22,0,2*pi);
R_rx(k1,l)=U*P_tx*(F1+F2+F3+F4);
end
end
R=kron(R_rx,R_rx);
R=R./R(1,1);
for ii=1:U*S
for jj=1:U*S
R(ii,jj)=real(R(ii,jj)).^2+imag(R(ii,jj)).^2;
end
end
a=mean(R);
R_tx=R_tx./R_tx(1,1);
R_tx=R_tx./R_tx(1,1);
for ii=1:2
R_tx(:,ii)=R_tx(:,ii)/sqrt(real(R_tx(1,ii)).^2+imag(R_tx(1,ii)).^2+real(R_tx(2,ii)).^2+imag(R_tx(2,ii)).^2);
R_rx(:,ii)=R_rx(:,ii)/sqrt(real(R_rx(1,ii)).^2+imag(R_rx(1,ii)).^2+real(R_rx(2,ii)).^2+imag(R_rx(2,ii)).^2);
end
H=R_rx.^(0.5)*G*R_tx.^(0.5);
%H=reshape(R.^0.5*reshape(G,4,1),2,2);
I=eye(U,S);
p=p0/(1+E);
k2=int32(D_rx/(0.1*D))+1;
p1(1,k2)=max(a);
C(1,k2)=log(det(I+(p/S)*H*H.'))/log(2);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3D MIMO
for D_rx=0:0.1*D:2*D
D_rx
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求发射端相关矩阵R_tx
R_tx=zeros(S);
for k1=1:S
for l=1:U
F11=@(x,y)(cos(rfa).*sin(x)+sin(rfa).*sin(x).*cos(y)).^2.*(exp(i*(2*pi/D)*(k1-l)*D_tx*(sin(theta_tx).*cos(fai_tx).*sin(x).*cos(y)+sin(theta_tx).*sin(fai_tx).*sin(x).*sin(y)+cos(theta_tx).*cos(x)))).*(exp(k_tx*(sin(x)*sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_tx)))).*sin(x);
F21=@(x,y)(cos(rfa).*cos(y)).^2.*(exp(i*(2*pi/D)*(k1-l)*D_tx*(sin(theta_tx).*cos(fai_tx).*sin(x).*cos(y)+sin(theta_tx).*sin(fai_tx).*sin(x).*sin(y)+cos(theta_tx).*cos(x)))).*(exp(k_tx*(sin(x)*sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_tx)))).*sin(x);
F12=@(x1,y1)(cos(rfa).*sin(x1)+sin(rfa).*sin(x1).*cos(y1)).^2.*(exp(k_rx*(sin(x1)*sin(theta_u).*cos(y1-fai_u)+cos(fai_u)*cos(y1))/(4*pi*sinh(k_rx)))).*sin(x1);
F22=@(x1,y1)(cos(rfa).*cos(y1)).^2.*(exp(k_rx*(sin(x1)*sin(theta_u).*cos(y1-fai_u)+cos(fai_u).*cos(y1))/(4*pi*sinh(k_rx)))).*sin(x1);
F1=dblquad(F11,0,pi,0,2*pi).*dblquad(F12,0,pi,0,2*pi);
F2=E*dblquad(F21,0,pi,0,2*pi).*dblquad(F12,0,pi,0,2*pi);
F3=E*dblquad(F11,0,pi,0,2*pi).*dblquad(F22,0,pi,0,2*pi);
F4=dblquad(F21,0,pi,0,2*pi).*dblquad(F22,0,pi,0,2*pi);
R_tx(k1,l)=S*P_tx*(F1+F2+F3+F4);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求接收端相关矩阵R_rx
R_rx=zeros(U);
for k1=1:U
for l=1:S
F11=@(x,y)(cos(rfa).*sin(x)+sin(rfa).*sin(x).*cos(y)).^2.*(exp(i*(2*pi/D).*(k1-l)*D_rx*(sin(theta_rx).*cos(fai_rx).*sin(x).*cos(y)+sin(theta_rx).*sin(fai_tx).*sin(x).*sin(y)+cos(theta_rx).*cos(x)))).*(exp(k_rx*(sin(x)*sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_rx)))).*sin(x);
F21=@(x,y)(cos(rfa).*cos(y)).^2.*(exp(i*(2*pi/D)*(k1-l)*D_rx*(sin(theta_rx).*cos(fai_rx).*sin(x).*cos(y)+sin(theta_rx).*sin(fai_rx).*sin(x).*sin(y)+cos(theta_rx).*cos(x)))).*(exp(k_rx*(sin(x)*sin(theta_u).*cos(y-fai_u)+cos(fai_u).*cos(y))/(4*pi*sinh(k_rx)))).*sin(x);
F12=@(x1,y1)(cos(rfa).*sin(x1)+sin(rfa).*sin(x1).*cos(y1)).^2.*(exp(k_tx*(sin(x1)*sin(theta_u).*cos(y1-fai_u)+cos(fai_u).*cos(y1))/(4*pi*sinh(k_tx)))).*sin(x1);
F22=@(x1,y1)(cos(rfa).*cos(y1)).^2.*(exp(k_tx*(sin(x1)*sin(theta_u).*cos(y1-fai_u)+cos(fai_u)*cos(y1))/(4*pi*sinh(k_tx)))).*sin(x1);
F1=dblquad(F11,0,pi,0,2*pi).*dblquad(F12,0,pi,0,2*pi);
F2=E*dblquad(F21,0,pi,0,2*pi).*dblquad(F12,0,pi,0,2*pi);
F3=E*dblquad(F11,0,pi,0,2*pi).*dblquad(F22,0,pi,0,2*pi);
F4=dblquad(F21,0,pi,0,2*pi).*dblquad(F22,0,pi,0,2*pi);
R_rx(k1,l)=U*P_tx*(F1+F2+F3+F4);
end
end
R=kron(R_rx,R_rx);
R=R./R(1,1);
for ii=1:U*S
for jj=1:U*S
R(ii,jj)=real(R(ii,jj)).^2+imag(R(ii,jj)).^2;
end
end
a=mean(R);
for ii=1:2
R_tx(:,ii)=R_tx(:,ii)/sqrt(R_tx(1,ii).^2+R_tx(2,ii).^2);
R_rx(:,ii)=R_rx(:,ii)/sqrt(R_rx(1,ii).^2+R_rx(2,ii).^2);
end
H=R_rx.^(0.5)*G*R_tx.^(0.5);
I=eye(U,S);
p=10.^(0.1*p0/(1+E));
k2=int32(10*D_rx/D)+1;
p1(2,k2)=max(a);
C(2,k2)=log(det(I+(p/S)*H*H.'))/log(2);
end
C=real(C);
% figure(1);
% plot(d,C(1,:),'--',d,C(2,:),'-');
% xlabel('d_R(\lambda)');
% ylabel('Capicity (bps/Hz)');
% legend('2-D','3-D',1);
% grid on;
figure(2);
plot(d,p1(1,:),'--',d,p1(2,:),'-');
xlabel('d_R(\lambda)');
ylabel('Correlation');
grid on;
legend('2D','3D',1);
h1=figure(1);
h2=figure(2);
set(h1,'Units','centimeters','Position',[10 10 8 8]);
set(h2,'Units','centimeters','Position',[10 10 8 8]);
save r23d.mat d C p1

 

function [output]=func_3DMIMO2(totalframe,channel_impulse,delay_number,tap_delay)
Tsample=3.255*1e-8;
Ns=length(totalframe);
out=zeros(delay_number,Ns);
framein=zeros(delay_number,Ns);

for i=1:delay_number
k=tap_delay(i);
if k>=1
framein(i,:)=[zeros(1,k),totalframe(1,1:Ns-k)];
else
framein(i,:)=totalframe;
end
out(i,:)=channel_impulse(i,:).*framein(i,:);
end
for i=1:Ns
output(1,i)=sum(out(:,i));
end


三、测试结果

 

 A01-149 



推荐阅读
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 深入理解一致性哈希算法及其应用
    本文详细介绍了分布式系统中的一致性哈希算法,探讨其原理、优势及应用场景,帮助读者全面掌握这一关键技术。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本文探讨了大数据生态系统的构建,重点介绍其分布式存储和运算机制,并补充相关技术及应用场景。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • Netflix利用Druid实现高效实时数据分析
    本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ... [详细]
  • ZooKeeper集群脑裂问题及其解决方案
    本文深入探讨了ZooKeeper集群中可能出现的脑裂问题,分析其成因,并提供了多种有效的解决方案,确保集群在高可用性环境下的稳定运行。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • NTP服务器配置详解:原理与工作模式
    本文深入探讨了网络时间协议(NTP)的工作原理及其多种工作模式,旨在帮助读者全面理解NTP的配置参数和应用场景。NTP是基于RFC 1305的时间同步标准,广泛应用于分布式系统中,确保设备间时钟的一致性。 ... [详细]
author-avatar
王艳kiki
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有