【MIMO 从入门到精通】[P7][How does Antenna Spacing affect Beamforming]

发布时间:2023年12月28日

?前言:

??

??Beamforming 是MIMO?技术里面的核心技术之一,所以讲MIMO 必须对Beamforming

有所了解,本篇主要了解一下beamforming

【MIMO 从入门到精通】[P6]【What is Beamforming?】-CSDN博客

本章主要通过数学公式 讨论一下 天线距离对 beamforming 的影响大小


一? 模型

? 如上图,双接收天线场景:

? ?信号先到达天线2?

?1.1? ? 预置条件

? ? ? ? ?接收天线1 和 接收天线2 之间的距离为d

? ? ? ? ? 电磁波的波长为\lambda

? ? ? ? ? 电磁波 周期T

? ? ? ? ? 则时间延时为

? ? ? ? ? ??\triangle t=\frac{T* d sin\theta}{\lambda }

1.2? 不同天线上面的输出

? ? ? ? ? ?如果不加延时器: 不同天线上权重系数为:

? ? ? ? ? ?w= \sum_{n=1}^{N_A}e^{j (n-1)T \frac{dsin\theta}{\lambda}}

? ? ? ? ? ? ?N_A: 天线个数

? ? ? ? ? ? 第一根天线

? ? ? ? ? ? ??w_1=e^0=1

? ? ? ? ? ? 第二根天线

? ? ? ? ? ? ? ?w_2=e^{jT\frac{dsin\theta}{\lambda}}(通过欧拉公式展开??w_2=cos\frac{T dsin\theta}{\lambda}+jsin\frac{T dsin\theta}{\lambda}

? ? ? ? ? ?

1.3 加法器输出? ? ?

? ? ? ? ? ? ? 通过加法器得到的信号为(下面例子只取其实部)

? ? ? ? ? ? ?out =w_1sinx+w_2sinx

1.4? 例子:

? ? ? ? ? ? ?假设频率为 2500MHz

? ? ? ? ? ? ?波长为?\lambda=\frac{c}{f}=\frac{3*10^8 m/s}{2.5*10^9/s}

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?=0.12m

? ? ? ? ? ?下面图像为不同antennas 数量,不同的间隔,不加延时电路后输出效果:

? ?

? ?

? 结论:

? ? 1: \theta=0?度的时候,输出信号幅度最强

? ? 2:增加天线距离d 的时候,除了在0度的时候,还会在其它角度会有最强的输出信号,

比如下图 d =0.24的时候,d 越大波束赋形的效果越好

? ?3: 天线数量越多,幅度增强效果越明显


二? 代码实现

?

? ? ? ? ?如下:

? ? ? ? ??T=2\pi

? ? ? ? ??\lambda=0.12m

# -*- coding: utf-8 -*-
"""
Created on Wed Dec 27 12:00:35 2023

@author: chengxf2
"""

import matplotlib.pyplot as plt
import numpy as np


def draw(x,y,RxNum):
    plt.rcParams['font.sans-serif']=['SimHei']  # 用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号
    
    label = "接收天线:"+str(RxNum)
    plt.title(label)
    # 绘制的曲线属性设置
    line1, = plt.plot(x, y, color='r', marker='d', linestyle='--', markersize=6, alpha=0.5, linewidth=3)
    

    # x,y坐标轴名称设置,可以同时设置标签的字体大小颜色等
    plt.xlabel(u'发射源发射角度', fontsize=14, color='r')
    plt.ylabel(u'输出的平均功率', fontsize=14, color='b')

    # 显示曲线图像
    plt.show()

def addAntenna(RxNum,angle,d,Y):
    #d 天线之间的距离
    #angle  发射源发射的角度
    #wavelength 电磁波波长,跟其频率有关系
    # 电磁波速度 3*10^8m/s.
    #n 第几根天线,第一根天线为基准,这里是不加延时电路
    #
    #4G网络使用的是频段为700MHz至2.7GHz的波段,对应的波长范围大致为0.1至0.4米。
    #5g 特高频(UHF)300 MHz~3000 MHz,对应电磁波的波长为分米波100cm~10 cm。 
    #5G 超高频(SHF)3 GHz~30 GHz,对应电磁波的波长为厘米波10 cm~1 cm。
    #
   wavelength =0.06*2 
   out = np.zeros(len(Y))
   T = 2*np.math.pi
   
   for n in range(0,RxNum):
         
           bias_t = (n*T*d*np.sin(angle))/wavelength #相当于公式里面n-1
           #print("\n--- n ",n,"\t bias_t",bias_t)
           w = np.cos(bias_t)
           
           signal =w*Y
           
           out = out+signal
           #print(out)
   
   return out

def receiveWave():
    
    x = np.linspace(0, 2*np.math.pi,100)
    y = np.sin(x)
    
    return x,y

def main():
    angleList = np.linspace(-np.math.pi/2.0, np.math.pi/2.0,100)
    x,y = receiveWave()
    
    RxNum =4
    distance = 0.06
  
    
    powerList =[]
    for angle in angleList:
        
        outSingle = addAntenna(RxNum,angle,distance,y)
        power = np.power(outSingle,2)
        avgpower = np.sum(power)
       
        print("\n angle :%4.3f avg: %4.2f"%(angle,avgpower))
        plt.scatter(angle, avgpower)
        powerList.append(avgpower)
    
    draw(angleList, powerList,RxNum)
    #draw(x,out)
    
main()   

?

文章来源:https://blog.csdn.net/chengxf2/article/details/135246090
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。