從波束賦形到OAM(二)
OAM波形模擬
看到這篇文章的同學,可以預設已經對OAM有了基本的瞭解,在此就不再贅述OAM角動量的含義了。在無線通訊中,OAM一般是指具有渦旋相位的無線訊號,為了構造渦旋相位的訊號,可以使用具有渦旋面的天線或均勻圓陣列天線(UCA)。由於UCA天線簡單易用實現,且可以靈活的傳送不同拓撲荷的OAM訊號,因此得到了較為廣泛的應用。
由UCA形成的OAM,本質上仍可以認為是一種特殊的MIMO。其天線陣列如下圖所示,各天線陣子均勻擺放在一個圓上,各天線陣子之間所傳送訊號的相位差相同,透過調整不同天線之間相位差的大小,從而實現不同拓撲荷的OAM波形。
因此,我們可以非常簡單的套用上篇文章中波束賦形的模擬方式,實現OAM天線。接下來我們在Matlab中實現OAM天線,並畫出相位面和幅值。
% 初始化所傳送正弦訊號的基礎引數
freq
=
1。5e9
;
c
=
3e8
;
lamda
=
c
/
freq
;
bias
=
[
0
,
45
,
90
,
135
];
% 模擬4種拓撲荷
x
=
zeros
(
8
,
3
);
% 初始化傳送天線的位置,等間隔分佈在一個圓上
x1
=
[
0。269375
,
0
,
0
];
x2
=
[
0。190477
,
0。190477
,
0
];
x3
=
[
0
,
0。269375
,
0
];
x4
=
[
-
0。190477
,
0。190477
,
0
];
x5
=
[
-
0。269375
,
0
,
0
];
x6
=
[
-
0。190477
,
-
0。190477
,
0
];
x7
=
[
0
,
-
0。269375
,
0
];
x8
=
[
0。190477
,
-
0。190477
,
0
];
y
=
zeros
(
501
,
501
,
4
);
接下來,我們在空間某位置計算各天線陣子訊號的表達形式,為:
,此處d為該位置距離天線陣子的距離,c為光速,
為該天線陣子傳送訊號的相位值,
取值為
,因此可以得到每個天線陣子在該處訊號的計算方式:
% 取一個正方形區域,遍歷其中的點,計算相位和幅度。
xrange
=
-
5
:
0。02
:
5
;
yrange
=
-
5
:
0。02
:
5
;
for
b
=
bias
ii
=
1
;
for
i
=
xrange
jj
=
1
;
for
j
=
yrange
target
=
[
i
,
j
,
20
];
% 為觀測點位置
% 計算每個天線陣子在觀測點處的訊號表示式
yy1
=
exp
(
-
1
i
*
2
*
pi
*
freq
*
norm
(
target
-
x1
)
/
c
);
yy2
=
exp
(
-
1
i
*
(
2
*
pi
*
freq
*
norm
(
target
-
x2
)
/
c
-
b
/
180
*
pi
));
yy3
=
exp
(
-
1
i
*
(
2
*
pi
*
freq
*
norm
(
target
-
x3
)
/
c
-
2
*
b
/
180
*
pi
));
yy4
=
exp
(
-
1
i
*
(
2
*
pi
*
freq
*
norm
(
target
-
x4
)
/
c
-
3
*
b
/
180
*
pi
));
yy5
=
exp
(
-
1
i
*
(
2
*
pi
*
freq
*
norm
(
target
-
x5
)
/
c
-
4
*
b
/
180
*
pi
));
yy6
=
exp
(
-
1
i
*
(
2
*
pi
*
freq
*
norm
(
target
-
x6
)
/
c
-
5
*
b
/
180
*
pi
));
yy7
=
exp
(
-
1
i
*
(
2
*
pi
*
freq
*
norm
(
target
-
x7
)
/
c
-
6
*
b
/
180
*
pi
));
yy8
=
exp
(
-
1
i
*
(
2
*
pi
*
freq
*
norm
(
target
-
x8
)
/
c
-
7
*
b
/
180
*
pi
));
% 將8個天線陣子訊號疊加,即為該處訊號實際形式
y
(
ii
,
jj
,
b
/
45
+
1
)=
yy1
+
yy2
+
yy3
+
yy4
+
yy5
+
yy6
+
yy7
+
yy8
;
jj
=
jj
+
1
;
end
ii
=
ii
+
1
;
end
end
接下來把觀測區域的相位及幅度畫出即可:
figure
for
i
=
1
:
4
subplot
(
4
,
2
,
2
*
(
i
-
1
)
+
1
)
mesh
(
xrange
,
yrange
,
abs
(
y
(:,:,
i
)));
% 畫幅值
subplot
(
4
,
2
,
2
*
(
i
-
1
)
+
2
)
mesh
(
xrange
,
yrange
,
angle
(
y
(:,:,
i
)));
% 畫相位
end
可得到下圖: