Khóa luận Tối ưu thiết kế anten loga – Chu kỳ bằng thuật toán di truyền

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.

pdf53 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2564 | Lượt tải: 2download
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:

  • pdfTối ưu thiết kế anten loga – chu kỳ bằng thuật toán di truyền.pdf