探秘MIMO技术:无线通信革命的多天线奇迹

单根发射天线和单根接收天线之间的信道容量受限于香农公式,要想在相同的频谱带宽下进一步提高信道容量,要采用多天线技术。

1. 什么是MIMO

MIMO:Multiple-Input Multiple-Output,即多入多出系统。这里的入和出是相对于发射天线和接收天线构成的天线系统来讲的。常见的通信系统都是一根发射天线和一根接收天线,如下图所示。

单入单出系统

单个输入、单个输出,这就是单入单出系统SISO:Single-Input Single-Output。

采用了接收分集技术的系统,一根发射天线,多根接收天线,如下图所示。 

单入多出系统

单个输入、多个输出,这就是单入多出系统SIMO:Single-Input Multiple-Output。

如果发射天线和接收天线都采用多根,如下图所示。 

多入多出系统

多个输入、多个输出,这就构成了多入多出系统MIMO。

2. SISO系统信息传输速率受限于香农容量

香农公式给出了在高斯白噪声干扰的、带宽受限的信道上实现无差错传输的信息速率的最大值,也就是信道容量。要想进一步提高传输速率,需要在发射机和接收机之间使用多对天线。

 

3. 为什么MIMO能提高传输速率

考虑一种极端的情况。如下图所示,将2对收发天线拆掉,直接用2根射频电缆将发射机和接收机连起来。

用2根射频电缆代替2对天线

两根射频电缆可以互不干扰地并行传送两路数据,发射机和接收机之间的信道容量整整提高了一倍。很明显,如果用N根射频电缆并行传送N路数据,信道容量可以提高到单根射频电缆的N倍。

如果不用射频电缆,而是用N对天线发送和接收,信道容量能够提高到一对天线的N倍吗?直观来看,是有可能的,前提是每对收发天线和其他天线对的距离要足够远。

如下图所示,只要TX1与TX2距离足够远,而且RX1与RX2距离足够远,TX1向RX1发送信号、TX2向RX2发送信号,二者就会互不相干,容量就可以提高一倍。 

距离很远的2对天线

 

4. MIMO信道建模

前面讲的场景比较极端,两对天线距离要足够远,各自收发数据互不相干,因此容量可以提高一倍。实际上,受限于发射机和接收机的尺寸,两对天线之间的距离不可能很远,特别是终端尺寸一般都很小,天线间的距离自然也很小,这种情况下还可能利用MIMO来提升容量吗?要解答这个问题,需要为MIMO信道建模进行深入分析。

4.1 双入双出

以比较简单的双入双出系统为例,如下图所示。

双入双出系统信道模型

 

这其中

天线的输入信号和输出信号应该都是射频信号,为什么这里却注明是基带数据呢?这与信道模型中隐含了IQ调制和解调有关,如下图所示。 

双入双出系统信道模型(完整)

在2对收发天线之间存在4条传输通道,信道增益如下表所示。

         

四条传输通道的信道增益

假定输入两个发射天线的基带数据分别为s1和s2,从两个接收天线输出的基带数据分别为y1和y2,则通过信道模型图很容易得到输出基带数据与输入基带数据和信道增益的关系:

为了简洁起见,一般用矩阵来表示信道增益、输入和输出基带数据。输入和输出基带数据构成输入矩阵S和输出矩阵Y,信道增益构成信道矩阵H:

 

由输出基带数据与输入基带数据和信道增益的关系,很容易得到输出矩阵与输入矩阵和信道矩阵的关系:Y=HS。 

4.2 多入多出

在前面对双入双出系统的分析基础上,再来看一下Nt入Nr出的MIMO系统信道模型,如下图所示。

 

MIMO系统信道模型

通过信道模型图很容易得到输出基带数据与输入基带数据和信道增益的关系:

 

为了简洁起见,一般用矩阵来表示信道增益、输入和输出基带数据。输入和输出基带数据构成输入矩阵S和输出矩阵Y,信道增益构成信道矩阵H:

 

 注:信道矩阵的行数=接收天线的个数Nr,列数=发送天线的个数Nt。由输出基带数据与输入基带数据和信道增益的关系,很容易得到输出矩阵与输入矩阵和信道矩阵的关系:Y=HS。

4.3 MIMO信道矩阵

MIMO信道矩阵:

信道矩阵是由信道增益组成的:

第1行:由第1、2、3、…、Nt根发射天线到第1根接收天线之间的信道增益组成。

第2行:由第1、2、3、…、Nt根发射天线到第2根接收天线之间的信道增益组成。

……

第Nr行:由第1、2、3、…、Nt根发射天线到第Nr根接收天线之间的信道增益组成。 

 信道矩阵在MIMO系统扮演了重要角色,下来对信道矩阵在各种场景下的特征进行分析。

a 天线间距非常大

天线间距足够大时,相当于使用射频电缆将N对发射天线和接收天线用直连起来,让接收天线n只能接收来自于发射天线n的信号,屏蔽了来自其他发射天线的信号,如下图所示。

天线间距非常大场景下的信道模型

信道增益中除了h11、h22、h33、…、hNN外,其他的hmn都等于零,即:

 很明显输出基带数据和输入基带数据及信道增益的关系如下:

在已知输出基带数据和信道增益的情况下,很容易得到输入基带数据:

下面利用矩阵来进行分析。这种场景下的信道矩阵H是一个对角阵:

 输出矩阵Y与输入矩阵S及信道矩阵H的关系是:Y=HS,即:

已知输出矩阵Y和信道矩阵H的情况下,可以得到输入矩阵:S=H-1Y

 

b 接收天线间距非常小

因为:接收天线的间距非常小,如下图所示。 

接收天线间距非常小场景下的信道模型

所以,同一发射天线到所有接收天线之间的信道增益都是相同的。

 

输出基带数据和输入基带数据及信道增益的关系如下:

通过上面的方程组,我们除了得到y1=y2=…=yNr=S1h1+S2h2+…+SNthNt外,无法从中解出输入基带数据s1、s2等。

 这种场景下信道矩阵有什么特征呢?

很明显同一列的元素都相同。

c 发射天线间距非常小

因为:发射天线的间距非常小,如下图所示。 

发射天线间距非常小场景下的信道模型

所以,所有发射天线到同一接收天线之间的信道增益都是相同的。

 输出基带数据和输入基带数据及信道增益的关系如下:

 这种场景下信道矩阵有什么特征呢?

很明显同一行的元素都相同。 

4.4 MIMO系统可以并行传输几路数据

前面讲的这三种场景比较极端,可以很容易判断出来可以并行传输几路数据。

收发天线间距非常大:可以并行传送N路数据。

接收天线间距非常小:只能传送1路数据。

发射天线间距非常小:只能传送1路数据。

对于一般场景,如何判断可以并行传送几路数据呢?

a 双入双出系统

先看一下最简单的双入双出系统,即MIMO 2×2,如下图所示。

MIMO 2×2

输出和输入的关系:

这个方程组中输出基带数据(y1、y2)和信道增益(h11、h12、h21、h22)是已知的,输入基带数据(s1、s2)是未知的。

如果:

则:y1=s1h11+s2h12=as1h21+as2h22=ay2

原来的方程组化为:

这个方程组是解不出s1和s2的,因此这种情况下系统只能传送1路数据。

 例如:

对应的方程组:

 是可以解出s1和s2的,因此这种情况下系统是可以并行传送2路数据的。

b 四入四出系统

再看一下四入四出系统,即MIMO 4×4,如下图所示。

 

MIMO 4×4

输出和输入的关系:

这个方程组中输出基带数据(y1、y2、y3、y4)和信道增益(h11、h12、h13、h14等)是已知的,输入基带数据(s1、s2、s3、s4)是未知的。

直接解这个方程组有点复杂,下面举例子来看。

h11=0.9;h12=0.8;h13=0.5;h14=0.5

h21=0.6;h22=0.7;h23=0.8;h24=0.2

h31=0.3;h32=0.5;h33=0.1;h34=0.9

h41=0.8;h42=0.3;h33=0.2;h44=0.6 

对应的方程组:

四个方程,四个未知数,s1、s2、s3、s4是可以解出来的,因此这种情况下系统是可以并行传送4路数据的。

再来看一个例子。

h11=0.9;h12=0.8;h13=0.5;h14=0.5

h21=0.6;h22=0.7;h23=0.8;h24=0.2

h31=0.3;h32=0.35;h33=0.4;h34=0.1

h41=0.8;h42=0.3;h43=0.2;h44=0.6 

对应的方程组:

其中方程(8-2)的系数正好是方程(8-3)的2倍,也就是y2=2y3,这两个方程是等价的,换句话说上面的方程组实质上只包含3个方程,未知数却有4个,是不可能解出s1、s2、s3、s4的。

如果减少一个未知数,例如:令s4=s3,得

 去掉其中第3个方程,得

 

三个方程,三个未知数,s1、s2、s3是可以解出来的,因此这种情况下系统是可以并行传送3路数据的。

再看一个更复杂的例子。

h11=0.60;h12=0.70;h13=0.80;h14=0.20

h21=0.30;h22=0.50;h23=0.10;h24=0.90

h31=0.00;h32=0.15;h33=-0.3;h34=0.80

h41=0.48;h42=0.50;h43=0.76;h44=-0.16 

对应的方程组:

其中:
2y2=0.6s1+1.0s2+0.2s3+1.8s4

2y2-y1=0.0s1+0.3s2-0.6s3+1.6s4=2y3 

也就是方程(8-7)可以由前两个方程(8-5)和(8-6)推导出来。

 2y1=1.2s1+1.4s2+1.6s3+0.4s4

2y1-y3=1.2s1+1.25s2+1.9s3-0.4s4=2.5y4

也就是方程(8-8)可以由方程(8-5)和(8-7)推导出来,而第3个方程(8-7)又可以由前两个方程(8-5)和(8-6)推导出来,所以这个方程组中有效的方程实质上只有前面2个。

只要减少2个未知数,例如:令s3=s1,s4=s2,可得:

 根据前面的分析,利用前面的2个方程就可以解出1s和2s。

因此这种情况下系统只可以并行传送2路数据。

4.5 信道矩阵的秩

通过上面的分析,可以得知:先根据MIMO系统输出基带数据与输入基带数据(未知数)和信道增益的关系列出方程组:

再找出方程组中有效的方程个数,就可以知道MIMO系统可以并行传送几路数据了。

对于有Nt个未知数、Nr个方程的方程组,有效方程个数最大不会超过min{Nt,Nr}。

找出方程组中有效方程的个数,这个计算过程很麻烦,有没有什么更好的办法呢?

找出方程组中有效方程个数的过程,实质上就是分析组成方程组的各方程之间的关系,如果某方程可以由其他方程经过线性运算得到,这个方程就是无效方程,找出所有的无效方程,剩下的就是有效方程。

 而方程之间的关系与方程中未知数前面的系数密切相关,只要搞清楚各方程系数之间的关系,就可以找出有效方程。

方程中未知数是输入基带数据,未知数前面的系数是什么?信道增益!

前面讲过:如果将MIMO系统输出基带数据、输入基带数据、信道增益分别用矩阵Y、S、H来表示,则MIMO系统输出与输入和信道增益的关系可以表示为:Y=HS。

其中:

要研究方程组中各方程的关系,只要研究信道矩阵H就可以了。

如果信道矩阵H的某一行可以用其他行的线性运算得到,那这一行对应的那个方程就是无效的。因此我们可以对信道矩阵H进行线性变换,将可以用其他行的线性运算得到的那些行变换为零,剩下的非零行数就是有效方程的个数,也就是MIMO系统可以并行传送的数据路数。

事实上,上述计算过程就是求矩阵H的秩的过程。因此,MIMO系统可以并行传送的数据路数可以通过求矩阵H的秩得到。

看一下前面这个例子:

对应的信道矩阵:

对此矩阵进行线性变换:

非零行数为2,该矩阵的秩为2,因此系统可以并行传送2路数据,这与前面得出的结论是相同的。

下来看一下信道矩阵的秩的含义。

信道矩阵H是一个Nr×Nt矩阵,行数为Nr,列数为Nt。

如果向量组中至少有一个行向量可以表示为其他行向量的线性组合,则称这个向量组是线性相关的;否则称这个向量组是线性无关的。从向量组中挑出m个向量组成一个线性无关的向量组,如果m的最大取值为r,则将这个由r个向量组成的线性无关向量组称为原向量组的一个最大线性无关向量组,同时将r称为原向量组的秩。

矩阵的秩就等于构成矩阵的行向量组的秩,也就是构成矩阵的行向量组的最大线性无关向量组所含的向量个数。 

从矩阵的秩的定义很容易得出:信道矩阵的秩不可能超过信道矩阵的行数Nr。

另外,信道矩阵的秩也不可能超过信道矩阵的列数Nt,这是因为:信道矩阵的列数Nt反映了方程组中未知数的个数,信道矩阵的行数Nr反映了方程组中方程的个数,当方程的个数超过未知数的个数时,其中一定有(Nr−Nt)个方程是可以表示为其他方程的线性组合,换句话说信道矩阵H中一定有(Nr−Nt)个行向量可以表示为其他行向量的线性组合,线性无关的行向量个数最多只有Nt个。

由此我们得到:

对于具有Nt根发射天线、Nr根接收天线的MIMO系统,信道矩阵的秩最大为:r=min{Nt,Nr},最多可以并行传送r路数据。

5. 空间复用和发送分集

MIMO系统中利用多根发射天线和多根接收天线来并行发送多路数据。并行发送的多路数据可以是不同的数据,也可以是相同的数据。

5.1 空间复用

SM:Spacial Multiplexing,空间复用

如果无线信道质量比较好,并且信道矩阵的秩大于1,并行发送多路不同的数据,可以提高数据传输的吞吐量,这就是空间复用,如下图所示。

空间复用

 

5.2 发送分集

TD: Transmit Diversity,发送分集

接收机只有1根接收天线,发射机并行发送多路相同的数据,可以提高数据传输的可靠性,这就是发送分集。2T1R发送分集如下图所示。

发送分集

 

 5.3 波束赋形

多天线系统除了可以通过空间复用技术提高系统容量、通过分集技术改善无线信道的传输质量以外,还可以利用波束赋形技术将天线方向图的主瓣对准目标,改善无线覆盖和无线信道传输质量,提高频谱利用率。

a 什么是波束赋形

BF: Beam Forming,波束赋形。

波束赋形顾名思义就是赋予波束一定的形状,让波束的主瓣方向对准目标。

发射机采用多天线进行波束赋形,如下图所示。

波束赋形(发射机)

 接收机采用多天线进行波束赋形,如下图所示。

 

波束赋形(接收机)

 

 

b 波束赋形原理

前面讲过波的干涉原理:P1点与波源A的距离为8个波长,与波源B的距离为6个波长,如下图所示。

波的相涨干涉

波源A和B发出同频同相的正弦波,这两列波到达P1点时,刚好是同频同相的,合成的正弦波幅度是来自2个波源的正弦波幅度之和,这就是波的相涨干涉。

实际上,波束赋形就是应用了波的相涨干涉原理。以发射机的多天线波束赋形为例,就是控制从各发射天线发出的同频信号相位,让这些同频信号到达接收天线时刚好同相。

下面看一个例子。P2到波源A的距离:d1=6.5λ,到波源B的距离:d2=2λ,如下图所示。 

如果波源A和B发出同频同相的正弦波,这两列波到达P2点时,刚好是同频反相的,合成的正弦波的幅度将是来自2个波源的正弦波幅度之差,这就是波的相消干涉。很明显,这种情况不是我们希望看到的,我们希望看到两列波在P2点相涨干涉。如何做才能让两列波在P2点相涨干涉呢?只要波源B延迟半个周期再将正弦波发送出去即可。

一般的移动通信系统中,发射机和接收机之间的距离远大于发射机天线间距,因此可以近似认为发射机的多根发射天线到接收天线之间的路径是平行的,与发射天线阵列法线的夹角为θ,如下图所示。 

发射机和接收机之间的距离远大于发射机天线间距

一般称夹角θ为电波传播方向角。

各发射天线到接收天线之间的路程不同,如果各发射天线发出的正弦波是同频同相的,这些正弦波到达接收天线时的相位将会各不相同,如下图所示。 

各发射天线发出同频同相的正弦波

 

假定:天线间距为d,正弦波频率为f,电磁波的传播速度为c,也就是光速。相邻发射天线发出的同频同相正弦波到达接收天线时的相位差: 

带入波长的公式

 得到相位差的表达式:

例如:天线间距d=3cm,电波传播方向角θ=30˚,信号频率f=2.5GHz。

只要适当调整各发射天线发出的正弦波的相位,就可以让这些正弦波到达接收机时相位完全相同,叠加后达到相涨干涉的效果,如下图所示。 

 

通过控制各发射天线发出的射频信号的延迟,如下图所示,使得各射频信号到达接收天线时相位相同,叠加后信号得以增强。这就是发射天线波束赋形的基本原理。 

控制各发射天线发出的射频载波信号相位

信号延迟:

其中:d为天线间距,c为电磁波的传播速度,θ为电波传播方向角。同理,如果是多根接收天线,只要适当调整各接收天线收到的正弦波的相位,就可以让这些正弦波的相位完全相同,叠加后达到相涨干涉的效果,如下图所示。

通过调整各接收天线收到的射频信号的延迟,如下图所示,使得各射频信号的相位相同,叠加后信号得以增强。这就是接收天线波束赋形的基本原理。 

调整各接收天线收到的射频载波信号相位

 c 如何实现波束赋形

通过前面的讲解可以知道:通过控制天线阵列各天线发射信号或接收信号的相位,就可以增强电波传播方向上的信号强度,实现波束赋形。利用这种方法实现波束赋形的天线阵列被称为相位控制阵列,简称相控阵列。

相控阵列只控制信号的相位,为了增强主瓣、降低旁瓣,达到更好的波束赋形效果,一般的天线阵列会同时控制信号的相位和幅度。

发射机的波束赋形实现原理如下图所示。

发射机波束赋形实现原理框图

接收机的波束赋形实现原理如下图所示。 

接收机波束赋形实现原理框图

 

 

 

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

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

相关文章

力控机器人原理及力控制实现

力控机器人原理及力控制实现 力控机器人是一种能够感知力量并具有实时控制能力的机器人系统。它们可以在与人类进行精准协作和合作时,将力传感技术(Force Sensing Technology)和控制算法(Control Algorithm)结合起来&a…

Vue3_2024_7天【回顾上篇watch常见的后两种场景】

随笔:这年头工作不好找咯,大家有学历提升的赶快了,还有外出人多注意身体,没错我在深圳这边阳了,真的绝啊,最尴尬的还给朋友传染了!!! 之前三种的监听情况,监听…

LabVIEW太赫兹波扫描成像系统

LabVIEW太赫兹波扫描成像系统 随着科技的不断发展,太赫兹波成像技术因其非电离性、高穿透性和高分辨率等特点,在生物医学、材料质量无损检测以及公共安全等领域得到了广泛的应用。然而,在实际操作中,封闭性较高的信号采集软件限制…

dm8数据迁移工具DTS

dm8数据迁移工具DTS DTS工具介绍 DM数据迁移工具提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。DM数据迁移工具采用向导方式引导用户通过简单的步骤完成需要的操作。 DM数据迁移工具支持: ◆ 主流大型数据库Oracle、SQLServer、MyS…

DC9 Debian和sql注入

信息收集 sudo arp-scan -l 列出局域网主机 arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip dc9的ip : 192.168.146.133 访问网页 cms为Debian 端口扫描 22端口是filtered 隐藏目…

详细分析Python爬虫中的xpath(附Demo)

目录 前言1. 基本知识2. 常用API3. 简易Demo 前言 关于爬虫的基本知识推荐阅读:Python爬虫从入门到应用(超全讲解) 该知识点需要提前安装相关依赖:pip install lxml 1. 基本知识 XPath(XML Path Language&#xf…

GIt 删除某个特定commit

目的 多次commit,想删掉中间的一个/一些commit 操作方法 一句话说明:利用rebase命令的d表示移除commit的功能,来移除特定的commit # 压缩这3次commit,head~3表示从最近1次commit开始,前3个commit git rebase -i head~3rebase…

机器学习每周挑战——信用卡申请用户数据分析

数据集的截图 # 字段 说明 # Ind_ID 客户ID # Gender 性别信息 # Car_owner 是否有车 # Propert_owner 是否有房产 # Children 子女数量 # Annual_income 年收入 # Type_Income 收入类型 # Education 教育程度 # Marital_status 婚姻状况 # Housing_type 居住…

使用GPT需要注意的事项

GPT出来之后,基本就告别浏览器搜索问题答案了。将问题原封不动的copy给GPT基本可以得到解答。 但是这个也有弊端,那就是太依赖GPT了。 1,使用GPT需要更强的专业知识:除了能问对问题,还要具备识别GPT&q…

拦截器抛出异常无法被全局异常处理器捕获问题

文章目录 基本说明问题描述问题原因解决方法前端执行的所有请求都通过Controller,而不是直接访问html定义一个/error路径的方法 总结 基本说明 我的前后端项目是放在一起的,前后端都是由springMVC进行控制,但是现在我在拦截器的preHandle方法…

蓝桥杯单元测试专项练习Java版(单元测试4)(修正版)

关于简单循环覆盖法可以看看这里我的上一个文章http://t.csdnimg.cn/k92fn\ 题目4链接:单元测试专项练习(JavaPython) - 第四题单元测试题目(Java) - 蓝桥云课 (lanqiao.cn) 目录 题目描述 源代码功能 原题: Datas.java Good…

自动驾驶_交通标志识别:各目标检测算法评测

自动驾驶|交通标志识别:各目标检测算法评测 论文题目:Evaluation of Deep Neural Networks for traffic sign detection systems 开源代码:https://github.com/aarcosg/traffic-sign-detection 附赠自动驾驶学习资料和量产经验:…

计算机视觉——基于傅里叶幅度谱文档倾斜度检测与校正

概述 在计算机视觉领域,处理文档数据时,OCR算法的性能往往会受到文档的倾斜度影响。如果文档在输入到模型之前没有经过恰当的校正,模型就无法期待模型能够提供准确的预测结果,或者模型预测的精度会降低。例如,在信息提…

助力蓝桥杯单片机省一————模块之超声波

距离蓝桥杯单片机省赛还有7天 本次介绍的模块是超声波模块,将使用定时器1和PCA进行距离的测量。如果对PCA还未了解的,可以打开官方给的芯片数据手册,自行查看。 一、超声波测量原理 二、产生8个40KHz的超声波 void Init_wave() {unsigned …

7 个 iMessage 恢复应用程序/软件可轻松恢复文本

由于误操作、iOS 升级中断、越狱失败、设备损坏等原因,您可能会丢失 iPhone/iPad 上的 iMessages。意外删除很大程度上增加了这种可能性。更糟糕的是,这种情况经常发生在 iDevice 缺乏备份的情况下。 (iPhone消息消失还占用空间?&…

实际项目中如何使用Git做分支管理

前言 Git是一种强大的分布式版本控制系统,在实际项目开发中使用Git进行分支管理是非常常见的做法,因为它可以帮助团队高效的协作和管理项目的不同版本,今天我们来讲讲在实际项目中最常用的Git分支管理策略Git Flow。 常见的Git分支管理策略…

【开源语音项目OpenVoice](一)——实操演示

目录 一、前菜 1、Python选择 2、pip源切换 3、ffmpeg配置问题 4、VSCode添加Jupyter扩展 二、配置虚拟环境 1、下载源码 方法一 直接下载源码压缩包 方法二 使用git 1)git加入鼠标右键 2)git clone源码 2、VSCode出场 1)创建pyth…

第二十五周代码(蓝桥杯查缺补漏)

2024/03/31 周日 填充 题目链接 【参考代码】 想用暴力&#xff0c;没过 //枚举&#xff0c;未出结果QAQ #include <bits/stdc.h> using namespace std; string s00 "00"; string s11 "11"; int ans 0; //m个问号&#xff0c;子串有2^m…

1-32 异常

一 什么是异常? 1.含义:异与正常状态的显示,控制台显示的结果和预期的结果不一致 2.例如: int[] nums new int[2]; System.out.println(nums[2]); --抛出异常 二 异常分类 1.检测性异常:又称 非运行时异常,一般编写代码过程中编辑器直接报错 2.非检测性异常(常用):又称为…

牛客 2024春招冲刺题单 ONT98 牛牛猜节点【中等 斐波那契数列 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/6a3dfb5be4544381908529dc678ca6dd 思路 斐波那契数列参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规…