Wireless Communication--Beamforming (with MATLAB code)

1) usefulness

  • The Sub6G frequency band, as the main force of the current 5G capacity, has a carrier bandwidth of up to 100MHz. Generally, digital beamforming is used to realize multi-user multiplexing of time-frequency resources in the cell through 64 channels of transmission. The downlink can transmit up to 24 independent channels simultaneously. signal, uplink independently receives 12 channels of data.
    insert image description here

  • In the millimeter wave mmWave frequency band, hybrid beamforming is generally used:

    • The first beamforming in the figure: It is an analog beamformer based on an analog circuit, which is used to perform wide-angle beamforming on signals
    • The second beamforming in the figure: It is a digital beamformer based on digital signal processing technology, which is used to perform fine beamforming on the signal.
      insert image description here

2) Differentiate between precoding and beamforming

Reference link: https://zhuanlan.zhihu.com/p/35923884

(1)Precoding

  1. Digital beamforming is Precoding . Digital beamforming/Precoding processes the signal through the baseband, which can make the transmitted signal on each antenna different, including phase and amplitude, so the processing of Digital beamforming/Precoding can generate multiple directions more flexibly. Beams with different beams and power intensities make more effective use of space diversity.
  2. Precoding能够向多个用户同时发送多个数据流, in the digital baseband, precoding is performed in order to realize spatial multiplexing and multi-stream transmission
  3. Precoding can flexibly generate signals after signal processing in the digital domain, and the non-line-of-sight NLOS path gain can also be considered in signal processing, so Precoding can perform precoding processing for multi-path channels, and Precoding does not generate fixed directions. beam, and the effect of the processed signal transmitted in space is equivalent to sending different beams to different users. (corresponding to 3 below)
  4. Precoding can adjust the phase and power of the signal, enabling effective power control.

Another article mentions MIMO precoding:

(2)Beamforming

  1. Beamforming usually refers to Analog beamforming.
  2. In Analog beamforming, the digital signal on the antenna (all antennas process the same signal) adjusts the phase of the signal through the phase shifter in the analog domain to generate a beam in a specific direction. Beamforming sends a single data stream to a single user or user group in a certain direction;
  3. Beamforming sends beams in a specific direction, so it is usually applied in the millimeter wave system, because the channel in the millimeter wave system is a line-of-sight transmission LOS channel, and the user has only one transmission path with strong power.
  4. Beamforming only adjusts the signal phase through the phase shifter, and cannot realize power control.

3) Beam property matrix

The dimensions of the beamforming matrix depend on the number of antenna arrays. In beamforming systems based on linear antenna arrays, the beamforming matrix is ​​usually a complex matrix with a size of M × NM \times NM×N , whereMMM represents the number of antennas at the receiving end,NNN represents the number of antennas at the transmitting end.

In this case, the ii of the beamforming matrixThe i column indicates the transmitteriiThe received power of the output vector of i antennas on each antenna at the receiving end. Each element is a complex number representing the relative phase and magnitude in that direction, which is used to control the radiation direction and beam shape of the antenna.

4) Spatial multiplexing and diversity

Beamforming is a signal preprocessing technology based on antenna arrays. Beamforming generates directional beams by adjusting the weighting coefficients of each array element in the antenna array, so that significant array gain can be obtained. Beamforming can be used at both the signal transmitting end and the signal receiving end.

Beamforming can be seen as a spatial multiplexing technique because it can transmit different data on multiple independent sub-channels of the same path, increasing system capacity. Beamforming can also be regarded as a space diversity technology, because it can transmit the same data on multiple independent paths, and the receiving end uses diversity combining technology to resist channel fading, improve transmission reliability, and reduce bit error rate. The specific effect of beamforming depends on factors such as the structure of the antenna array, the modulation mode of the signal, and the characteristics of the channel.

Example matlab code

  • Here using a phase rotation on a unit circle as an example, the beamforming matrix WW is generatedW , then use the beamforming matrix and data symbols to construct the transmit signalxxx
  • Matrix HHH to represent the channel transmission matrix, its size isM × NM \times NM×N , and useWWW represents the beamforming matrix, its size isN × 1 N \times 1N×1 . Specifically, we can use the matrixHHH and the vectorWWW to calculate the received signal vectoryyy
  • At the receiving end, we use the maximum ratio combining algorithm to compute the weight vector www , then using the beamforming matrixWWW to receive signalyyy performs beamforming.
% 设定参数
M = 4; % 接收端天线数
N = 8; % 发射端天线数
SNR = 10; % 信噪比(dB)

% 随机生成传输矩阵 H
H = (randn(M,N)+1i*randn(M,N))/sqrt(2);

% 生成随机数据符号
s = sign(randn(N,1));

% 生成波束赋形矩阵 W
W = exp(1i*2*pi*(0:N-1)'/N);

% 发送信号 x
x = W*s;

% 添加高斯白噪声
P = var(x)/10^(SNR/10);
n = sqrt(P/2)*(randn(M,1)+1i*randn(M,1));
y = H*x + n;

% 接收端使用最大比合并算法进行信号处理,计算权重向量并进行波束赋形
% 计算最大比合并权重向量 w
w = H'*inv(H*H')*y;

% 进行波束赋形
y_hat = W'*w;

% 计算误差
error = norm(s - y_hat)^2;

There seems to be something wrong with the above code? Is there any friends who will change it? Welcome to correct me. The code for beamforming in a MISO scenario is given below:

% 假设系统有两个发射天线和一个接收天线
Nt = 2; % 发射天线数量
Nr = 1; % 接收天线数量

% 生成随机发射信号矩阵
Tx = randn(Nt, 1);

% 生成接收信号矩阵
H = randn(Nr, Nt); % 信道矩阵
noise = randn(Nr, 1); % 噪声矩阵
Rx = H * Tx + noise; % 接收信号

% 波束赋形
W = H'; % 采用最大比组合的波束赋形矩阵
Tx_beamformed = W * Rx;

% 输出结果
disp('发射信号矩阵:');
disp(Tx);
disp('接收信号矩阵:');
disp(Rx);
disp('波束赋形矩阵:');
disp(W);
disp('波束赋形后的发射信号矩阵:');
disp(Tx_beamformed);

Guess you like

Origin blog.csdn.net/qq_45889056/article/details/129647285
Recommended