Em xin chân thành gởi lời biết ơn sâu sắc đến tất cả quý Thầy Cô Trường Đại Học Giao Thông Vận Tải Thành Phố Hồ Chí Minh và lãnh đạo Trường Cao Đẳng Nghề Quy Nhơn đã giúp đỡ em trong suốt quá trình học và thực hiện luận văn này. Đặc biệt, em xin chân thành cảm ơn Thầy PGS.TS Nguyễn Mộng Hùng và Thầy Th.S Quách Thanh Hải, những Người đã tận tình hướng dẫn và giúp đỡ em trong suốt quá trình thực hiện luận văn. Xin chân thành cảm ơn bạn bè, các đồng nghiệp, những người thân trong gia đình, đặc biệt là vợ và hai con tôi, những người luôn ở bên cạnh và động viên tôi rất nhiều trong suốt quá trình học tập và thực hiện luận văn.
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM - - - - -o0o- - - - - TRẦN HIẾU NGHĨA ỨNG DỤNG MẠNG THẦN KINH NHÂN TẠO TRONG HIỆU CHỈNH HỆ SỐ CÔNG SUẤT (PFC – POWER FACTOR CORRECTION) CHUYÊN NGÀNH : TỰ ĐỘNG HÓA MÃ SỐ : 605260 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS NGUYỄN MỘNG HÙNG Th.S QUÁCH THANH HẢI Thành Phố Hồ Chí Minh - Năm 2010 BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM - - - - -o0o- - - - - TRẦN HIẾU NGHĨA ỨNG DỤNG MẠNG THẦN KINH NHÂN TẠO TRONG HIỆU CHỈNH HỆ SỐ CÔNG SUẤT (PFC – POWER FACTOR CORRECTION) CHUYÊN NGÀNH : TỰ ĐỘNG HÓA MÃ SỐ : 605260 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS NGUYỄN MỘNG HÙNG Th.S QUÁCH THANH HẢI Thành Phố Hồ Chí Minh - Năm 2010 Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất -i- GVHD: PGS.TS Nguyễn Mộng Hùng LỜI CẢM ƠN Con xin biết ơn Cha, Mẹ nuôi dạy khôn lớn tạo điều kiện cho học tập đến ngày hôm Em xin chân thành gởi lời biết ơn sâu sắc đến tất quý Thầy Cô Trường Đại Học Giao Thông Vận Tải Thành Phố Hồ Chí Minh lãnh đạo Trường Cao Đẳng Nghề Quy Nhơn giúp đỡ em suốt trình học thực luận văn Đặc biệt, em xin chân thành cảm ơn Thầy PGS.TS Nguyễn Mộng Hùng Thầy Th.S Quách Thanh Hải, Người tận tình hướng dẫn giúp đỡ em suốt trình thực luận văn Xin chân thành cảm ơn bạn bè, đồng nghiệp, người thân gia đình, đặc biệt vợ hai tôi, người bên cạnh động viên tơi nhiều suốt q trình học tập thực luận văn TP Hồ Chí Minh, ngày 29 tháng 11 năm 2010 Trần Hiếu Nghĩa Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - ii - GVHD: PGS.TS Nguyễn Mộng Hùng LỜI CAM ĐOAN Tôi tên : Trần Hiếu Nghĩa, học viên lớp Cao học Tự Động Hóa _ TĐH05 Trường Đại Học Giao Thông Vận Tải TP.HCM Tôi xin cam đoan luận văn tự tơi nghiên cứu hướng dẫn giáo viên hướng dẫn Những phần tham khảo tơi trích dẫn từ nguồn chi tiết, cụ thể Tôi xin hứa, có vi phạm tơi xin chịu hình thức kỉ luật theo quy định hành TP Hồ Chí Minh, ngày 29 tháng 11 năm 2010 Trần Hiếu Nghĩa Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - iii - GVHD: PGS.TS Nguyễn Mộng Hùng MỤC LỤC Trang phụ bìa Lời cảm ơn - i Lời cam đoan - ii Mục lục -iii Liệt kê bảng tra - vii Liệt kê hình vẽ - viii MỞ ĐẦU CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung -4 1.2.Ý nghĩa hệ số công suất hệ thống cung cấp điện 1.3 Tác dụng điều khiển PFC 1.4 Phân tích, đánh giá 1.5 Nhiệm vụ cụ thể -6 1.6 Điểm đề tài -7 CHƯƠNG THIẾT KẾ BỘ CHỈNH LƯU HỆ SỐ CÔNG SUẤT CAO 2.1 Mạch số băm áp sử dụng PFC -8 2.1.1 Mạch Boost (Boost PFC) -8 2.1.2 Mạch Buck (Buck PFC) 2.1.3 Mạch Buck/Bootst (Buck/Boost PFC) 2.2 Xác định luật điều khiển 10 Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - iv - GVHD: PGS.TS Nguyễn Mộng Hùng 2.2.1 Mơ hình mạch Boost PFC 10 2.2.1.1 Điện áp - 10 2.2.1.2 Sự biến thiên điện áp đầu 12 2.2.1.3 Biến thiên dòng điện cuộn dây chế độ dòng liên tục 12 2.2.1.4 Hiệu suất biến đổi - 14 2.2.2 Luật điều khiển 17 2.2.2.1 Nhiệm vụ mạch điều khiển 17 2.2.2.2 Điều chỉnh dạng sóng dịng điện iL 17 2.2.2.3 Ổn định điện áp đầu 19 2.3 Tính tốn mạch động lưc - 20 2.3.1 Tính toán chọn tụ lọc 20 2.3.2 Tính tốn thiết kế cuộn kháng - 21 2.3.2.1 Lựa chọn vật liệu lõi cuộn cảm 21 2.3.2.2 Lựa chọn hình dáng lõi - 21 2.3.2.3 Tính tốn thơng số cuộn cảm 22 2.3.2 Chọn Diode van bán dẫn 26 2.3.2.1 Chọn Diode chỉnh lưu cầu 26 2.3.2.2 Chọn van bán dẫn 27 2.4 Tính tốn mạch điều khiển - 28 2.4.1 Tính tốn thơng số điều khiển - 28 2.4.2 Tính tốn mạch vịng điều khiển dòng điện 29 Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất -v- GVHD: PGS.TS Nguyễn Mộng Hùng 2.4.2.1 Tính hệ số tỉ lệ khâu bù dòng điện - 30 2.4.2.1 Tính hệ số tích phân khâu bù dịng điện - 30 2.4.3 Bộ bù sai số điện áp - 31 CHƯƠNG MẠNG NEURAL VÀ ỨNG DỤNG 33 3.1 Tổng quan 33 3.2 Khái quát mạng thần kinh nhân tạo - 33 3.2.1 Cơ sở sinh học mạng neural - 33 3.2.1 Mô hình mạng nhân tạo - 34 3.2.3 Các thành phần mạng neural nhân tạo 36 3.3 Một số mạng neural 38 3.3.1 Mạng perceptron nhiều lớp - 38 3.3.2 Mạng Hopfield - 41 3.3.3 Mạng RBF (Radial Basic Function Networks) 41 3.3.4 Mạng Kohanen - 42 3.3.5 Mạng ART (Adaptive Resonance Theory) - 42 3.4 Những đặc tính mạng neural 42 3.5 Quy trình thiết kế mạng Neural ứng dụng 43 3.6 Ứng dụng mạng hệ thống điện - 44 3.6.1 Đánh giá an toàn hệ thống 45 3.6.2 Dự báo phụ tải - 46 3.7 Kết luận - 47 CHƯƠNG MẠNG NEURAL TRONG ĐIỀU KHIỂN PFC - 48 Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - vi - GVHD: PGS.TS Nguyễn Mộng Hùng 4.1 Cơ chế hiệu chỉnh hệ số công suất dựa vào hệ neural 48 4.2 mạng perceptron nhiều lớp - 49 4.3 Tạo mẫu huấn luyện kiểm tra mạng - 53 4.4 Thiết lập cấu trúc mạng neural 54 4.4.1 Số đầu vào 54 4.4.2 Số đầu 54 4.4.3 Số lớp ẩn 54 4.4.4 Số neural lớp ẩn 54 4.4.5 Huấn luyện mạng 56 CHƯƠNG KẾT QUẢ VÀ BÀN LUẬN 59 5.1 Kết mô với phương pháp điều khiển PFC kinh điển 59 5.1.1 Sơ đồ nguyên lý mạch điện 59 5.1.2 Dạng sóng điện áp, dòng điện ngõ vào, điện áp 59 5.2 Kết mô với phương pháp điều khiển PFC dùng mạng thần kinh nhân tạo 61 5.2.1 Sơ đồ nguyên lý 61 5.2.1 Dạng sóng điện áp, dịng điện vào, điện áp - 63 5.3 Bàn luận - 65 KẾT LUẬN VÀ ĐỀ NGHỊ - 67 TÀI LIỆU THAM KHẢO - 68 PHỤ LỤC - 70 Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - vii - GVHD: PGS.TS Nguyễn Mộng Hùng LIỆT KÊ CÁC BẢNG TRA Bảng 2.1 Bảng tra chọn cuộn dây MPP - 23 Bảng 2.2 Bảng tra thông số kỹ thuật cuộn dây 55906 MPP - 24 Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - viii - GVHD: PGS.TS Nguyễn Mộng Hùng LIỆT KÊ CÁC HÌNH VẼ Hình 1.1 Dạng sóng dịng điện, điện áp -4 Hình 2.1 Sơ đồ mạch Boost Hình 2.2 Dạng són điện áp dòng điện vào Boost PFC -8 Hình 2.3 Sơ đồ mạch Buck -9 Hình 2.4 Dạng sóng dịng điện, điện áp vào Buck PFC -9 Hình 2.5 Sơ đồ mạch Buck/Boost -9 Hình 2.6 Sơ đồ mạch Boost PFC 10 Hình 2.7 Sơ đồ thay van đóng - 11 Hình 2.8 Sơ đồ tương đương van cắt - 11 Hình 2.9 Dịng điện cuộn dây chế độ dòng liên tục - 13 Hình 2.10 Sơ đồ mạch tương đương 14 Hình 2.11 Đồ thị biểu mối quan hệ hiệu suất mạch với đại lượng liên quan 16 Hình 2.12 Sự hoạt động PWM 18 Hình 2.13 Sơ đồ mạch điều khiển - 20 Hình 2.14 Đường cong độ từ thẩm MPP - 25 Hình 2.15 Hình dạng IGBT chọn - 27 Hình 2.16 Hình dạng cánh tản nhiệt cho van - 28 Hình 2.17 Kết cấu mạch vịng điều khiển dòng điện - 29 Hình 2.18 Kết cấu mạch vịng điều khiển dịng điện cần tính tốn - 29 Hình 2.19 Kết cấu bù sai số điện áp 31 Luận Văn Thạc Sĩ Kỹ Thuật HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 65 - GVHD: PGS.TS Nguyễn Mộng Hùng Hình 5.18 Dạng sóng điện áp, dịng điện ngõ vào điện áp ngõ cho trường hợp điện áp ngõ vào 240V 5.3 Bàn luận - Qua kết mô cho thấy, điện áp ngõ ổn định 400V (sai lệch ±10V) Điện áp ngõ vào dòng điện ngõ vào đồng pha nhau, hay hệ số công suất đạt Điện áp đầu có thời gian độ nhỏ độ điều chỉnh thấp - Các phương pháp từ điều khiển kinh điển đến phương pháp điều khiển đại phương pháp điều khiển dùng mạng neural đáp ứng yêu cầu kỹ thuật đề Tuy nhiên có số yêu cầu thay đổi : Giới hạn điện áp ngõ vào thay đổi vượt giới hạn tính tốn, phương pháp điều khiển kinh điển phải tính tốn lại hồn tồn Cịn phương pháp điều khiển dùng mạng neural xác định thêm số tập mẫu cập nhật cho mạng cho mạng học lại đáp ứng Khi yêu cầu tải tăng, phương pháp điều khiển kinh điển phải tính tốn lại từ đầu, dùng phương pháp điều khiển dùng mạng Kết Quả Và Bàn Luận HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 66 - GVHD: PGS.TS Nguyễn Mộng Hùng neural cần tính tốn lại mạch động lực Trong phương pháp điều khiển kinh điển, tín hiệu điều khiển qua nhiều khâu, thời gian đáp ứng chậm hơn, cịn dùng phương pháp điều khiển mạng neural tín hiệu điều khiển qua lớp, thời gian đáp ứng nhanh Trong phương pháp điều khiển kinh điển thơng số tính tốn qua nhiều khâu, nên thực điều chỉnh phức tập, cịn phương pháp điều khiển dùng mạng neural tín hiệu dạng số hóa nên việc thực điều chỉnh dễ dàng Phương án thực thi điều khiển phương pháp điều khiển kinh điển đòi hỏi người thi công tốn nhiều công sức khâu lắp ráp mạch, phương pháp điều khiển kinh điển địi hỏi người thi cơng phải có khả lập trình Về giá thành sản phẩm phương pháp gần tương đương - Phương pháp điều khiển mạng neural có ưu điểm hẳn phương pháp khác : Là phương pháp điều khiển đại Đơn giản cấu trúc liên hệ biến đầu vào, kết đầu Tính ổn định cao, bền với thời gian Dễ dàng việc hiệu chỉnh để đạt thông số mong muốn việc xử lý tín hiệu, xuất tín hiệu điều khiển lập trình phần mềm Cơng cụ mơ đa dạng giúp người chế tạo có nhìn trực quan trước hoàn thiện sản phẩm Dễ dàng kết nối với thiết bị ngoại vi khác để tích hợp tính cho điều khiển Kết Quả Và Bàn Luận HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 67 - GVHD: PGS.TS Nguyễn Mộng Hùng KẾT LUẬN VÀ ĐỀ NGHỊ TỪ nội dung phân tích kết đạt có hể rút số kết luận : Có thể nâng cao hệ số cơng suất chuyển đổi AC/DC 1pha Có nhiều phương án để hiệu chỉnh hệ số công suất chuyển đổi AC/DC pha Trong bậc phương pháp sử dụng mạng neural Cấu hình mạng phù hợp cần lớp neural ẩn với số neural xác định chương trình (NUMHIDEN4K.m) Việc huấn luyện mạng tập trung vào cải tiến việc xếp mẫu lựa chọn số lần học cho phù hợp để tăng tốc độ học tăng tốc độ xác Các kết nghiên cứu nêu giải vấn đề về mặt lý thuyết ứng dụng, làm sở cho nghiên cứu mức cao Nếu có điều kiện thời gian, vấn đề cần phải giải để phát triển đề tài : Nghiên cứu xếp mẫu cho phù hợp, lựa chọn mẫu đặc trưng để nâng cao tốc độ học Tăng cường thời gian huấn luyện mạng nhiều Phối hợp hệ chuyên gia logic mờ mạng neural để nâng cao khả điều khiển Có thể phối hợp hệ SCADA mạng để hệ thống xác định mẫu từ phục vụ cho trình tự học mạng Kết Luận Và Đề Nghị HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 68 - GVHD: PGS.TS Nguyễn Mộng Hùng TÀ I LIỆU THAM KHẢO [1] Châu Kim Lang, “ Phương pháp nghiên cứu khoa học”, ĐH SPKT Tp HCM, 1989 [2] Huỳnh Thái Hồng, “Hệ thống điều khiển thơng minh”, NXB ĐH Quốc Gia Tp.HCM, 2006 [3] Nguyễn Văn Nhờ, “ Giáo trình điện tử cơng suất”, NXB ĐH Quốc Gia Tp.HCM, 2002 [4] Nguyễn Thị Phương Hà, “Lý thuyết điều khiển đại”, ĐH Bách Khoa Tp.HCM, 2006 [5] Nguyễn Phùng Quang, “ Matlap & Simulink”, NXB Khoa Học-Kỹ Thuật, 2006 [6] Nguyễn Đình Thúc, “Trí tuệ mạng nhân tạo phương pháp ứng dụng”, NXB Khoa Học-Kỹ Thuật, 2007 [7] Trầ n Văn Thinh, ̣ “Điện tử công suất 1, 2”, ĐH BKHN, 2009 [8] Trầ n Văn Thinh, ̣ “Tự đô ̣ng hóa điề u khiể n thiế t bi ̣ điện”, ĐH BKHN, 2006 [9] Luận án cao học nghiên cứu mạng neural nhận dạng điều khiển chế độ làm việc trạm biến áp 110/15-22KV – Nguyễn Quang Bảo [10] Luận án cao học ứng dụng mạng neural đánh giá chế độ ổn định hệ thống điện – Nguyễn Ngọc Phúc Diễm [11] Luận án cao học ứng dụng mạng neural đánh giá trạng thái hệ thống điện – Võ Thành Năng [12] Hei Wah Chan, “ Investigation of Neural network in power factor correction of AC/DC Switching converters”, M.S Thesis, Department of electrical Engineering,University of Akron, August 1997 Tài Liệu Tham Khảo HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 69 - GVHD: PGS.TS Nguyễn Mộng Hùng [13] C Silva, “power factor correction with the UC 3854”, Application Notes, Unitrode Integrated Circuits [14] Daniel Eggert, “Neural Network Control”, Technical University of Denmark, Feb 2003 [15] Handbook, “Power Factor Correction”, Technical Information Center at 800-282-9855 or www.onsemi.com/tech-support Aug-2004 [16] J Spangler and Anup Behera, “A comparition between hysteretic and fix frequency boost converters used for power factor correction”, IEEE PESC, pp 281-286, 1993 [17] Liu and Y.Lin, “Current waveform distortion in power factor correction curcuits employing discontinuous mode boost converters”, IEEE PESC, pp.825-829, 1989 [18] Milanovic, “Single phase unity power factor correction circuits with coupled inductance”, IEEE PESC, pp 1079-1082, 1992 [19] K Mathews, “Single IC power facto – corrected off-line supply”, EDN Magazine, december 5, 1996 [20] IEC 1000-3-2 First Edition, 1995 Tài Liệu Tham Khảo HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 70 - GVHD: PGS.TS Nguyễn Mộng Hùng PHỤ LỤC PHỤ LỤC function opendata % OPEN FILE DATA SET PROGRAM % clear; clc; nntwarn off; %=================== %Input and output % name and directory of data set for training fid=fopen('C:\Program Files\MATLAB\R2007a\work\4in\nghia4.txt','rt'); TPT = fscanf(fid,'%f',[6 inf]); fclose('all'); %matric are used PT,T and temp D DPT=TPT'; T=(DPT(:,2:6)); %chi lay cot thu den thu 5, cot 2:5 la nguon, la dich PT=T'; %voi matran T cot thu den thu la nguon, la dich d=T; disp(T); disp(' Completed '); Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 71 - GVHD: PGS.TS Nguyễn Mộng Hùng PHỤ LỤC %TEST THE NERURON NETWORK %======================== %disp('TESTING THE TRAINED NEURAL NETWORK'); load('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); %Load the test data fid=fopen('C:\Program Files\MATLAB\R2007a\work\4in\nghia4.txt','rt'); TPT1 = fscanf(fid,'%f',[6 inf]); fclose('all'); %matric are used PT,T and temp D DPT1=TPT1'; T1=(DPT1(2000:3000,2:6)); %chi lay cot thu den thu cot 2:5 la nguon, la dich PT1=T1'; disp(T1); disp(' opendata is completed '); %Simulation disp('Neural network output'); Y1 = sim(net,PT1(1:4,:)) Y2=T1(:,5); plot (Y2', 'DisplayName', 'Y2', 'YDataSource', 'Y2'); figure(gcf) pause(10); clc; plot (Y1,'DisplayName', 'Y1', 'YDataSource', 'Y1'); figure(gcf) Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 72 - GVHD: PGS.TS Nguyễn Mộng Hùng PHỤ LỤC function numhiden % PROCEESSING DATA SET FOR TRAINING PROGRAM % OPEN FILE DATA SET PROGRAM clear; clc; nntwarn off; %=================== %Input and output % name and directory of data set for training fid=fopen('C:\Program Files\MATLAB\R2007a\work\4in\nghia4.txt','rt'); TPT = fscanf(fid,'%f',[6 500]); fclose('all'); %matric are used PT,T and temp D DPT=TPT'; T=(DPT(:,2:6)); %chi lay cot thu den thu cot 2:5 la nguon, la dich PT=T'; d=T; disp(T); disp(' Completed '); %opendata_phuluc1; % NUMBER OF HIDDEN REURAL DEFINITE PROGRAM %BACKPROPAGATION NEURAL NETWORK %WITH INPUTS, OUTPUTS %============================================ % PROBLEM DEFINITION %=================== %Input and output % CREATE A NEURAL NETWORK IN A PRE-DEFINE STRUCTURE %================================================== % NEWFF(PR,[S1 S2 SNl],{TF1 TF2 TFNl},BTF,BLF,PF) takes, % PR - Rx2 matrix of and max values for R input elements % Si - Size of ith layer, for Nl layers % TFi - Transfer function of ith layer, default = 'tansig' % BTF - Backprop network training function, default = 'trainlm' % BLF - Backprop weight/bias learning function, default = 'learngdm' % PF - Performance function, default = 'mse' % The max and values of input elements, co the lay PR = minmax(P) [R,Q] = size(PT(1:4,:)); [S2,Q] = size(PT(5,:)); PR = zeros(R,2); PR(:,:)=minmax(PT(1:4,:)); % Number of neurons in hidden layer and output layer disp('Start search with number neurons of hidden layer is'); S1 = input('S1 = '); % Transfer function for layers: TANSIG, LOGSIG,HARDLIM or PURELIN TF1 = 'tansig'; TF2 = 'logsig'; % Procedure of training: TRAINLM, TRAINBFG, TRAINRP, TRAINGD, TRAINBR % TRAINCGB TRAINCGF TRAINCGP TRAINGDA TRAINGDM TRAINGDX TRAINOSS TRAINRP % TRAINSCG TRAIN or TRAINWB BTF = 'trainlm'; % Backprop weight/bias learning function: LEARNGD, or LEARNGDM Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 73 - GVHD: PGS.TS Nguyễn Mộng Hùng BLF = 'LEARNGDM'; % Performance function: MSE or MSEREG PF = 'MSE'; tam=1; b=3 %moi them disp('The error of the goal (0.04)'); goal = input('net.trainParam.goal = '); while tam>goal % The new neural network is created %net = newff(PR,[R S1 S2],{TF1 TF2},BTF,BLF,PF); net = newff(PR,[S1 S2],{TF1 TF2},BTF,BLF,PF); % TRAIN THE NETWORK %================== % Training parameters % For each training method the default parameters should be seen by train***('pdefaults') net.trainParam.show = 10; net.trainParam.epochs = 200; net.trainParam.min_grad = 1e-6; net.trainParam.max_fail = 5; net.trainParam.mc=0.9; net.trainParam.lr=0.003; net.trainParam.goal = goal; if (prod(size(net.trainParam.goal))==0) net.trainParam.goal = 0.04; end % Training progress % TRAINING RECORD %NET - Trained network % TR - Training record of various values over each epoch: % TR.epoch - Epoch number % TR.perf - Training performance % TR.vperf - Validation performance % TR.tperf - Test performance % TR.mu - Adaptive mu value tic; [net,tr] = train(net,PT(1:4,:),PT(5,:)); toc %SAVE THE NET %============ save('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); % check stop condition disp('Neural network output'); Y = sim(net,PT(1:4,:)) disp('Required output'); T(:,5) Y' disp('Error'); err = T(:,5)-Y' tam=mse(err) %clc if tam>goal S1=S1+1 end end disp('number neural in hidden layer is:') S1 load('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); net.trainParam.show = 10; Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 74 - GVHD: PGS.TS Nguyễn Mộng Hùng net.trainParam.epochs = 2000; net.trainParam.min_grad = 1e-6; net.trainParam.max_fail = 5; net.trainParam.mc=0.9; net.trainParam.lr=0.003; net.trainParam.goal = 0.02; % Training progress % TRAINING RECORD % NET - Trained network % TR - Training record of various values over each epoch: % TR.epoch - Epoch number % TR.perf - Training performance % TR.vperf - Validation performance % TR.tperf - Test performance % TR.mu - Adaptive mu value [net,tr] = train(net,PT(1:4,:),PT(5,:)); save('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); load('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); gensim(net); Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 75 - GVHD: PGS.TS Nguyễn Mộng Hùng PHỤ LỤC function numnghia % PROCEESSING DATA SET FOR TRAINING PROGRAM clear; clc; nntwarn off; %=================== %Input and output % name and directory of data set for training fid=fopen('C:\Program Files\MATLAB\R2007a\work\4in\nghia4.txt','rt'); TPT = fscanf(fid,'%f',[6 inf]); fclose('all'); %matric are used PT,T and temp D DPT=TPT'; T=(DPT(:,2:6)); %chi lay cot thu den thu cot 2:4 la nguon, la dich PT=T'; d=T; disp(T); disp(' Completed '); %opendata_phuluc5; % NUMBER OF HIDDEN REURAL DEFINITE PROGRAM % %BACKPROPAGATION NEURAL NETWORK %WITH INPUTS, OUTPUTS %============================================ % PROBLEM DEFINITION %=================== %Input and output % CREATE A NEURAL NETWORK IN A PRE-DEFINE STRUCTURE %================================================== % NEWFF(PR,[S1 S2 SNl],{TF1 TF2 TFNl},BTF,BLF,PF) takes, % PR - Rx2 matrix of and max values for R input elements % Si - Size of ith layer, for Nl layers % TFi - Transfer function of ith layer, default = 'tansig' % BTF - Backprop network training function, default = 'trainlm' % BLF - Backprop weight/bias learning function, default = 'learngdm' % PF - Performance function, default = 'mse' % The max and values of input elements, co the lay PR = minmax(P) [R,Q] = size(PT(1:4,:)); [S2,Q] = size(PT(5,:)); PR = zeros(R,2); PR(:,:)=minmax(PT(1:4,:)); % Number of neurons in hidden layer and output layer disp('Start search with number neurons of hidden layer is'); S1 = input('S1 = '); % Transfer function for layers: TANSIG, LOGSIG,HARDLIM or PURELIN TF1 = 'tansig'; TF2 = 'logsig'; % Procedure of training: TRAINLM, TRAINBFG, TRAINRP, TRAINGD, TRAINBR % TRAINCGB TRAINCGF TRAINCGP TRAINGDA TRAINGDM TRAINGDX TRAINOSS TRAINRP % TRAINSCG TRAIN or TRAINWB BTF = 'trainlm'; % Backprop weight/bias learning function: LEARNGD, or LEARNGDM BLF = 'LEARNGDM'; Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 76 - GVHD: PGS.TS Nguyễn Mộng Hùng % Performance function: MSE or MSEREG PF = 'MSE'; tam=1; b=3 %moi them disp('The error of the goal (0.04)'); goal = input('net.trainParam.goal = '); %while tam>goal % The new neural network is created %net = newff(PR,[R S1 S2],{TF1 TF2},BTF,BLF,PF); net = newff(PR,[S1 S2],{TF1 TF2},BTF,BLF,PF); % TRAIN THE NETWORK %================== % Training parameters % For each training method the default parameters should be seen by train***('pdefaults') net.trainParam.show = 10; net.trainParam.epochs = 100; net.trainParam.min_grad = 1e-6; net.trainParam.max_fail = 5; net.trainParam.mc=0.95; net.trainParam.lr=0.0003; net.trainParam.goal = goal; if (prod(size(net.trainParam.goal))==0) net.trainParam.goal = 0.15; end % Training progress % TRAINING RECORD %NET - Trained network % TR - Training record of various values over each epoch: % TR.epoch - Epoch number % TR.perf - Training performance % TR.vperf - Validation performance % TR.tperf - Test performance % TR.mu - Adaptive mu value tic; [net,tr] = train(net,PT(1:4,:),PT(5,:)); toc %SAVE THE NET %============ save('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); % check stop condition disp('Neural network output'); Y = sim(net,PT(1:4,:)) disp('Required output'); T(:,5) Y' disp('Error'); err = T(:,5)-Y' tam=mse(err) %clc % if tam>goal % S1=S1+1 % end %end disp('number neural in hidden layer is:') S1 load('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); net.trainParam.show = 10; net.trainParam.epochs = 200; Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 77 - GVHD: PGS.TS Nguyễn Mộng Hùng net.trainParam.min_grad = 1e-6; net.trainParam.max_fail = 5; net.trainParam.mc=0.9; net.trainParam.lr=0.003; net.trainParam.goal = 0.12; % Training progress % TRAINING RECORD % NET - Trained network % TR - Training record of various values over each epoch: % TR.epoch - Epoch number % TR.perf - Training performance % TR.vperf - Validation performance % TR.tperf - Test performance % TR.mu - Adaptive mu value [net,tr] = train(net,PT(1:4,:),PT(5,:)); save('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); load('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); gensim(net); Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất - 78 - GVHD: PGS.TS Nguyễn Mộng Hùng PHỤ LỤC function train4 % PROCEESSING DATA SET FOR TRAINING PROGRAM % clear; clc; nntwarn off; %=================== %Input and output % name and directory of data set for training fid=fopen('C:\Program Files\MATLAB\R2007a\work\4in\nghia4.txt','rt'); TPT = fscanf(fid,'%f',[6 inf]); fclose('all'); %matric are used PT,T and temp D DPT=TPT'; T=(DPT(:,2:6)); %chi lay cot thu den thu cot 2:4 la nguon, la dich PT=T'; d=T; disp(T); disp(' Completed '); %opendata_phuluc5; load('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); net.trainParam.show = 10; net.trainParam.epochs = 200; net.trainParam.min_grad = 1e-6; net.trainParam.max_fail = 5; net.trainParam.mc=0.95; net.trainParam.lr=0.001; net.trainParam.goal = 0.00025; % Training progress % TRAINING RECORD % NET - Trained network % TR - Training record of various values over each epoch: % TR.epoch - Epoch number % TR.perf - Training performance % TR.vperf - Validation performance % TR.tperf - Test performance % TR.mu - Adaptive mu value [net,tr] = train(net,PT(1:4,:),PT(5,:)); save('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); load('C:\Program Files\MATLAB\R2007a\work\4in\thesis4.mat','net'); gensim(net); Phụ Lục HVTH: Trần Hiếu Nghĩa Ứng Dụng Mạng Thần Kinh Nhân Tạo Trong Hiệu Chỉnh Hệ Số Công Suất GVHD: PGS.TS Nguyễn Mộng Hùng - 79 - PHỤ LỤC Ma trận trọng số neural lớp ẩn -0.51608552231322591 1.770131724850488 0.84670257474613764 -2.0292967053224946 0.12149720608005646 -7.4636604100996653 -0.00043886585383064473 0.016837334332694583 0.86657596932778169 8.6626937789450995 -1.2614025442202543 -6.1409373021366296 0.80035150059813887 -0.80462880728053376 -0.55485242642570887 -1.8571157613932234 -0.6683637315734029 -9.9750761007500035 0.039606357547574252 -0.18064468535378686 -0.25756240163454941 -3.8776320633166499 -0.0047889857997704148 0.019034521755815392 -0.69634214244648429 8.4296311495293281 0.40252079131816748 -16.854638785707849 3.3340854144514975 -24.774616383378781 -38.15777215734078 32.866772044971512 -1.8696116788531019 134.86379220311406 124.56362024539806 -141.12136428924845 -1.6025295326988771 0.72288877691677422 -0.19750625395398222 0.31079434796391631 0.5231897848076823 -9.3588102304015059 -0.84548884851725126 1.441364846556517 1.392445054373894 -76.162685490503279 -171.26109671336232 79.47989867993914 0.80253422959187748 -43.242854439174913 -91.251229383794552 38.46394845107946 -0.78668493008775986 2.942706579553994 1.1572129017199257 4.3891557793188349 0.093031343808186798 6.6377772652262674 -0.00045009504406725225 0.064928277484582117 Ma trận trọng số neural lớp -9.3138859707742263 -3.4934759684515351 -20.243831355484414 -27.611689735092401 1.0399400794234057 -2.2523925584659654 -0.039787745462453956 -0.03469702949197296 -59.725194118347034 -0.27982451124254792 -20.302879929076013 -24.763134767504329 26.155142000106828 -30.858924905521732 5.5582652394275165 Phụ Lục HVTH: Trần Hiếu Nghĩa