Lời mở đầu
Nói đến một hệ thống vô tuyến là nói tới việc sử dụng sóng điện từ. Và thành
phần quan trọng trong việc thu và phát sóng điện từ không có gì khác chính là
anten. Anten được sử dụng trong nhiều lĩnh vực như trong các hệ thống truyền
hình, phát thanh, điều khiển, vệ tinh, Tương ứng với những mục đích sử dụng
khác nhau đó thì các anten cũng được thiết kế và tối ưu theo các phương pháp khác
nhau nhằm đạt được kết quả mong muốn cuối cùng. Đã có nhiều phương pháp,
nhiều công trình nghiên cứu khoa học tham gia vào quá trình tối ưu này. Các
phương pháp có thể kể đến như: Phương pháp Gradien, phương pháp cổ điển,
phương pháp di truyền,
Thuật toán di truyền không chỉ sử dụng đơn thuần trong sinh học như ta
thường nghĩ mà nó có thể giải quyết rất tốt các bài toán về điện từ hay bất cứ bài
toán nhiều tham số nào khác và trong thiết kế anten cũng không phải là trường hợp
ngoại lệ. Trong phạm vi nghiên cứu tôi đã tìm hiểu về phương pháp này để áp dụng
cho bài toán tối ưu thiết kế anten Yagi. Ngoài việc xây dựng nên một thuật toán
tính toán hoàn chỉnh tối ưu hầu hết tất cả các tham số anten, tôi còn thực hiện xây
dựng nên giao diện phần mềm tiện lợi cho người sử dụng và thực hiện thiết kế hoàn
chỉnh anten có thể sử dụng được.
53 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2550 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Khóa luận Tối ưu thiết kế anten loga – Chu kỳ bằng thuật toán di truyền, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ận tốt nghiệp
Từ (1.7) ta có phương trình mạch điện đối với các tầng:
Tầng 1:
1 1 1 1 1 1 1
0 1
1 1 1 1 1 1 1
0 1
V VV V VR R VV VR
R RV V RR R RV RR
I y V y V y V y V
I y V y V y V y V
= + = +
= + = +
Tầng 2:
2 2 2 2 2 2 2
1 2
2 2 2 2 2 2 2
1 2
V VV V VR R VV VR
R RV V RR r RV RR
I y V y V y V y V
I y V y V y V y V
= + = +
= + = +
……………………………………
Tầng N: 1
1
N N N N N N N
V VV V VR R VV N VR N
N N N N N N N
R RV V RR R RV N RR N
I y V y V y V y V
I y V y V y V y V
−
−
= + = +
= + = +
(1.12)
Tại các nút, ta có phương trình mạch điện được viết như sau:
( )
(
2 1
1
3 2
2
2
........................
V R
V R
N
n
)
I I I
I I I
I I
= − +
= − +
= −
(1.13)
Từ việc xác định dòng điện trong các chấn tử theo các công thức (1.10) và
(1.11), ta có thể đưa anten loga-chu kỳ về mô hình đơn giản gồm các chấn tử có
độ dài thay đổi đặt song song cách nhau những khoảng cách nhất định dọc theo
trục z ở các vị trí có tọa độ (hình 1.3). Mỗi chấn tử được tiếp điện bởi một
nguồn riêng biệt có sức điện động .Các kích thước và tọa độ được xác
định khi cho trước các thông số của kết cấu như chu kỳ
nl
nz
nV nl nz
τ các góc mở α .
Lưu Thị Hoa Linh 15
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
nz
Nz
0θ =
N
x
n
ln 2
1 l2
l1 0
z2z
1z
Hình 1.6: Mô hình đơn giản của anten lôga chukỳ
Hệ phương trình Kirchhoff đối với hệ thống N chấn tử ghép khi có tính đến
ảnh hưởng tương hỗ của các phân tử được viết dưới dạng:
11 12 1 1 1
21 22 2 2 2
1 2
...
...
... ... ... ... ... ...
...
N
N
N N NN N N
Z Z Z I V
Z Z Z I V
Z Z Z I V
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥× =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
(1.14)
Dựa vào các phương trình (1.12), (1.13), và (1.14) ta có các bước tính toán
đối với anten lôga – chu kỳ như sau:
Bước 1: Thay (1.12), (1.13) vào (1.14) sẽ nhận được hệ mới gồm N phương
trình. Giải hệ phương trình này được N nghiệm V V . Thay các nghiệm này
vào (1.10), (1.11) sẽ xác định được dòng điện trong các chấn tử:
1 2, ,..., NV
1 2, ,..., NI I I .
Tính trở kháng tương hỗ theo công thức: ij ij ijZ R iX= + trong đó ijR và ijX
xác định theo công thức sau:
Lưu Thị Hoa Linh 16
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
( ) ( )
1 ij ij2
ij 1 2
1 2
2
ij -2
ij ij ij ij ij
2 230 sin .sin {[sin sin
2 2
2sin .cos . ] . .sin cos sin sin
2
s2.sin .cos
2
j
j
l i i
z z
ji
l
zi
x y
i
l lS H S HklklR kr
r r
S HklkR S d S
R
klkR
ρ θ ϕ θ ϕ
−
−
⎛ ⎞ ⎛+ + + −⎜ ⎟ ⎜⎡ ⎤⎛ ⎞⎛ ⎞ ⎝ ⎠ ⎝= − +⎢ ⎥⎜ ⎟⎜ ⎟⎝ ⎠ ⎝ ⎠⎣ ⎦
+⎛ ⎞ ⎡ ⎤− +⎜ ⎟ ⎣ ⎦⎝ ⎠
⎛ ⎞+ −⎜ ⎟⎝ ⎠
∫ kr
⎞⎟⎠
+ +
1 2
ij
1 2
in sin .cos }.sin d
2
jlkr kr k S S
r r
θ⎡ ⎤ ⎛ ⎞− −⎜ ⎟⎢ ⎥ ⎝ ⎠⎣ ⎦
(1.15)
Phần ảo của trở kháng tương hỗ:
( ) ( )
1 ij ij2
ij 1 2
1 2
2
ij -2
ij ij ij ij ij
2 230 sin .sin {[cos cos
2 2
2cos .cos . ] . .sin cos sin sin
2
cos .cos
22.
j
j
l i i
z z
ji
l
zi
x y
i
l lS H S HklklX kr
r r
S HklkR S d S
R
klkR
R
ρ θ ϕ θ ϕ
−
−
⎛ ⎞ ⎛+ + + −⎜ ⎟ ⎜⎡ ⎤⎛ ⎞⎛ ⎞ ⎝ ⎠ ⎝= − +⎢ ⎥⎜ ⎟⎜ ⎟⎝ ⎠ ⎝ ⎠⎣ ⎦
+⎛ ⎞ ⎡ ⎤− +⎜ ⎟ ⎣ ⎦⎝ ⎠
⎛ ⎞⎜ ⎟⎝ ⎠+ −
∫ kr
⎞⎟⎠
+ +
1 2
ij
1 2
cos cos .cos }.sin d
2
jlkr kr k S S
r r
θ
⎡ ⎤⎢ ⎥ ⎛ ⎞⎢ ⎥− −⎜ ⎟⎢ ⎥ ⎝ ⎠⎢ ⎥⎣ ⎦
(1.16)
Ở đây:
( )
( )
( )
( )
ij ij
ij ij
1/ 22
ij
1/ 222
ij
1/ 222
1 ij
1/ 222
2 ij
.sin .cos
sin sin
/ 2
/ 2
x
y
x y
z
z i
z i
x x y y z z
S S
S S
S d S
R S H
r S H l
r S H l
S S i S i S i
θ ϕ
θ ϕ
ρ
ρ
ρ
ρ
=
=
⎡ ⎤= + +⎢ ⎥⎣ ⎦
⎡ ⎤= + +⎢ ⎥⎣ ⎦
⎡ ⎤= + + +⎢ ⎥⎣ ⎦
⎡ ⎤= + + −⎢ ⎥⎣ ⎦
= − +
Bước 2: theo giá trị các dòng đã tính được, ta tìm được hàm phương hướng
của anten trong hai mặt phẳng chính theo công thức:
Lưu Thị Hoa Linh 17
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Mặt phẳng H (mặt phẳng từ trường, yOz):
( ) ( ) Hos
1
1 cos
21
sin
2
n
n
N
n ikz cH
n
n
kl
f I kl e
θθ
−
= −∑ (1.17)
Mặt phẳng E (mặt phẳng điện trường, xOz):
( ) ( ) Eos
E1
cos sin cos
2 21
sin os
2
n
Hn n
N
n ikz cE
n
n
kl kl
f I kl c
e θ
θ
θ
θ
⎛ ⎞ −⎜ ⎟⎝ ⎠= −∑ (1.18)
Các góc ,H Eθ θ là góc hợp bởi hướng khảo sát và trục Oz trong mỗi mặt
phẳng E và H. Do cách mắc chéo nhau nên dòng điện trong 2 chấn tử kề nhau có
dấu ngược nhau, vì thế có số hạng (-1)n trong công thức.
Hệ số định hướng được xác định theo công thức:
( )max 2 2
0 0
4
, sin d dH E H H Em
D
F
π π
π
θ θ θ θ θ
=
∫ ∫
(1.19)
Trong đó ( ) ( ) ( )2 2, 2H E HmF f f Eθ θ θ= + θ là tổng bình phương hàm phương hướng
Bước 3: tính tổng trở vào của các chấn tử:
n
n
n
VZ
I
= (1.20)
Và tổng trở của anten:
1 1
1 1
1 0
VA
VV VR
V VZ
I y V y V
= = + 1 (1.21)
Bài toán xác định các thông số tối ưu của anten lôga – chu kỳ được giải
quyết bằng cách lặp lại nhiều lần các bước 1 và 2, đến chừng nào đạt được các chỉ
tiêu chất lượng tốt nhất (tùy thuộc vào hệ số định hướng).
Lưu Thị Hoa Linh 18
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
CHƯƠNG 2: THUẬT TOÁN DI TRUYỀN
2.1. Giới thiệu về thuật toán di truyền.
Trong thiên nhiên, mỗi cá thể có các tính chất và đặc điểm riêng biệt thể
hiện ra ngoài môi trường được gọi là kiểu hình. Các kiểu hình này được quyết
định bởi kiểu gen của chính cá thể đó. Kiểu gen rất đa dạng giữa các loài với nhau
và ngay trong cùng một loài, sự đa dạng này dẫn đến sự đa dạng về kiểu hình
trong một quần thể sinh học.
Thế giới tự nhiên phát triển và tiến hóa qua các thế hệ được là do tuân theo
quy luật chọn lọc tự nhiên: Cá thể nào có kiểu hình thích nghi với môi trường hơn
thì có khả năng tồn tại cao hơn và truyền kiểu gen mang sự thích nghi môi trường
này cho thế hệ con cháu thông qua quá trình sinh sản, còn cá thể nào yếu hơn thì
sẽ bị loại bỏ.
Trong quá trình sinh sản có cả di truyền và biến dị nên con cái không hoàn
toàn giống cha mẹ. Kiểu gen tiến hóa và hoàn thiện để thế hệ tiếp theo có thể phù
hợp với sự thay đổi của môi trường sống. Quá trình tiến hóa này được lặp lại
nhiều lần.
Các kỹ sư có thể sử dụng khoa học tự nhiên của sự thích nghi để thiết kế các
sản phẩm tốt hơn. Phương pháp gradient và phương pháp tìm kiếm ngẫu nhiên hội
tụ khá nhanh chóng tới cực tiểu khi thuật toán gần tới cực tiểu đó. Vì thế với
những bài toán có các thông số nhỏ biến thiên liên tục, và không gian nghiệm nhỏ
thì các phương pháp này tỏ ra có hiệu quả. Nếu số lượng thông số tăng lên thì
chất lượng của lời giải phụ thuộc vào dự đoán ban đầu. Dự đoán ban đầu rơi vào
vùng không gian chất lượng thấp thì việc tìm kiếm lời giải tốt sẽ rất khó khăn.
Trong khi thiết kế và tổng hợp của anten, mục đích của việc tìm kiếm cấu
trúc bức xạ đáp ứng được các tiêu chuẩn chất lượng như độ tăng ích, mức cực đại
phụ lớn nhất, độ rộng chùm, trở kháng đầu vào, và kích thước vật lý. Ngoại trừ
các cấu trúc anten đơn giản nhất, tất cả anten khác đều có rất nhiều các biến số
thiết kế tác động đến chất lượng anten. Các cấu trúc khác nhau của anten cũng
gây khó khăn cho việc dự đoán ban đầu cho từng thiết kế. Với những vấn đề này
thì thuật toán di truyền được đưa ra nhằm giải quyết vấn đề tìm kiếm toàn cục cho
lời giải thỏa mãn một số tiêu chuẩn chất lượng đặc biệt.
Lưu Thị Hoa Linh 19
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
2.2. Khái quát về thuật toán di truyền và các bước tiến hành.
2.2.1. Khái quát về thuật toán di truyền
Thuật toán di truyền bắt chước sự tiến hóa và tổ hợp gen trong tự nhiên nên
gen là thành phần cơ bản của thuật toán. Thuật toán này mã hóa mỗi thông số trở
thành một chuỗi nhị phân, được gọi là gen, và tập hợp các gen là một nhiễm sắc
thể. Các nhiễm sắc thể lại được đánh giá bằng các hàm mục tiêu, trải qua quá
trình chọn lọc tự nhiên, lai ghép và biến dị, để đạt được lời giải tối ưu cuối cùng.
Các nhiễm sắc thể đó được xếp loại từ phù hợp nhất đến ít phù hợp nhất, tùy
thuộc vào hàm mục tiêu tương ứng. Phù hợp hay không là do người lập trình quy
định. Những nhiễm sắc thể không phù hợp bị loại bỏ, để lại những nhiễm sắc thể
tốt nhất ban đầu.
Các cá thể được duy trì sẽ trở thành cha mẹ, và trao đổi vật chất di truyền để
tạo ra hai con cái mới, đủ để bù lại những nhiễm sắc thể đã bị loại bỏ. Vì vậy sau
mỗi vòng lặp tổng số nhiễm sắc thể còn lại là một hằng số. Sự biến dị dẫn đến sự
thay đổi ngẫu nhiên nhỏ trong một nhiễm sắc thể.
Hàm mục tiêu lại được đánh giá cho thế hệ con cái và các nhiễm sắc thể biến
dị, sau đó cả quá trình được lặp lại. Thuật toán chỉ dừng lại sau một lượng xác
định vòng lặp hoặc khi thu được một lời giải có thể chấp nhận được.
2.2.2. Các bước tiến hành
Hình 2.1 là lưu đồ của thuật toán di truyền, bắt đầu bằng việc định nghĩa
nhiễm sắc thể như một hệ anten có các giá trị của thông số được tối ưu hóa. Nếu
nhiễm sắc thể có Npar thông số (một bài toán tối ưu có N chiều), được cho bởi
ar1 2 3
, , , ,
pN
p p p pL , nhiễm sắc thể sẽ được viết dưới dạng:
ar1 2 3 pN
N ST p p p p⎡ ⎤= ⎣ ⎦L (2.1)
Mỗi nhiễm sắc thể có một hàm mục tiêu, được tìm bởi việc đánh giá một
hàm f tại vị trí . Biểu diễn lại hàm mục tiêu như sau: ( ar1 2 3, , , , pNp p p pL )
( )a r1 2 3c o s t= , , , , pNf p p p pL (2.2)
Lưu Thị Hoa Linh 20
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Các thông số np (với n = 1, 2, …, Npar) có thể rời rạc hoặc liên tục. Ta giới
hạn các thông số liên tục bằng cách mã hóa chúng thành các chuỗi nhị phân:
(2.3) [ ] 1W
1
2
nL
m
n
m
q b m −
=
= ∑ Q
Trong đó:
nq = giá trị lượng tử hóa của np
nL = số mức lượng tử cho nq
Wb = hệ anten bao gồm chuỗi nhị phân biểu diễn lại bằng nq
Q = mức lượng tử lớn nhất hoặc một nửa giá trị lớn nhất có thể của nq
thiết lập mã hóa hoặc giải
mã các thông số
tạo M nhiễm sắc thể ngẫu nhiên
Đánh giá hàm mục tiêu
cho các nhiễm sắc thể
Những nhiễm
sắc thể còn lại
lai ghép
loại bỏ những
nhiễm sắc thể không
phù hợp
biến dị
xếp hạng các nhiễm sắc thể
Dừng
chưa
Hoàn thành?
rồi
Hình 2.1: Lưu đồ của thuật toán di truyền
Lưu Thị Hoa Linh 21
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Các thông số được mã hóa nhị phân ( ) có thể chỉ thể hiện một vài giá trị của nq
np . Ví dụ như np thể hiện 8 giá trị của suất điện trở, có thể biểu diễn như sau: nq
Ω==
Ω==
Ω==
800111
200001
100000
n
n
n
q
q
q
LLL
Các thuật toán di truyền ở đây chỉ làm việc với các thông số đã được mã hóa,
mà không làm việc với chính các thông số đó. Mỗi khi hàm mục tiêu được đánh
giá, thì các nhiễm sắc thể phải được giải mã đầu tiên. Phương trình (2.3) cho ta
thấy một hệ anten có các thông số được lượng tử. Nhiễm sắc thể này có tổng cộng
argbit pbit pN N N= × bit.
Sau khi đặt ra sơ đồ lập mã và giải mã các thông số, một danh sách các
nhiễm sắc thể ngẫu nhiên được tạo ra. Mỗi nhiễm sắc thể có một hàm
mục tiêu kết hợp, được tính toán từ phương trình (2.2).
8NSTN =
Bước tiếp theo trong thuật toán là xếp hạng các nhiễm sắc thể từ tốt nhất
đến tồi nhất theo mục tiêu của nhiễm sắc thể đó. Tại đây, các nhiễm sắc thể không
được chấp nhận bị loại bỏ. Chấp nhận được hay không là do người lập trình định
nghĩa tùy thuộc vào chất lượng yêu cầu. Nếu x nhiễm sắc thể đứng đầu được chọn
(x là số chẵn) thì bị loại bỏ. NSTN − x
Ta loại bỏ 50% thì chỉ còn nhiễm sắc thể cho việc lai ghép. Hai
nhiễm sắc thể bất kỳ đều có thể lai ghép với nhau. Có thể ghép đôi nhiễm sắc thể
đứng đầu và nhiễm sắc thể đứng cuối bảng, hoặc ghép đôi ngẫu nhiên: nhiễm sắc
thể số 1 với , NST số 2 với
/ 2NSTN
/ 2NSTN / 2 1NSTN − . v.v. Với mỗi cặp ghép đôi, hai con
cái mới được tạo ra từ việc trao đổi vật chất di truyền của cha mẹ: chọn một điểm
tương giao chéo ngẫu nhiên, các cặp bit nhị phân ở bên phải của điểm tương giao
chéo được đổi để định dạng lứa con cái.
Lưu Thị Hoa Linh 22
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Nếu điểm tương giao chéo ngẫu nhiên giữa các bit của nhiễm sắc thể được
chọn như trong ví dụ sau, các nhiễm sắc thể mới được định dạng bằng cách:
Cha mẹ thứ nhất (NST số 6)
Cha mẹ thứ hai (NST số 2)
Con thứ nhất
Con thứ hai
}
}
10101 0010101
11100 1100101
101011100101
111000010101
4243
4243
Sau khi cho nhiễm sắc thể ghép cặp và lai ghép, danh sách
cặp cha mẹ và con cái lời giải cho tổng số nhiễm sắc thể (giống
lượng nhiễm sắc thể ban đầu)
/ 2NSTN / 2NSTN
/ 2NSTN NSTN
Tại thời điểm này, biến dị ngẫu nhiên làm cho một tỉ lệ nhỏ các bit trong
danh sách nhiễm sắc thể có sự thay đổi - biến dị là việc thay 1 thành 0 hoặc
ngược lại. Một bit được lựa chọn ngẫu nhiên cho biến dị từ tổng số gbit NSTN N×
bit trong tất cả các nhiễm sắc thể. Việc tăng lượng bit bị biến dị làm tăng sự tự
do của thuật toán ra ngoài phạm vi hiện thời của không gian thông số. Sự tự do
này trở nên quan trọng hơn khi thuật toán sắp hội tụ thành lời giải cụ thể. Sự
biến dị không xảy ra ở vòng lặp cuối cùng, vì lúc này các nhiễm sắc thể đã gần
như giống nhau.
Sau khi biến dị, hàm mục tiêu tương ứng của các thế hệ con và các nhiễm
sắc thể bị biến dị được tính toán, và quá trình lại được lặp lại. Số thế hệ phát triển
phụ thuộc vào lời giải có phù hợp không, hoặc số vòng lặp đã thực hiện. Sau một
thời gian, tất cả nhiễm sắc thể và hàm mục tiêu tương ứng trở nên giống nhau,
ngoại trừ trường hợp biến dị. Khi đó thuật toán cần được dừng lại.
2.2.3. Thuật toán di truyền cho tối ưu và thiết kế anten
Hình 2.2 cho ta thấy biểu đồ các bước thực hiện của thuật toán di truyền.
Hầu hết tất cả các bước là chung cho tất cả các thuật toán di truyền. Những khác
biệt đáng chú ý là phương pháp ước lượng pha anten momen ở đầu vòng lặp.
Thuật toán di truyền bắt đầu tìm kiếm với một quần thể lớn của những cá
thể được tạo ngẫu nhiên. Sự ngẫu nhiên này cho ra một quần thể đa dạng gồm
những lời giải có thể đại diện được cho một nhóm lớn của toàn bộ không gian lời
Lưu Thị Hoa Linh 23
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
giải. Mỗi cá thể trong quần thể đại diện cho một thiết kế anten. Những tính chất
của mỗi thiết kế là một lời giải sử dụng phương pháp của momen và sau đó định
một cá thể phù hợp nhất dựa vào thiết kế trùng lặp bao nhiêu so với mong muốn.
Bắt đầu với lựa chọn quần thể
ngẫu nhiên của anten
Kết thúc
Áp dụng toán tử di truyền
để tạo thế hệ anten mới
Sắp xếp anten theo
chất lượng hàm mục tiêu
Kiểm tra tiêu chuẩn
cuối cùng
Tái tạo các anten bằng
phương pháp momen
Hình 2.2: Sơ đồ khối cho thuật toán di truyền.
Bằng cách sử dụng: “cá thể phù hợp thì tồn tại”, các cá thể phù hợp hơn
có khả năng được lựa chọn lớn hơn. Với ý tưởng là việc trao đổi thông tin di
truyền giữa hai lời giải tốt thì sẽ tạo ra một lời giải tốt hơn. Trong quần thể cũng
có một vài sự thay đổi nhỏ làm cho cá thể có thể bị biến dị. Thay đổi ngẫu nhiên
của một tỉ lệ nhỏ của quần thể giúp duy trì thế giới tự nhiên trong việc nghiên
cứu. Những quần thể mới được tạo ra và được đánh giá cho nhiều thế hệ cho tới
khi quần thể tập trung lại thành một lời giải giống nhau hoặc một vài tiêu chí
dừng khác được gặp.
Lưu Thị Hoa Linh 24
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
2.2.4. Hàm mục tiêu và tỉ lệ phù hợp
Mục đích của quá trình thiết kế là phát triển một loại anten đáp ứng một vài
yêu cầu đặc tính chất lượng. Vài đặc tính định nghĩa chất lượng anten là: cực đại
phụ, độ rộng chùm, tỉ lệ trước – sau, kích cỡ, tăng ích và trở kháng đầu vào. Chất
lượng thiết kế được thể hiện theo toán học bằng hàm mục tiêu.
Giả sử hàm mục tiêu cho anten thiết kế x một hệ số tăng ích G và trừ đi
phần sai lệch giữa phần thực của trở kháng với 75Ω và phần ảo khác 0. Trong
khóa luận này không thực hiện tối ưu phần ảo của trở kháng.
object( ) a ( ) b 75 Re( ( ))x G x Z x= − − (2.4)
Những hằng số a, b, c là ảnh hưởng của mỗi số hạng tới toàn bộ hàm mục tiêu.
2.2.5. Sự chọn lọc
Sau khi đánh giá quần thể, ta chọn các cá thể tạo thế hệ tiếp theo. Trong
các cá thể được lựa chọn, có một số được sao chép đơn giản sang quần thể mới.
Số khác được lai ghép với cá thể nào đó và con cháu của chúng trở thành một
phần của quần thể mới. Trong suốt quá trình lựa chọn, cá thể i được giả định là có
thể có Pi cách lựa chọn, dựa vào tỉ lệ phù hợp của cá thể trên tổng số phù hợp của
N cá thể trong quần thể, Pi được tính như sau:
∑
=
= N
k
k
i
i
f
fP
1
(2.5)
Dạng chuẩn của sự lựa chọn (thường được gọi là bánh xe xổ số) cấp một
phần của một bánh xe cho mỗi cá thể vì thế vào mọi thời điểm vòng quay này
luôn được thực hiện. Nếu bánh xe quay được N lần thì cá thể có phù hợp trung
bình có thể được chon khi mà cá thể đó có độ phù hợp gấp 2 lần giá trị trung bình;
tuy nhiên N mẫu thường là quá ít mẫu để phân loại lựa chọn như mong đợi. Vài cá
thể có thể được chọn thường xuyên hơn trong khi một vài cá thể trung bình thì
không bao giờ được chọn.
Lưu Thị Hoa Linh 25
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Một trong các phối hợp lựa chọn Brindle [3] là chọn cá thể dựa trên cơ sở
sự có mặt được mong đợi của chúng trong quần thể N cá thể.
i ie P N= (2.6)
Mỗi cá thể được đảm bảo sẽ có ít nhất (làm tròn tới dưới số nguyên gần nhất)
mẫu đại diện trong quần thể mới. Phần của sau đó được áp dụng kiểu tương tự
bánh xe xổ số để lấp đầy các phần còn lại trong quần thể.
ie
ie
2.2.6. Mô tả anten như nhiễm sắc thể
Cách thức biểu diễn một cá thể trong thuật toán di truyền như thế nào là rất
quan trọng. Trong thuật toán di truyền, các nhiễm sắc thể là sự thể hiện tóm tắt lới
giải của bài toán. Vì thế mỗi lời giải riêng của quần thể được thể hiện bởi một
nhiễm sắc thể. Mỗi loại anten có các thông số đặc trưng cho kết cấu khác nhau.
Những thông số này được mã hóa nhị phân rồi ghép lại với nhau thành xâu đơn.
Xét ví dụ minh họa:
L3 L1 L2
S1 S2
Hình 2.3 : Một anten có 3 chấn tử
Một anten 3 chấn tử như hình 2.3, các chấn tử có chiều dài là L1, L2, L3,
khoảng cách giữa chúng là S1, S2, S3. Các thành phần này được miêu tả như là
một nhiễm sắc thể có giá trị nhị phân như hình 2.4 rồi sau đó ghép lại với nhau
thành xâu đơn:
e n c o d e d 1 2 LB
L l l l= L (2.7)
Lưu Thị Hoa Linh 26
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
1010010000000111 11000111 1100100011001011
Lmin Lmax Smin Smax
L1 S1
Chuyển thành giá trị
nhị phân
Các giá trị rời rạc được mã hóa 8 bit
Nhiễm sắc thể
Kết hợp tất cả các giá trị để tạo thành nhiễm sắc thể
L1 S1 L2 S2 L3 S4
00000111
0 1 2 3 255
11001011
0 1 2 3 255
10111000
Hình 2.4: Biểu diễn anten như một nhiễm sắc thể
Trong đó BL là số bit sử dụng để biễu diễn chiều dài L. BL được tính bằng
công thức sau:
max min
2
res
log ( 1)L
L LB
L
−= + (2.8)
Với Lmin, Lmax là khoảng mà chiều dài chấn tử có thể thay đổi được và Lres
là độ phân giải của sự rời rạc hóa. Nếu BL không nguyên thì nó sẽ được làm tròn
lên giá trị nguyên kế tiếp. Biễu diễn nhị phân của chiều dài được giải mã như sau:
LN
k-1
min res
k=1
2kL L L l= +∑ (2.9)
Nhiễm sắc thể được định dạng bằng cách ràng buộc tất cả các thông số mã
hóa với nhau thành một chuỗi nhị phân đơn. Kích thước của không gian tìm kiếm
được định nghĩa bằng độ dài của nhiễm sắc thể. Sự hội tụ của thuật toán di truyền
thành lời giải nhanh hơn trong không gian tìm kiếm nhỏ hơn, nên cần có sự cân
bằng giữa khoảng tham số và độ phân giải của các thông số với tốc độ hội tụ.
Lưu Thị Hoa Linh 27
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
2.2.7. Các toán tử di truyền
Thông tin di truyền được nhân giống từ một thế hệ sang thế hệ sau bằng
toán tử di truyền. Có 3 cách cơ bản của toán tử di truyền là: sao chép
(reproduction), tương giao chéo (crossover) và biến dị (mutation). Sự sao chép, là
toán tử đơn giản nhất, sao chép trực tiếp một cá thể từ thế hệ cũ sang thế hệ mới
(giống như quá trình sinh sản vô tính).
Toán tử tương giao chéo chỉ phức tạp hơn sao chép một chút: thông tin di
truyền giữa 2 nhiễm sắc thể được đổi chỗ bằng việc cắt những nhiễm sắc thể tại
những nơi được chọn ngẫu nhiên và đổi đoạn cuối của nhiễm sắc thể để tạo nên
những nhiễm sắc thể mới. Hình 2.5 minh họa quá trình này, nêu ra một cách đơn
giản cho nhiễm sắc thể trao đổi thông tin di truyền trong việc tìm kiếm nhiễm sắc
thể tốt hơn. Tỉ lệ của các cá thể được chọn để tham gia vào tương giao chéo trong
suốt mỗi thế hệ được ghi rõ bởi thông số (xác suất tương giao chéo). pcrossover
Cha mẹ A Cha mẹ B
Sau vài thế hệ, quần thể dường như bao gồm nhiều bản sao đồng nhất của
một cá thể rất phù hợp. Một cách tổng quát, điều này là tốt vì con cái của cá thể
này cũng phù hợp; tuy nhiên, lứa con cái rất giống cha mẹ chúng có thể dẫn đến
hạn chế trong việc tìm kiếm của không gian lời giải. Để tạo sự đa dạng trong quần
thể, toán tử biến dị được đưa vào. Nếu một bit được chọn để gây biến dị, giá trị
của bit đó chỉ đơn giản là thay đổi từ 0 thành 1 hoặc từ 1 thành 0. Áp dụng biến dị
Con B
01011 110001 00110 011001
01011 011001 00110 110001
thế hệ cũ
thế hệ mới
Con A
Hình 2.5 : Tương giao chéo
Lưu Thị Hoa Linh 28
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
vào một tỉ lệ nhỏ của quần thể, tính toàn cục của việc tìm kiếm vẫn được
đảm bảo.
crossoverp
Thuật toán di truyền có xác suất tự nhiên làm cho thu được các lời giải
khác nhau cho cùng một chương trình tính toán, trừ khi bài toán này đủ đơn giản
để tìm thấy lời giải tối ưu. Thuật toán di truyền hướng tới việc tìm kiếm lời giải
thích hợp và tối ưu nó. Ví dụ như một hàm phù hợp của anten bao gồm một số
hạng nhằm cực đại hóa tăng ích và số hạng khác để hướng tới trở kháng bằng
75Ω. Nếu ta lấy anten từ một vài lần chạy chương trình khác nhau, thì có thể một
vài anten sẽ có giá trị tăng ích cao với trở kháng đầu vào không như mong đợi,
trong khi đó, các anten khác sẽ có giá trị tăng ích nhỏ hơn nhưng giá trị trở kháng
đầu vào tốt hơn. Vì thế, ta cho chạy chương trình nhiều lần và lựa chọn anten
thích hợp nhất để ứng dụng.
Lưu Thị Hoa Linh 29
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN DI TRUYỀN
Trong chương này tôi sẽ nêu chi tiết hơn về việc áp dụng thuật toán di
truyền trong tối ưu hóa anten lôga - chu kỳ. Dựa trên những lý thuyết về anten
lôga - chu kỳ và thuật toán di truyền, tôi đã mô phỏng các tính toán trên bằng
phần mềm MatLab.
3.1. Các tham số tối ưu cho anten lôga - chu kỳ.
Chương trình còn tính toán tối ưu anten lôga - chu kỳ các tham số : chu kỳ
kết cấu τ , góc α , hệ số định hướng và trở kháng vào.
Các tham số khác có thể được thay đổi trong file TTDT.m. Trong file này,
nhằm mục đích nghiên cứu tôi đã đặt các tham số như sau:
- tần số lớn nhất fmax = 600 (MHz),
- tần số nhỏ nhất fmin = 400 (MHz),
- tần số hoạt động F0 = 500 (MHZ),
- số chấn tử cuat anten là 6,
- bán kính chấn tử là 0.4 (mm),
- số anten thử nghiệm (số cá thể trong quần thể) là 8
- chu kỳ kết cấu τ giới hạn giữa 0.85 0.95÷
- góc α giới hạn giữa 10 20ο ο÷ .
3.2. Các bước thực hiện tính toán.
3.2.1. Khởi tạo ngẫu nhiên quần thể gồm một số nhiễm sắc thể.
Ta khởi tạo ngẫu nhiên quần thể bằng lệnh:
Gene = round(rand(row,cell));
Trong đó Gene là một ma trận ngẫu nhiên gồm các bit nhị phân có row
hàng, và cell cột. Mỗi hàng là một nhiễm sắc thể đại diện cho một cá thể trong
quần thể.
Lưu Thị Hoa Linh 30
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
3.2.2. Thực hiện mã hóa các tham số của từng anten.
Vì bài toán tối ưu anten lôga - chu kỳ có hai tham số là chu kỳ kết cấu τ ,
góc α nên số gen trong mỗi nhiễm sắc thể là 2. Mỗi tham số được mã hóa bằng
một chuỗi nhị phân tương ứng với một đoạn gen trong nhiễm sắc thể, với nhiễm
sắc thể thứ ic thì công việc này được thực hiện qua các lệnh
cost = Gene(ic,:);
for jb = 1:No_bit
ckkc(1,jb) = cost(1,jb);
goc_d(1,jb) = cost(1,jb+No_bit);
end
3.2.3. Giải mã các gen sang dạng thập phân và tính theo giới hạn.
Ta giải mã các gen sang dạng thập phân bằng hàm decode trong file
decode.m
function deco = decode(g_in,No_bit)
deco = 0;
for ic = 1:No_bit
deco = deco+g_in(1,ik)*2^(No_bit-ic);
end
Tham số vào là g_in cần được giải mã, No_bit là số bit mã hóa.
Các tham số sau khi được giải mã sang dạng thập phân thì cần được tính
dựa trên giới hạn ban đầu của chương trình:
chuky = a0+chuky*(b0-a0)/(2^No_bit);
alpha = a1+alpha*(b1-a1)/(2^No_bit);
Lưu Thị Hoa Linh 31
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
3.2.4. Thực hiện tính toán mỗi thiết kế anten.
Việc tính toán hàm mục tiêu được thực hiện trên file loga.m dựa vào hai
tham số τ và α vừa tìm được để tìm hàm mục tiêu của chúng theo các bước sau:
Bước 1: Tính chiều dài các chấn tử theo chu kỳ, góc và chiều dài của chấn
tử lớn nhất.
L(so_chan_tu) = lmax;
for n = so_chan_tu-1:-1:1
L(n) = L(n+1)*chky;
end
Bước 2: Tính tọa độ của mỗi chấn tử (tọa độ chính là khoảng cách giữa một
chấn tử nào đó với chấn tử đầu tiên). Tính khoảng cách giữa mỗi chấn tử. Khoảng
cách này dùng cho việc tính trở kháng tương hỗ.
x(1) = (L(1)/2)/tan(alfa);
for n = 2:so_chan_tu
x(n) = x(n-1)/chky;
end
for n = 1:so_chan_tu
for m = 1:so_chan_tu
if n ~ = m
k_cach(n,m) = abs(x(n)-x(m));
else k_cach(n,m) = 0;
end
end
end
Lưu Thị Hoa Linh 32
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Bước 3: Tính các dẫn nạp, trở kháng riêng, trở kháng tương hỗ của các
chấn tử theo các hàm DanNap(n, m ,k), trk_rieng(bk, L(n)) và trk_th(L(n), L(m),
k_cach(n,m)). Sau đó thế các giá trị này vào ma trận để tính các hệ số của ma trận.
Từ (1.10) và (1.11) ta thấy:
1 1 2
1
1 2( )
( j = 1,2 ; i,k = 1,2,...N)
k k k
j j k j k
i i
i
I y V y V
I I I
−
+
= +
= − +
Thay vào (1.12) chúng ta có :
1
1
1 2
1
1 1
11 12 1 21 1 22
1
( )
( )
N
ij j i
j
N
j j
ij i
j
N
j j j j
ij j j j j i
Z I V
Z I I V
Z y V y V y V y V V
i
=
+
=
+ +
+ −
=
=
− + =
− + + +
∑
∑
∑ =
jy
Các hệ số của ma trận bậc N mới sẽ có các hệ số là:
1 1
1 12 11 22 1 21
1
1 21 0
( )
. .
( i,j = 1,2,...,N)
j j j
ij ij ij ij ij
i i
a Z y Z y y Z
b Z y V
δ + +− += + + + +
=
Trong đó: 0 1 0i iNZ Z += =
1 0Nijy
+ =
Chương trình tính toán này sẽ được nêu trong phần phụ lục.
Bước 4: Tính trở kháng đầu vào ở dạng phức:
trovao = v(1) / dong(1);
Bước 5: Tính hệ số định hướng theo công thức (1.15), (1.16) và (1.17) qua
hàm bf_hfh (goc1, goc2) được nêu trong phần phụ lục.
Lưu Thị Hoa Linh 33
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
3.2.5. Loại bỏ những nhiễm sắc thể không thỏa mãn theo tiêu chí đặt ra.
Ta đặt ra tiêu chí là hàm mục tiêu phải lớn nên sẽ loại bỏ những nhiễm sắc
thể có hàm mục tiêu thấp nhất. Xếp hạng các nhiễm sắc thể theo hàm mục tiêu
tăng dần và loại bỏ 50%.
muctieu = - muctieu ;
[muctieu,ind] = sort(muctieu);
Gene = Gene(ind(1:round(row/2)),:);
3.2.6. Sử dụng các toán tử di truyền.
Chọn ngẫu nhiên điểm tương giao chéo và thay đổi các bit để tạo ra thế hệ
con mới (như lý thuyết phần 2.2.7) bằng các lệnh:
cross = ceil((cell-1)*rand(round(row/2),1));
for ic = 1:2:(round(round(row/2)))
Gene(round(row/2)+ic,1:cross) = Gene(ic,1:cross);
Gene(round(row/2)+ic,cross+1:cell) = Gene(ic+1,cross+1:cell);
Gene(round(row/2)+ic+1,1:cross) = Gene(ic+1,1:cross);
Gene(round(row/2)+ic+1,cross+1:cell) = Gene(ic,cross+1:cell);
end
3.2.7. Kiểm tra điều kiện dừng.
Nếu chưa đến vòng lặp cuối sử dụng toán tử biến dị để tạo ra biến dị ngẫu
nhiên trong quần thể. Ngược lại, tại vòng lặp cuối thì không thực hiện biến dị, lúc
này các nhiễm sắc thể đã gần như giống nhau, ta lấy nhiễm sắc thể đầu tiên để
giải mã, sau đó kết thúc quá trình tính toán và hiện kết quả ra màn hình Command
Window của phần mềm Matlab (bao gồm chu kỳ kết cấu, góc, hệ số định hướng,
và hàm mục tiêu).
Lưu Thị Hoa Linh 34
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
3.3. Một số kết quả.
3.3.1. Trường hợp 1: chỉ tối ưu hệ số định hướng, không tối ưu trở kháng.
3.3.1.1 Kết quả 1.
Ngoài các tham số chung như nêu ở mục 3.1. thì trong lần tính toán này sử
dụng 10 bit mã hóa, 8 vòng chạy. Ta thu được kết quả sau:
Bảng 1: sử dụng 10 bit mã hoá, 8 vòng chạy, không tối ưu phần thực trở kháng
Chu kỳ kết cấu (chuky) 0.8707
Góc (alpha) o12.6647
Hệ số định hướng (hsdh) 3.7520 dBi
Thời gian chạy chương trình khoảng 6 phút.
3.3.1.2 Kết quả 2.
Lần tính toán này sử dụng 10 bit mã hóa, tăng số vòng chạy lên 10.
Bảng 2: sử dụng 10 bit mã hoá, 10 vòng chạy, không tối ưu phần thực trở kháng
Chu kỳ kết cấu (chuky) 0.8911
Góc (alpha) o12.5290
Hệ số định hướng (hsdh) 3.8014 dBi
Nhận xét: So với kết quả đầu tiên thì hệ số định hướng tăng, chu kỳ kết cấu tăng,
nhưng vẫn nhỏ hơn trong kết quả 2. Vì tăng số vòng lặp nên thời gian tính toán
cũng lâu hơn, khoảng 7.5 phút.
Lưu Thị Hoa Linh 35
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
3.3.1.3 Kết quả 3.
Lần này ta tăng số bit mã hóa lên 12, và cho chạy chương trình 10 vòng.
Bảng 3: sử dụng 12 bit mã hoá, 10 vòng chạy, không tối ưu phần thực trở kháng
Chu kỳ kết cấu (chuky) 0.9013
Góc (alpha) o11.5152
Hệ số định hướng (hsdh) 3.9244 dBi
Nhận xét: Chương trình chạy lâu hơn, khoảng 9 phút tuy nhiên cho ta dết quả tốt
hơn, hệ số định hướng cao hơn 2 kết quả ở trên.
3.3.2. Trường hợp 2: Tối ưu hệ số định hướng với hệ số là 30, đồng thời tối ưu
phần thực của trở kháng.
3.3.2.1 Kết quả 4.
Vẫn giữ nguyên số bit mã hóa và số vòng chạy. Mục đích tối ưu là tối ưu
hệ số định hướng với hệ số là 30, có tối ưu phần thực của trở kháng.
Bảng 4: sử dụng 10 bit mã hoá, 8 vòng chạy, có tối ưu phần thực trở kháng
Chu kỳ kết cấu (chuky) 0.9305
Góc (alpha) o12.6258
Hệ số định hướng (hsdh) 3.6957 dBi
Phần thực trở kháng vào (real(trovao)) 33.1995 Ω
Nhận xét: Khi giữ nguyên số vòng chạy, số bit mã hóa (so với kết quả 1), thêm tối
ưu hóa phần thực của trở kháng vào thì hệ số định hướng có giảm đi một chút.
Phần thực của trở kháng vẫn còn khác khá nhiều so với 75Ω .
Lưu Thị Hoa Linh 36
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
3.3.2.2 Kết quả 5.
Lần tính toán này sử dụng 10 bit mã hóa, 10 vòng chạy.
Bảng 5: sử dụng 10 bit mã hoá, 10 vòng chạy, có tối ưu phần thực trở kháng
Chu kỳ kết cấu (chuky) 0.9391
Góc (alpha) o12.2016
Hệ số định hướng (hsdh) 3.7357 dBi
Phần thực trở kháng vào (real(trovao)) 48.2741Ω
Nhận xét: Trường hợp này thời gian tính toán dài hơn, phần thực của trở kháng
gần với hơn, hệ số định hướng cũng cao hơn trường hợp trên. 75Ω
3.3.2.3 Kết quả 6.
Trong lần tính toán này sử dụng 12 bit mã hóa, 10 vòng chạy.
Bảng 6: sử dụng 12 bit mã hoá, 10 vòng chạy, có tối ưu phần thực trở kháng
Chu kỳ kết cấu (chuky) 0.9413
Góc (alpha) o11.1235
Hệ số định hướng (hsdh) 3.8652 dBi
Phần thực trở kháng vào (real(trovao)) 72.6374Ω
Nhận xét: Trường hợp này công việc tính toán diễn ra lâu nhất, nhưng lại cho ra
kết quả chính xác nhất chu kỳ kết cấu gần với giới hạn trên 0.95, góc gần với giới
hạn dưới 10 , phần thực của trở kháng gần với o 75Ω .
3.4. Nhận xét tổng quát các kết quả đạt được.
Phương pháp sử dụng thuật toán di truyền mang tính ngẫu nhiên rất lớn do
việc tạo ra một quần thể ngẫu nhiên ngay từ thế hệ đầu và việc chọn điểm biến dị
Lưu Thị Hoa Linh 37
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
trong các thế hệ con tiếp theo cũng dược thực hiện một cách ngẫu nhiên. Do đó
thuật toán di truyền chậm hơn các phương pháp tối ưu cục bộ khác.
Thông thường khi các tham số đầu vào là không thay đổi thì qua những lần
mô phỏng khác nhau, kết quả bài toán thu được là khác nhau. Với mỗi bài toán
đặt ra thường thì ta phải chạy chương trính tính toán nhiều lần thì mới có thể tìm
được kết quả tốt nhất.
Qua các ví dụ trên ta có thể đi đến một số nhận xét như sau:
- Số bit biểu diễn một tham số và số vòng lặp: khi mã hóa với số bit
càng lớn hoặc đặt số vòng lặp lớn thì độ chính xác càng cao nhưng tốc độ hội tụ
chậm và thời gian tính toán sẽ càng cao.
- Có nhiều cách để chọn lọc nững cá thể phù hợp với tiêu chí đạt ra.
Trong khoá luận sự chọn lọc được thực hiện bằng cách sắp xếp giá trị của hàm
mục tiêu từ lớn tới nhỏ và loại bỏ đi 50% các cá thể có hàm mục tiêu thấp nhất.
- Sự hội tụ của thuật toán: Việc xác định khi nào bài toán tối ưu là rất
khó vì không thể điều khiển dừng thuật toán trong khi nó đang chạy. Thuật toán di
truyền làm cho các nhiễm sắc thể sau vòng lặp cuối cùng trở nên khá giống nhau
trừ những gen bị biến dị. Tùy theo từng tình huống cụ thể thì sự hội tụ có thể
nhanh hay chậm. Khi bài toán gặp khó khăn trong hội tụ thì có một số cách giải
quyết sau: tăng số lượng nhiễm sắc thể, tăng số lần biến dị hoặc thêm vào một số
tham số mà bạn biết từ bản chất vật lý của bài toán…
3.5. Đánh giá kết quả và hướng phát triển.
Phương pháp sử dung thuật toán di truyền là một phương pháp khó, và có
thể áp dụng cho nhiều bài toán tối ưu các loại anten khác nhau. Nhưng trong thời
gian ngắn tôi đã đạt được một số kết quả sau: Nêu ra cơ sở lý thuyết cho việc chế
tạo anten lôga – chu kỳ; lý thuyết về thuật toán di truyền và phương pháp áp dụng
cho việc thiết kế anten; và nghiên cứu việc áp dụng thuật toán di truyền cho bài
toán tối ưu thiết kế anten lôga- chu kỳ.
Trong thời gian nghiên cứu tiếp theo tôi sẽ có thể hoàn thiện tốt hơn phần
mềm tối ưu cho các loại anten thường được sử dụng trong thực tế nhằm chế tạo ra
những anten chất lượng tốt. Đồng thời chế tạo ra mẫu anten đã tối ưu theo thuật
toán, kiểm nghiệm và đo đạc mẫu để chứng minh thuật toán.
Lưu Thị Hoa Linh 38
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Tài liệu tham khảo
[1]. Phan Anh, Lý thuyết và kỹ thuật anten, Nhà xuất bản Khoa Học Kỹ Thuật
[2]. Nguyễn Hoàng Hải, Nguyễn Khắc Kiểm, Lập trình MatLab, NXB Khoa học
kỹ thuật, 2003.
[3]. A.Brindle, Genetic algorithms for function optimization, Doctoral
dissestation, Univ.Alberta, Edmonton, Canada, 1981.
[4]. Eric A.Jones, William T.joines, Design of Yagi-Uda antennas using genetic
algorithms, IEEE transaction on antennas and propagation, Vol.45, No.9,
September 1997.
[5]. Randy L.Haupt, An introduction to Genetic Algorithms for Electromagnetics,
IEEE antennas and propagation, Vol.37, No.2, April 1995.
Lưu Thị Hoa Linh 39
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
PHỤ LỤC
MÃ NGUỒN CÁC CHƯƠNG TRÌNH
%-----------------------------------------------------------------------------------------------
% Chương trình chính tính toán TTDT.
%-----------------------------------------------------------------------------------------------
global k0 so_chan_tu last lmax chuky alpha hsdh trovao
clc;
disp(‘ THIET KE ANTEN LOGA – CHU KY ’)
% doi tan so ra dang Hz
fmax=600*1e+6; %Hoặc nhập tay fmax=input('Tan so lon nhat (MHz):')
fmin=400*1e+6; %Hoặc nhập tay fmin = input('Tan so nho nhat (MHz):')
F0 = 500*1e+6; %input('Nhap tan so hoat dong giua fmax va fmin(MHz):');
last = 10; %input('Nhap so vong chay: ');
lamda = 3e+8/F0; %Bước sóng hoạt động
k0 = 2*pi/lamda;
so_chan_tu = 6;
lmax = 3e+8/(2*fmin);
No_bit = 10; %input(‘so bit ma hoa: ’);
row = 8; %số anten thử nghiệm
% Những giới hạn của các tham số anten
a0 = 0.85;
b0 = 0.95;
a1 = 10*pi/180; %alpha min = 10 o
b1 = 20*pi/180; %alpha max = 20o
gen = 2; %số gen trong 1 nhiễm sắc thể
cell = gen*No_bit; %Kích thước nhiễm sắc thể
muctieu = [];
Lưu Thị Hoa Linh 40
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Gene = round(rand(row,cell));
for ib = 1:last
disp(‘ vong lap thu ’)
ib
for ic = 1:row
cost = Gene(ic,:);
for jb = 1:No_bit
ckkc(1,jb) = cost(1,jb);
goc_d(1,jb) = cost(1,jb+No_bit);
end
%giải mã
chuky = decode(ckkc,No_bit);
alpha = decode(goc_d,No_bit);
%giới hạn các tham số
chuky = a0+chuky*(b0-a0)/(2^No_bit);
alpha = a1+alpha*(b1-a1)/(2^No_bit);
%tính hàm mục tiêu
muctieu(ic,1) = loga(chuky,alpha);
end
muctieu = -muctieu;
[muctieu,ind] = sort(muctieu);
Gene = Gene(ind(1:round(row/2)),:);
%lai ghép
cross = ceil((cell-1)*rand(round(row/2),1));
for ic = 1:2:(round(round(row/2)))
Gene(round(row/2)+ic,1:cross) = Gene(ic,1:cross);
Gene(round(row/2)+ic,cross+1:cell) = Gene(ic+1,cross+1:cell);
Lưu Thị Hoa Linh 41
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Gene(round(row/2)+ic+1,1:cross) = Gene(ic+1,1:cross);
Gene(round(row/2)+ic+1,cross+1:cell) = Gene(ic,cross+1:cell);
end
if ib ~ = last
%biến dị
ix = ceil(row*rand);
iy = ceil(cell*rand);
Gene(ix,iy) = 1-Gene(ix,iy);
else
% vòng lặp cuối thì không biến dị, cho in các giá trị
cuoicung = Gene(1,:);
for jb = 1:No_bit
ck_cuoicung(1,jb) = cuoicung(1,jb);
goc_cuoicung(1,jb) = cuoicung(1,jb+No_bit);
end
chuky = decode(ck_cuoicung,No_bit);
alpha = decode(goc_cuoicung,No_bit);
chuky = a0+chuky*(b0-a0)/(2^No_bit);
alpha = a1+alpha*(b1-a1)/(2^No_bit);
muctieu_cuoicung = loga(chuky,alpha)
chuky
alpha = alpha*180/pi % alpha tính theo độ
trovao
hsdh_dBi = 10*log10(hsdh)/1.6 % tính ra dBi
end
end
Lưu Thị Hoa Linh 42
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
%-----------------------------------------------------------------------------------------------
% Phần chương trình tính hàm object (loga.m).
%-----------------------------------------------------------------------------------------------
function out = loga(cky,anpha)
global chky alfa k_cach lmax so_chan_tu x dong L hsdh trovao
chky = cky;
alfa = anpha;
L = [];
L(so_chan_tu) = lmax; % tính chiều dài các chấn tử.
for n = so_chan_tu-1:-1:1
L(n) = L(n+1)*chky;
end
x(1) = (L(1)/2)/tan(alfa); % tính tọa độ
for n = 2:so_chan_tu
x(n) = x(n-1)/chky;
end
for n = 1:so_chan_tu
for m = 1:so_chan_tu
if n ~ = m
k_cach(n,m) = abs(x(n)-x(m));
else k_cach(n,m) = 0;
end
end
end
bk = 4e-3;
Lưu Thị Hoa Linh 43
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
% Dẫn nạp các đoạn fiđe giữa các chấn tử liên tiếp
y = zeros(2,2,so_chan_tu+1);
for k = 2:so_chan_tu+1
for n = 1:2
for m = 1:2
y(n,m,k) = DanNap(n,m,k);
end
end
end
% Trở kháng riêng và trở kháng tương hỗ.
z = zeros(so_chan_tu,so_chan_tu);
for n = 1:so_chan_tu
for m = 1:so_chan_tu+1
if m = = so_chan_tu+1
z(n,m) = 0;
elseif n = = m
z(n,m) = tk_rieng(bk,L(n));
else
z(n,m) = trk_th(L(n),L(m),k_cach(n,m));
end
end
end
% tính các hệ số của ma trận
V0 = 1;
a = zeros(so_chan_tu);
for n = 1:so_chan_tu
for m = 1:so_chan_tu
Lưu Thị Hoa Linh 44
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
thstg = z(n,m)*(y(1,1,m+1)+y(2,2,m)+y(2,1,m+1)*z(n,m+1));
if n = = m
thstg = thstg+1;
end
if m = = 1
a(n,m) = thstg;
else
a(n,m) = thstg+y(1,2,m)*z(n,m-1);
end
end
b(n) = z(n,1)*y(2,1,2)*V0;
end
%Giải hệ điện áp trên các chấn tử.
v = a\b';
% Dong dien:
v(so_chan_tu+1) = 0;
for n = 1:so_chan_tu
v_thstg = y(1,1,n+1)*v(n)+y(1,2,n+1)*v(n+1)+y(2,2,n)*v(n);
if n = = 1
dong(n) = v_thstg+y(2,1,n);
else
dong(n) = v_thstg+y(2,1,n)*v(n-1);
end
end
% Trở kháng vào của anten
trovao = v(1)/dong(1);
t1 = dblquad('bf_hfh',0,pi,0,2*pi);
Lưu Thị Hoa Linh 45
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
hsdh = 4*pi/t1;
object = 30*hsdh;%-abs(75-real(trovao));
out = object;
%-----------------------------------------------------------------------------------------------
% Tổng bình phương hai hàm phương hướng (bf_hfh.m).
%-----------------------------------------------------------------------------------------------
function out = bf_hfh(goc1,goc2)
global so_chan_tu k0 L dong x
goc1 = 0:0.15:2*pi;
tong1 = 0;
goc2 = 0:0.15:2*pi;
tong2 = 0;
for m = 1:so_chan_tu
dau = cos(m*pi);
t_g1 = (1-cos(k0*L(m)/2))./sin(k0*L(m)/2);
e_mu1 = exp(i*k0*x(m)*cos(goc1));
tong1 = tong1+dau.*dong(m).*t_g1.*e_mu1;
t_g2 = (cos((k0*L(m)/2)*sin(goc2))-cos(k0*L(m)/2))/sin(k0*L(m)/2);
e_mu2 = exp(i*k0*x(m)*cos(goc2));
tong2 = tong2+dau.*dong(m).*t_g2.*e_mu2;
end
hfh_h = abs(tong1)/abs(tong1(1));
hfh_e = abs(tong2)/abs(tong2(1));
out = (sqr(hfh_h)+sqr(hfh_e)).*sin(goc1);
Lưu Thị Hoa Linh 46
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
%-----------------------------------------------------------------------------------------------
% Trở kháng tương hỗ (trk_th.m).
%-----------------------------------------------------------------------------------------------
function out = trk_th(l01,l02,kc)
global kcach l1 l2 k0
l1 = l01;
l2 = l02;
kcach = kc;
t1 = -30*quad('ham_tk1',-l2/2,l2/2);
t2 = -30*quad('ham_tk2',-l2/2,l2/2);
out = t1+j*t2;
%-----------------------------------------------------------------------------------------------
% hai file ham_tk1.m và ham_tk2.m:
%-----------------------------------------------------------------------------------------------
function out = ham_tk1(t)
global kcach k0 l1 l2
R = sqrt(kcach^2 + t.^2);
r1 = sqrt(kcach^2 + (t+l1/2).^2);
r2 = sqrt(kcach^2 + (t-l1/2).^2);
out = (2*sin(k0*R)*cos(k0*l1/2)/R-sin(k0*r1)/r1-sin(k0*r2)/r2)*
*sin(k0*(l2/2-abs(t)))/(sin(k0*l1/2)*sin(k0*l2/2));
%-----------------------------------------------------------------------------------------------
function out = ham_tk2(t)
global kcach k0 l1 l2
R = sqrt(kcach^2 + t.^2);
r1 = sqrt(kcach^2 + (t+l1/2).^2);
r2 = sqrt(kcach^2 + (t-l1/2).^2);
Lưu Thị Hoa Linh 47
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
out = (2*cos(k0*R)*cos(k0*l1/2)/R-cos(k0*r1)/r1-cos(k0*r2)/r2)*
*sin(k0*(l2/2-abs(t)))/(sin(k0*l1/2)*sin(k0*l2/2));
%-----------------------------------------------------------------------------------------------
% Trở kháng riêng (trk_rieng.m).
%-----------------------------------------------------------------------------------------------
function out = tk_rieng(bk,l)
format long e;
global M h k0 te_ta an_pha
M = 8; %Số vòng lặp
h = 1/M;
te_ta = k0*l/2;
an_pha = 2*bk/l;
% Gán các hệ số của ma trận R (n x m)
for i = 1:M
for j = 1:M
a(i,j) = complex(R_thuc(i,j-1),R_ao(i,j-1));
end
b(i) = complex(sin(i*te_ta*h),0);
end
% Giải hệ phức
x = a\b';
he_so = complex(0,20*h);
out = he_so/x(1);
%-----------------------------------------------------------------------------------------------
% Hàm hệ số ma trận
function R_thuc = R_thuc(m,n);
global M h k0 te_ta an_pha
Lưu Thị Hoa Linh 48
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
tam1 = 0;
tam2 = 0;
for i = 0:M
tam1 = tam1+s(i)*(1/Can(i,n)+1/Can(i,-n));
tam2 = tam2+2*s(i)/Can(i,0);
end;
r1 = cos(te_ta*Can(n,-m))/Can(n,-m);
r2 = cos(te_ta*Can(n,m))/Can(n,m);
r3 = 2*cos(te_ta*m*h)*cos(te_ta*Can(n,0))/Can(n,0);
r4 = s(n)*(r1+r2-r3);
r5 = (3/h)*log(((1-n*h+sqrt(sqr(an_pha)+sqr(1-n*h)))*
*(1+n*h+sqrt(sqr(an_pha)+sqr(1+n*h))))/sqr(an_pha));
r6 = cos(te_ta*an_pha)*(r5-tam1);
r7 = cos(te_ta*an_pha)*cos(te_ta*m*h)*
*((6/h)*log((1+sqrt(1+sqr(an_pha)))/an_pha)-tam2);
if m = = n
tam = r4+r6;
else tam = r4;
end
if n = = 0
R_thuc = tam-r7;
else R_thuc = tam;
end
% phần ảo
function R_ao = R_ao(m,n);
global te_ta an_pha h
r1 = sin(te_ta*Can(n,-m))/Can(n,-m);
Lưu Thị Hoa Linh 49
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
r2 = sin(te_ta*Can(n,m))/Can(n,m);
r3 = 2*cos(te_ta*m*h)*sin(te_ta*Can(n,0))/Can(n,0);
r = s(n)*(r1+r2-r3);
R_ao = -r;
%------------------------------------------------------------------------------
function can = Can(n,m);
global h an_pha
can = sqrt(sqr(an_pha)+h*h*sqr(n+m));
%------------------------------------------------------------------------------
% Hàm trọng số Simpson
function s = s(n);
if n = = 0|n = = 8 s = 1;
elseif rem(n,2) = = 0 s = 2;
else s = 4;
end
%-----------------------------------------------------------------------------------------------
% Dẫn nạp (DanNap.m).
%-----------------------------------------------------------------------------------------------
function out = DanNap(n1,m1,kc)
global k0 so_chan_tu x k_cach
format short e;
TKS = 120*pi;
k1 = kc;
if k1 = = so_chan_tu+1
out = 0;
elseif k1 = = 1
if n1 = = m1
Lưu Thị Hoa Linh 50
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
out = coth(i*k0*x(1))/TKS;
else
out = -csch(i*k0*x(1))/TKS;
end
elseif n1 = = m1
out = coth(i*k0*k_cach(k1,k1-1))/TKS;
else
out = -csch(i*k0*k_cach(k1,k1-1))/TKS;
end
%-----------------------------------------------------------------------------------------------
Lưu Thị Hoa Linh 51
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
MỤC LỤC
CHƯƠNG 1: ANTEN LOGA – CHU KỲ ........................................................5
1.1. Dải thông tần và dải tần công tác của anten. ...........................................5
1.1.1. Dải thông tần...................................................................................................5
1.1.2. Dải tần công tác. .............................................................................................5
1.2. Phương pháp mở rộng dải tần số của anten chấn tử. ..............................6
1.2.1. Giảm nhỏ trở kháng sóng của chấn tử. ......................................................6
1.2.2. Biến đổi từ từ thiết diện của chấn tử. .........................................................7
1.2.3. Hiệu chỉnh trở kháng vào của chấn tử. ......................................................9
1.3. Mở rộng dải tần công tác theo nguyên lý tương tự. Áp dụng cho anten
lôga - chu kỳ. .......................................................................................................9
1.3.1. Nguyên lý cấu tạo của anten lôga - chu kỳ. .............................................10
1.4. Đặc điểm kết cấu anten loga chu kỳ và phương pháp tính toán ...........13
CHƯƠNG 2: THUẬT TOÁN DI TRUYỀN...................................................19
2.1. Giới thiệu về thuật toán di truyền..........................................................19
2.2. Khái quát về thuật toán di truyền và các bước tiến hành. ....................20
2.2.1. Khái quát về thuật toán di truyền .............................................................20
2.2.2. Các bước tiến hành ......................................................................................20
2.2.3. Thuật toán di truyền cho tối ưu và thiết kế anten .................................23
2.2.4. Hàm mục tiêu và tỉ lệ phù hợp...................................................................25
2.2.5. Sự chọn lọc.....................................................................................................25
2.2.6. Mô tả anten như nhiễm sắc thể..................................................................26
2.2.7. Các toán tử di truyền...................................................................................28
CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN DI TRUYỀN...........................30
3.1. Các tham số tối ưu cho anten lôga - chu kỳ. ..........................................30
3.2. Các bước thực hiện tính toán. ................................................................30
3.2.1. Khởi tạo ngẫu nhiên quần thể gồm một số nhiễm sắc thể. ...................30
3.2.2. Thực hiện mã hóa các tham số của từng anten.......................................31
3.2.3. Giải mã các gen sang dạng thập phân và tính theo giới hạn................31
3.2.4. Thực hiện tính toán mỗi thiết kế anten........................................................32
3.2.5. Loại bỏ những nhiễm sắc thể không thỏa mãn theo tiêu chí đặt ra....34
3.2.6. Sử dụng các toán tử di truyền....................................................................34
3.2.7. Kiểm tra điều kiện dừng. ............................................................................34
3.3. Một số kết quả. ........................................................................................35
3.3.1. Trường hợp 1: chỉ tối ưu hệ số định hướng, không tối ưu trở kháng. .....35
3.3.1.1 Kết quả 1.....................................................................................35
3.3.1.2 Kết quả 2.....................................................................................35
3.3.1.3 Kết quả 3.....................................................................................36
Lưu Thị Hoa Linh 52
Đại học Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
3.3.2. Trường hợp 2: Tối ưu hệ số định hướng với hệ số là 30, đồng thời tối
ưu phần thực của trở kháng. ....................................................................................36
3.3.2.1 Kết quả 4.....................................................................................36
3.3.2.2 Kết quả 5.....................................................................................37
3.3.2.3 Kết quả 6.....................................................................................37
3.4. Nhận xét tổng quát các kết quả đạt được. .............................................37
3.5. Đánh giá kết quả và hướng phát triển. ..................................................38
Tài liệu tham khảo39
PHỤ LỤC 40
% Chương trình chính tính toán TTDT...........................................................40
% Phần chương trình tính hàm object (loga.m). .............................................43
% Tổng bình phương hai hàm phương hướng (bf_hfh.m)..............................46
% Trở kháng tương hỗ (trk_th.m). ..................................................................47
% Trở kháng riêng (trk_rieng.m). ...................................................................48
% Dẫn nạp (DanNap.m). ..................................................................................50
Lưu Thị Hoa Linh 53
Các file đính kèm theo tài liệu này:
- Tối ưu thiết kế anten loga – chu kỳ bằng thuật toán di truyền.pdf