Matlab code channel simulation intelligent reflection surface

Foreword

Before writing a book review many of the latest smart reflecting surface of the article, the article now this area is also spurt outbreak. But the code is very little published online, how to simulate intelligent reflection surface channel with matlab modeling at this blog to share

model

Here Insert Picture Description
Mainstream smart reflective surface similar system, where it just intercepted a system block diagram of an article to indicate. Briefly, the intelligent system can be divided into three reflecting surface channels:

  • The base station directly to the user's channel: BS-UE channel
  • Intelligent base station to the reflecting surface of the channel: BS-IRS channel
  • Smart reflection surface to a user's channel: IRS-UE channel

English abbreviations,

  • BS: Base Station The base station
  • UE: User Equipment User Equipment
  • IRS: Intelligent Reflecting Surface intelligent reflection surface

First, consider the reflection surface through the intelligent channel, i.e., BS-IRS and IRS-UE channel. Both channels can be seen as a conventional MIMO channel, we consider now the hottest millimeter-wave channel, i.e. sparse, limited number of paths. ** Also to be noted is that, due to the IRS is a plane, therefore its antenna response vector (array response vector), should be calculated according to UPA (uniform planar array), and not under the ULA (uniform linear array). Therefore, the response can be written as:

Here Insert Picture Description
among them, F \phi and i \theta represent the signal incident azimuth (azimuth angle) and elevation angle (elevation angle). N N represents the total number of antennas (the number of the reflection factor of the reflection surface intelligent). λ \lambda is the wavelength, d d is the antenna spacing, since there is generally provided d = 0.5 λ d = 0.5 \ lambda , the equation can be further simplified.

Similarly, the mainstream of the base station transmission antennas generally dominated by UPA form. Therefore, BS-IRS channel is actually a MIMO channel between two UPA simulation. First to write a function to achieve unilateral UPA antenna simulation vectors response:

function y = array_response(phi,theta, N)
for m= 0:sqrt(N)-1
    for n= 0:sqrt(N)-1
        y(m*(sqrt(N))+n+1) = exp( 1i* pi* ( m*sin(phi)*sin(theta) + n*cos(theta) ) );
    end
end
y = y.'/sqrt(N);
end

It is assumed that the UPA UPA is square, i.e., horizontal and vertical number of equal time around. To consider a rectangular UPA can modify it, but if you simply want to simulate a smart channel words reflecting surface can achieve the above code. Specific launched not too much, it is to translate the above response formula became matlab code only.

With this function, the simulation can be quickly the channel BS-IRS:

function H = generate_channel(Nt, Nr, L)

AoD = pi*rand(L, 2) - pi/2;  %-2/pi~2/pi
AOA = pi*rand(L, 2) - pi/2;  %-2/pi~2/pi
alpha(1) = 1; % gain of the LoS
alpha(2:L) = 10^(-0.5)*(randn(1,L-1)+1i*randn(1,L-1))/sqrt(2);
H = zeros(Nr, Nt);
for l=1:1:L
    ar = array_response(AOA(L,1),AOA(L,2), Nr);
    at = array_response(AOD(L,1),AOD(L,2), Nt);
    H = H + sqrt(Nr * Nt)*alpha(l)*ar*at';
end

Wherein, on behalf Nt of transmitting antennas, Nr receiving antennas representative of the total number of paths L represents (a direct LOS path + (L-1) Article NLOS path).
Each path needs to contain four variables: transmission of azimuth and elevation; receiving azimuth and elevation. We generate AOD, azimuth and elevation representatives sent.

AOD = pi*rand(L, 2) - pi/2;

Here is equivalent generated L × 2 L \times 2 Ge 0.5 π -0.5\pi ~ 0.5 π 0.5\pi angles, wherein each path have a transmission azimuth and elevation. AOA empathy.

It should be pointed out that, in practice azimuth and elevation range should be different, elevation range will be smaller, and therefore more reasonable simulation should generate further limit its scope. However, as mentioned above, if only to a randomly generated smart reflecting surface for channel simulation, not tangled so fine.

α \alpha represents the channel fading coefficients, in order to distinguish LOS path and the NLOS path, the first path is our default LOS path, normalized to the energy of 1. And NLOS path Gaussian energy is variable, and in order to reflect the energy difference between the LOS path, to a damping coefficient.

Here Insert Picture Description
Because the epidemic at home, no mathpix, too lazy to play their own hand latex, to cut down the MIMO formula. Our model and have a little difference, but the resulting diameter of each is the same, and ar is generated at the transmission and arrival angles in accordance with, respectively, and then multiplied by the factor of fading. Understand naturally understand, I can not understand the code anti-push.

In this case it can be simulated BS-IRS channel, while the IRS - UE channel also Similarly, the above can also be modeled as a channel model.

BS-UE about the channel, there are several different modeling:

  • Are assumed directly barrier between BS-UE, i.e. the channel does not exist. So also do the simulation. This scenario is reasonable, many papers are so hypothetical.
  • It is assumed to be a barrier, i.e., LOS path does not exist, but there are NLOS path. Then you can use the above code to simulation, just need to remove the line LOS path.
  • Rayleigh fading channel is assumed. This is the easiest simulation, there are a lot of papers to adopt this model. Rayleigh simulation code is very easy, there are many online, not repeat them.
Published 43 original articles · won praise 85 · views 720 000 +

Guess you like

Origin blog.csdn.net/weixin_39274659/article/details/104434934