1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu phương pháp xử lý số liệu quan trắc chuyển dịch công trình khi đo bằng công nghệ hiện đại

159 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 159
Dung lượng 7,44 MB

Nội dung

ĐÀO DUY TOÀN BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT ĐÀO DUY TOÀN NGHIÊN CỨU PHƯƠNG PHÁP XỬ LÝ SỐ LIỆU LUẬN VĂN THẠC SĨ KỸ THUẬT QUAN TRẮC CHUYỂN DỊCH CƠNG TRÌNH KHI ĐO BẰNG CÔNG NGHỆ HIỆN ĐẠI LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI 2014 HÀ NỘI - 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT ĐÀO DUY TOÀN NGHIÊN CỨU PHƯƠNG PHÁP XỬ LÝ SỐ LIỆU QUAN TRẮC CHUYỂN DỊCH CƠNG TRÌNH KHI ĐO BẰNG CÔNG NGHỆ HIỆN ĐẠI Ngành: Kỹ thuật trắc địa – đồ Mã số: 60520503 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS VŨ VĂN THẶNG HÀ NỘI - 2014 -1- LỜI CAM ĐOAN Tôi xin cam đoan đề tài “Nghiên cứu phương pháp xử lý số liệu quan trắc chuyển dịch cơng trình đo cơng nghệ đại” cơng trình nghiên cứu riêng Kết nghiên cứu luận văn trung thực chƣa đƣợc cơng bố cơng trình khác Hà Nội, ngày 15 tháng 10 năm 2014 Tác giả luận văn ĐÀO DUY TOÀN -2- MỤC LỤC LỜI CAM ĐOAN .1 MỤC LỤC DANH MỤC TỪ VIẾT TẮT DANH MỤC BẢNG BIỂU DANH MỤC HÌNH VẼ MỞ ĐẦU 10 Tính cấp thiết đề tài 10 Mục đích đề tài .10 Nhiệm vụ phạm vi nghiên cứu 10 Nội dung nghiên cứu đề tài 11 Phƣơng pháp nghiên cứu .11 Cơ sở tài liệu luận văn 11 Ý nghĩa khoa học thực tiễn đề tài 11 Cấu trúc luận văn 12 CHƢƠNG TỔNG QUAN VỀ QUAN TRẮC CHUYỂN DỊCH BIẾN DẠNG CƠNG TRÌNH 13 1.1 Khái niệm chung chuyển dịch cơng trình 13 1.1.1 Khái niệm chuyển dịch công trình .13 1.1.2 Ngun nhân gây chuyển dịch biến dạng cơng trình 15 1.2 Quan trắc chuyển dịch cơng trình xu hƣớng phát triển 16 1.2.1 Khái niệm chung quan trắc chuyển dịch cơng trình 16 1.2.2 Mục đích, ý nghĩa cơng tác quan trắc .16 1.2.3 Yêu cầu độ xác quan trắc chuyển dịch biến dạng cơng trình 16 1.2.4 Sự phát triển quan trắc chuyển dịch biến dạng cơng trình 20 1.2.5 Xu hƣớng phát triển tƣơng lai .24 1.3 Ứng dụng công nghệ đại quan trắc chuyển dịch ngang cơng trình 25 1.3.1 Cơng nghệ tồn đạc điện tử tự động 25 1.3.2 Công nghệ định vị vệ tinh .27 CHƢƠNG XỬ LÝ SỐ LIỆU QUAN TRẮC CHUYỂN DỊCH CƠNG TRÌNH 32 -3- 2.1 Xử lý số liệu xu hƣớng phát triển 32 2.1.1 Khái niệm chung .32 2.1.2 Tình hình chung giới 32 2.1.3 Xử lý số liệu quan trắc chuyển dịch biến dạng cơng trình Việt Nam 34 2.2 Tổng quan liệu quan trắc sử dụng công nghệ đại 36 2.2.1 Dữ liệu quan trắc thƣờng xuyên sử dụng công nghệ RTS 36 2.2.2 Dữ liệu quan trắc thƣờng xuyên sử dụng công nghệ GNSS 39 2.3 Các phƣơng pháp phát giá trị dị thƣờng 45 2.3.1 Khái niệm sai số 47 2.3.2 Tìm giá trị dị thƣờng thông qua độ lệch chuẩn .49 2.3.3 Tìm giá trị dị thƣờng theo phƣơng pháp hình học 50 2.3.4 Chèn bổ sung số liệu .54 2.3.5 Tính giá trị wrms chuỗi số 54 2.4 Ví dụ tính tốn 55 2.4.1 Dãy số liệu quan trắc công nghệ GNSS 55 2.4.2 Kết lọc chuỗi số liệu quan trắc 56 2.5 Xử lý số liệu quan trắc sử dụng phƣơng pháp đo RTK .59 2.5.1 Phân tích liệu quan trắc thu đƣợc .59 2.5.2 Loại sai số thô chuỗi liệu 61 CHƢƠNG PHÂN TÍCH BIẾN DẠNG CƠNG TRÌNH .64 3.1 Phân tích biến dạng xu hƣớng nghiên cứu 64 3.1.1 Phân tích đặc trƣng thời gian khơng gian biến dạng phƣơng pháp xây dựng mơ hình 64 3.1.2 Khái niệm phân tích biến dạng .69 3.1.3 Xu hƣớng nghiên cứu 70 3.2 Phƣơng pháp lọc Kalman 71 3.2.1 Giới thiệu lọc Kalman 71 3.2.2 Cơ sở lý thuyết thuật toán 71 3.2.3 Lọc Kalman dạng đa thức .74 3.3 Ứng dụng thuật toán lọc Kalman để phân tích biến dạng cơng trình 78 -4- 3.3.1 Ứng dụng thuật tốn lọc Kalman phân tích chuỗi số liệu đo công nghệ GNSS 79 3.2.2 Ứng dụng thuật toán lọc Kalman phân tích số liệu quan trắc phƣơng pháp đo RTK .91 KẾT LUẬN VÀ KIẾN NGHỊ .104 I KẾT LUẬN 104 II KIẾN NGHỊ 104 DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ CỦA TÁC GIẢ 106 TÀI LIỆU THAM KHẢO .107 PHỤ LỤC 109 -5- DANH MỤC TỪ VIẾT TẮT DOP Dilution of Precision FIG Federation Internationale des Geometres FIR Finite Impulse Response GLONASS Globalnaya Navigatsionnaya Sputnikovaya Sistema GNSS Global Navigation Satellite System GPS Global Positioning System GS Grey System IAG International Association of Geodesy ICOLD International Commission on Large Dams IRNSS Indian Regional Navigational Satellite System ISM International Society for Mine Surveying ISRM International Society for Rock Mechanics IUGG International Union of Geodesy and Geophysics KF Kalman Filter LAS Lineas Aereas Suramericanas QZSS Quasi-Zenith Satellite System RMS Root mean Square RTK Real Time Kinematic RTS Robotic Total Station TCVN Tiêu chuẩn Việt Nam TĐĐT Toàn Đạc Điện Tử TS Time Series WRMS Weight Root Mean Square -6- DANH MỤC BẢNG BIỂU ảng 1 Yêu cầu độ xác đo l n theo giai đoạn .17 Bảng 1.2 Yêu cầu độ xác quan trắc chuyển dịch ngang 18 ảng Kết tính giá trị wrms từ số liệu ban đầu 55 ảng 2 Kết tính giá trị wrms từ số liệu lọc theo phương pháp thứ (mục 2) .58 ảng Kết tính giá trị wrms từ số liệu lọc theo phương pháp thứ (mục 2.3.3) 59 ảng Kết tính giá trị wrms từ số liệu đo RTK ban đầu .61 ảng Kết tính giá trị wrms từ số liệu lọc theo phương pháp thứ (mục 2) .63 ảng Kết tính giá trị wrms từ số liệu lọc theo phương pháp thứ (mục 2.3.3) 63 Bảng 3.1 So sánh giá trị đặc trưng từ kết lọc Kalman đa thức bậc 81 Bảng 3.2 So sánh giá trị đặc trưng từ kết lọc Kalman đa thức bậc 85 Bảng 3.3 So sánh giá trị đặc trưng từ kết lọc Kalman đa thức bậc 90 Bảng 3.4 So sánh giá trị đặc trưng từ kết lọc Kalman đa thức bậc 93 Bảng 3.5 So sánh giá trị đặc trưng từ kết lọc Kalman đa thức bậc 97 Bảng 3.6 So sánh giá trị đặc trưng từ kết lọc Kalman đa thức bậc 102 -7- DANH MỤC HÌNH VẼ Hình 1.1 Chuyển dịch ngang cơng trình 13 Hình Độ nghiêng cơng trình 15 Hình 1.3 Ứng dụng GNSS quan trắc cầu Jiangyin, Trung Quốc 21 Hình 1.4 a,b Ứng dụng RTS quan trắc cầu Apollo Bratislava, châu Âu 22 Hình 1.5 Ứng dụng GNSS & RTS quan trắc chuyển dịch mỏ lộ thiên 22 Hình 6a Sơ đồ quan trắc tự động máy TĐĐT Leica TS15 phần mềm GOCA .23 Hình 1.6b,c Vị trí điểm đặt máy TĐĐT gương quan trắc 24 Hình 1.7 Leica TCA2003 26 Hình 1.8 Topcon OS-101 26 Hình 1.9 Leica TPS1201 27 Hình 1.10 Topcon IS-201 27 Hình 1.11 Cấu trúc hệ thống định vị GPS .29 Hình 1.12 Phân bố trạm điều khiển trạm giám sát số hệ thống định vị vệ tinh giới 29 Hình 1.13 Máy GPS 4600LS 30 Hình 1.14 Máy GPS X20 30 Hình 15 Máy Trimble R10 .30 Hình 1.16 Máy Leica Viva GS15 GNSS 30 Hình 1.17 Topcon G3-A1M GPS / GLONASS Multiple Constellation Antenna 31 Hình 1.18 Máy Hi - Target V30 GNSS RTK 31 Hình Ứng dụng RTS QT D tường vây nhà cao tầng 36 Hình 2 iểu đồ thể diễn biến chuyển dịch liên tục điểm .37 Hình Ứng dụng công nghệ GNSS quan trắc cầu .39 Hình Dãy trị quan trắc theo thời gian đo GNSS 40 Hình Sơ đồ lưới sở đo GNSS .41 Hình 6a Dữ liệu quan trắc hệ tọa độ địa tâm (OXYZ) 42 Hình 6b Dữ liệu quan trắc hệ tọa độ địa diện chân trời (Oxyz) 42 Hình Hiện tượng trượt chu kỳ đo GPS .44 -8- Hình Hiện tượng đa đường dẫn đo GPS 44 Hình 2.9a,b Dị thường xuất nhiều liệu quan trắc .45 Hình 10a Chuỗi liệu tồn nhiều giá trị dị thường 46 Hình 10b Dị thường đơn lẻ 46 Hình 10b Dị thường kép 46 Hinh 10c Dị thường ngược chiều 46 Hình 10e Cụm di thường .46 Hình 2.11a,b Cửa sổ có 01 giá trị dị thường 51 Hình 2.12a,b Cửa sổ có 02 giá trị dị thường liên tiếp .52 Hình 2.13 Cửa sổ tăng tiến tìm loại giá trị dị thường .53 Hình 2.14 55 Hình 2.15 55 Hình 2.16 56 Hình 2.17 57 Hình 2.18 57 Hình 2.19 58 Hình 2.20 59 Hình 2.21 Hình ảnh hiễn thị dãy số liệu đo RTK hệ tọa độ OXYZ 60 Hình 2.22 60 Hình 2.23 Hình ảnh hiển thị dãy số liệu đo RTK hệ tọa độ Oxyz 61 Hình 2.24 62 Hình 2.25 62 Hình 3.1a Trị đo, kết lọc Kalman đa thức bậc 79 Hình 3.1b Ma trận hiệp phương sai PX tương ứng 79 Hình 3.2a Trị đo, kết lọc Kalman đa thức bậc 80 Hình 3.2b Ma trận hiệp phương sai PX tương ứng 80 Hình 3.3a Trị đo, kết lọc Kalman đa thức bậc 82 Hình 3.3b Ma trận hiệp phương sai PX tương ứng 82 Hình 3.4 Biến thiên vận tốc tương ứng 83 Hình 3.5a Trị đo, kết lọc Kalman đa thức bậc 83 -143Dtb = Dtb / Ndiem ReDim SHC_V(Ndiem) For i = To Ndiem SHC_V(i) = Abs(Dtb - d(i)) Next Ncs = Ndiem - Window + ReDim CuaSo(Ncs, Window) ReDim RMS(Ncs) For Idex_cs = To Ncs For j = To Window CuaSo(Idex_cs, j) = SHC_V(Idex_cs + j - 1) RMS(Idex_cs) = RMS(Idex_cs) + SHC_V(Idex_cs + j - 1) ^ Next RMS(Idex_cs) = Sqr(RMS(Idex_cs) / (Window - 1)) Next medianRMS = median(RMS, Ncs) For Idex_cs = To Ncs If RMS(Idex_cs) > 2.5 * medianRMS Then Bienchay = Bienchay + ReDim Preserve CSNghingo(Bienchay) CSNghingo(Bienchay) = Idex_cs End If Next If Bienchay Then ' tim duoc cua so nghi ngo Dim Index_Outlier%(), Out1%, Out2%, Index_Trend%(), Trend1%, Trend2% For i = To Bienchay Idex_cs = CSNghingo(i) Out1 = 0: Trend1 = Fall_Trend CuaSo, Idex_cs, Window, Index_Outlier, Out1, Index_Trend, Trend1 Out2 = Out2 + Out1 Trend2 = Trend2 + Trend1 ReDim Preserve ChuoiNghiNgo(Out2) For j = To Out1 ChuoiNghiNgo(Out2 - Out1 + j) = Index_Outlier(j) Next If Trend2 > Then ReDim Preserve TrendNghiNgo(Trend2) For j = To Trend1 TrendNghiNgo(Trend2 - Trend1 + j) = Index_Trend(j) Next End If Next -144- XapxepTangdan ChuoiNghiNgo, Out2 XapxepTangdan TrendNghiNgo, Trend2 Dim DemO%, DemO_1%, DemO_2%, DemT%, DemT_1%, DemT_2% j = 101: For i = + DemO_1 To Out2 DemO = For j = (DemO_1 + 1) To Out2 If ChuoiNghiNgo(j) = ChuoiNghiNgo(i) Then DemO = DemO + End If Next If ChuoiNghiNgo(i) < Window And DemO > ChuoiNghiNgo(i) * 0.7 Then DemO_2 = DemO_2 + ReDim Preserve Time_Fall(DemO_2) Time_Fall(DemO_2) = ChuoiNghiNgo(i) ElseIf ChuoiNghiNgo(i) >= Window And DemO > Window * 0.7 Then DemO_2 = DemO_2 + ReDim Preserve Time_Fall(DemO_2) Time_Fall(DemO_2) = ChuoiNghiNgo(i) ElseIf ChuoiNghiNgo(i) (Ndiem - ChuoiNghiNgo(i)) * 0.7 Then DemO_2 = DemO_2 + ReDim Preserve Time_Fall(DemO_2) Time_Fall(DemO_2) = ChuoiNghiNgo(i) End If If DemO Then DemO_1 = DemO_1 + DemO End If If DemO_1 < Out2 Then GoTo 101 End If GoTo 102 Next 102: If Trend2 > Then For i = + DemT_1 To Trend2 DemT = For j = (DemT_1 + 1) To Trend2 If TrendNghiNgo(j) = TrendNghiNgo(i) Then DemT = DemT + End If Next -145If TrendNghiNgo(i) < Window And DemT > TrendNghiNgo(i) * 0.7 Then ' Nho hon DemT_2 = DemT_2 + ReDim Preserve Time_Trend(DemT_2) Time_Trend(DemT_2) = TrendNghiNgo(i) ElseIf TrendNghiNgo(i) >= Window And DemT > Window * 0.55 Then DemT_2 = DemT_2 + ReDim Preserve Time_Trend(DemT_2) Time_Trend(DemT_2) = TrendNghiNgo(i) ElseIf TrendNghiNgo(i) (Ndiem - TrendNghiNgo(i)) * 0.7 Then DemT_2 = DemT_2 + ReDim Preserve Time_Trend(DemT_2) Time_Trend(DemT_2) = TrendNghiNgo(i) End If If DemT Then DemT_1 = DemT_1 + DemT End If If DemT_1 < Trend2 Then GoTo 102 End If Lan_Trend = DemT_2 GoTo 103 Next End If 103: DemO = 0: DemO_1 = For i = To Ndiem If DemO_2 > Then For j = To DemO_2 If Time(i) = Time_Fall(j) Then DemO = DemO + Else End If Next End If If DemO = Then DemO_1 = DemO_1 + ReDim Preserve Dmoi(DemO_1) ReDim Preserve TimeMoi(DemO_1) TimeMoi(DemO_1) = Time(i) Dmoi(DemO_1) = d(i) Else DemO = -146End If Next Else ReDim Dmoi(Ndiem) ReDim TimeMoi(Ndiem) For i = To Ndiem TimeMoi(i) = Time(i) Dmoi(i) = d(i) Next End If NdiemMoi = Ndiem - DemO_2 End Sub d Mã code phương pháp thứ (mục 2.3.3) Public Sub Find_Outlier_Olsen(ChuoiDau#(), TimeDau#(), SotridoDau%, Window%, ChuoiLoc#(), TimeLoc#(), SotridoLoc%, Time_Fall%(), sima#) Dim Dtb#, TongD#, dD#(), Str$ For i = To SotridoDau TongD = TongD + ChuoiDau(i) Next Dtb = TongD / SotridoDau ' Tim tri Trung binh cua ReDim dD(SotridoDau) ' Tao chuoi moi chuoi For i = To SotridoDau dD(i) = Abs(Dtb - ChuoiDau(i)) Next Dim Ics%, CuaSo#() NumberW = SotridoDau - Window + ReDim CuaSo(NumberW, Window) For Ics = To NumberW For j = To Window CuaSo(Ics, j) = dD(Ics + j - 1) Next Next Dim Outlier%(), NumOut%, NumOut1%, VitriOut#() For Ics = To NumberW NumOut1 = TimOutlier2 CuaSo, Ics, Window, Outlier, NumOut1, sima For j = To NumOut1 NumOut = NumOut + ReDim Preserve VitriOut(NumOut) -147VitriOut(NumOut) = Outlier(j) Next Next XapxepTangdan VitriOut, NumOut 201: Dim dem1%, dem2%, Dem% j = For i = + dem1 To NumOut Dem = For j = (dem1 + 1) To NumOut If VitriOut(j) = VitriOut(i) Then Dem = Dem + End If If Dem = Window Then GoTo 202 Next 202: If VitriOut(i) < Window And Dem > VitriOut(i) * 0.7 Then dem2 = dem2 + ReDim Preserve Time_Fall(dem2) Time_Fall(dem2) = VitriOut(i) ElseIf Window (SotridoDau - VitriOut(i)) * 0.7 Then dem2 = dem2 + ReDim Preserve Time_Fall(dem2) Time_Fall(dem2) = VitriOut(i) End If If Dem Then dem1 = dem1 + Dem End If If dem1 < NumOut Then GoTo 201 End If GoTo 203 Next 203: Dem = For i = To SotridoDau For j = To dem2 -148If TimeDau(i) = Time_Fall(j) Then GoTo 205 ElseIf TimeDau(i) Time_Fall(j) And j < dem2 Then GoTo 204 Else GoTo 206 End If 204: Next 206: Dem = Dem + ReDim Preserve ChuoiLoc(Dem) ReDim Preserve TimeLoc(Dem) ChuoiLoc(Dem) = ChuoiDau(i) TimeLoc(Dem) = TimeDau(i) 205: Next SotridoLoc = Dem End Sub e Mã code chương trình chèn bổ sung số liệu Public Sub Chenbosung1(Ndiem%, Time%(), TS%, Chuoi#(), Ndiem_moi%, Time_moi%(), Chuoi_moi#()) Dim i%, j%, k%, Xbs#, Nbs%, TG% Ndiem_moi = Ndiem_moi + ReDim Preserve Time_moi(Ndiem_moi) ReDim Preserve Chuoi_moi(Ndiem_moi) Time_moi(Ndiem_moi) = Time(1) Chuoi_moi(Ndiem_moi) = Chuoi(1) For i = To Ndiem If (Val(Time(i)) - Val(Time(i - 1))) / TS > Then Nbs = (Val(Time(i)) - Val(Time(i - 1))) / TS If Nbs >= Then Dim chon As Integer chon = MsgBox(" Doan gian tach lon hon vi tri, ban co muon tinh tiep hay ko ?", vbYesNo + vbQuestion) If chon = Then GoTo If chon = Then GoTo Else 1: For j = To Nbs If Val(Time(i - 1)) + TS * j < Val(Time(i)) Then TG = Val(Time(i - 1)) + TS * j -149Ndiem_moi = Ndiem_moi + ReDim Preserve Time_moi(Ndiem_moi) ReDim Preserve Chuoi_moi(Ndiem_moi) Xbs = Chuoi(i - 1) + (TG - Val(Time(i - 1))) / (Val(Time(i)) - Val(Time(i - 1))) * (Chuoi(i) - Chuoi(i - 1)) Time_moi(Ndiem_moi) = TG Chuoi_moi(Ndiem_moi) = Xbs Else 2: Ndiem_moi = Ndiem_moi + ReDim Preserve Time_moi(Ndiem_moi) ReDim Preserve Chuoi_moi(Ndiem_moi) Time_moi(Ndiem_moi) = Time(i) Chuoi_moi(Ndiem_moi) = Chuoi(i) End If Next End If Else ' ko co gian cach Ndiem_moi = Ndiem_moi + ReDim Preserve Time_moi(Ndiem_moi) ReDim Preserve Chuoi_moi(Ndiem_moi) Time_moi(Ndiem_moi) = Time(i) Chuoi_moi(Ndiem_moi) = Chuoi(i) End If Next End Sub -150- Mã code chương trình lọc Kalman dạng đa thức + Giao diện chương trình lọc Kalman a Mã code thuật toán lọc Kalman đa thức bậc Public Sub PTBD_KalmanB0(Ndiem%, Time%(), TS%, X#(), simaX#, X_moi#(), Q_moi#(), TBC#, Lenh%) Dim i%, j%, Tck%, Dem% Dim Tong#, Xtb#, PVV#, sima#, P00#, X00# Tong = For i = To Ndiem Tong = Tong + X(i) Next Xtb = Tong / Ndiem TBC = Xtb PVV = For i = To Ndiem PVV = PVV + (Xtb - X(i)) ^ Next sima = Sqr(PVV / (Ndiem - 1)) X00 = Xtb P00 = sima ^ Dim Hx#, Hxt#, Phix#, Phixt#, Mx#, Kx#, Qk# Dim Px#, Xx#, X0i#, P0i# Hx = 1: Hxt = Phix = 1: Phixt = Px = simaX ^ Rx = simaX ^ ReDim X_moi(Ndiem) ReDim Q_moi(Ndiem) For i = To Ndiem If i = Then -1511: Kx = P00 * Hxt * (1 / (Hx * P00 * Hxt + Rx)) Xx = X00 + Kx * (X(i) - Hx * X00) Px = (1 - Kx * Hx) * P00 X_moi(i) = Xx Q_moi(i) = Px Else Tck = (Time(i) - Time(i - 1)) / TS If Tck = Then X0i = Phix * Xx P0i = Phix * Px * Phixt If Lenh = Then Qk = simaX ^ * TS P0i = Phix * Px * Phixt + Qk Else End If Kx = P0i * Hxt * (1 / (Hx * P0i * Hxt + Rx)) Xx = X0i + Kx * (X(i) - Hx * X0i) Px = (1 - Kx * Hx) * P0i X_moi(i) = Xx Q_moi(i) = Px Else P00 = simaX ^ X00 = Xx GoTo End If End If Next End Sub b Mã code thuật toán lọc Kalman đa thức bậc Public Sub PTBD_KalmanB1(Ndiem%, Time%(), TS%, X#(), simaX#, X_moi#(), v_moi#(), Qx_moi#(), Qv_moi#(), Lenh%) ' Buoc 1: truyen vao Phi, H, Qk, Rk, Zk ' Gan tri khoi dau: X0, P0 Dim i%, j%, Tck%, k% Dim Tong#, Xtb#, PVV#, sima#, P00#(2, 2), X00#(2) Dim Vtb#, TongV#, Dem% Tong = For i = To Ndiem Tong = Tong + X(i) Next Xtb = Tong / Ndiem -152PVV = For i = To Ndiem PVV = PVV + (Xtb - X(i)) ^ Next sima = Sqr(PVV / (Ndiem - 1)) For i = To Ndiem If (Time(i) - Time(i - 1)) / TS = Then TongV = TongV + (X(i) - X(i - 1)) / TS Dem = Dem + End If Next Vtb = TongV / Dem X00(1) = Xtb X00(2) = Vtb P00(1, 1) = simaX ^ P00(2, 2) = 0.01 ^ Dim Hx#(1, 2), Hxt#(2, 1), Phix#(2, 2), Phixt#(2, 2), Kx#(2, 1), Qk#(2, 2) Dim Px#(2, 2), Xx#(2), X0i#(2), P0i#(2, 2), MtDv#(2, 2) Dim Tg1#(), Tg2#(), Tg3#(), Tg4#(), Tg5#(), Tg6#() Hx(1, 1) = 1: Hx(1, 2) = Hxt(1, 1) = 1: Hxt(2, 1) = Rx = simaX ^ MtDv(1, 1) = 1: MtDv(2, 2) = ReDim X_moi(Ndiem) ReDim v_moi(Ndiem) ReDim Qx_moi(Ndiem) ReDim Qv_moi(Ndiem) For i = To Ndiem If i = Then 1: ReDim Tg1(2, 1) ReDim Tg2(1, 2) ReDim Tg3(1, 1) ReDim Tg4(1, 1) ReDim Tg5(2, 2) Nhan_Matran P00, Hxt, Tg1, 2, 2, Nhan_Matran Hx, P00, Tg2, 1, 2, Nhan_Matran Tg2, Hxt, Tg3, 1, 2, Tg3(1, 1) = / (Tg3(1, 1) + Rx) Nhan_Matran Tg1, Tg3, Kx, 2, 1, Tg4(1, 1) = X(i) - (Hx(1, 1) * X00(1) + Hx(1, 2) * X00(2)) Xx(1) = X00(1) + Kx(1, 1) * Tg4(1, 1) Xx(2) = X00(2) + Kx(2, 1) * Tg4(1, 1) -153Nhan_Matran Kx, Hx, Tg5, 2, 1, For j = To For k = To Tg5(j, k) = MtDv(j, k) - Tg5(j, k) Next Next Nhan_Matran Tg5, P00, Px, 2, 2, X_moi(i) = Xx(1): v_moi(i) = Xx(1) Qx_moi(i) = Px(1, 1) Qv_moi(i) = Px(2, 2) Else Tck = (Time(i) - Time(i - 1)) / TS If Tck = Then Phix(1, 1) = 1: Phix(2, 2) = Phix(1, 2) = TS Matran_CV Phix, Phixt, 2, X0i(1) = Phix(1, 1) * Xx(1) + Phix(1, 2) * Xx(2) X0i(2) = Phix(2, 1) * Xx(1) + Phix(2, 2) * Xx(2) ReDim Tg6(2, 2) Nhan_Matran Phix, Px, Tg6, 2, 2, Nhan_Matran Tg6, Phixt, P0i, 2, 2, If Lenh = Then Qk(1, 1) = TS ^ / * sima ^ Qk(1, 2) = TS ^ / * sima ^ Qk(2, 1) = Qk(1, 2) Qk(2, 2) = TS * sima ^ For j = To For k = To P0i(j, k) = P0i(j, k) + Qk(j, k) Next Next Else End If ReDim Tg1(2, 1) ReDim Tg2(1, 2) ReDim Tg3(1, 1) ReDim Tg4(1, 1) ReDim Tg5(2, 2) Nhan_Matran P0i, Hxt, Tg1, 2, 2, Nhan_Matran Hx, P0i, Tg2, 1, 2, Nhan_Matran Tg2, Hxt, Tg3, 1, 2, Tg3(1, 1) = / (Tg3(1, 1) + Rx) Nhan_Matran Tg1, Tg3, Kx, 2, 1, Tg4(1, 1) = X(i) - Hx(1, 1) * X0i(1) + Hx(1, 2) * X0i(2) -154Xx(1) = X0i(1) + Kx(1, 1) * Tg4(1, 1) Xx(2) = X0i(2) + Kx(2, 1) * Tg4(1, 1) Nhan_Matran Kx, Hx, Tg5, 2, 1, For j = To For k = To Tg5(j, k) = MtDv(j, k) - Tg5(j, k) Next Next Nhan_Matran Tg5, P0i, Px, 2, 2, X_moi(i) = Xx(1): v_moi(i) = Xx(2) Qx_moi(i) = Px(1, 1) Qv_moi(i) = Px(2, 2) Else X00(1) = Xx(1): X00(2) = Xx(2) P00(1, 1) = simaX ^ P00(2, 2) = 0.01 ^ GoTo End If End If Next End Sub c Mã code thuật toán lọc Kalman đa thức bâc Public Sub PTBD_KalmanB2(Ndiem%, Time%(), TS%, X#(), simaX#, X_moi#(), v_moi#(), a_moi#(), Qx_moi#(), Qv_moi#(), Qa_moi#(), Lenh%) Dim i%, j%, Tck%, k% Dim Tong#, Xtb#, PVV#, sima#, P00#(3, 3), X00#(3) Dim Vtb#, TongV#, atb#, Tong_a#, Dem% Tong = For i = To Ndiem Tong = Tong + X(i) Next Xtb = Tong / Ndiem PVV = For i = To Ndiem PVV = PVV + (Xtb - X(i)) ^ Next sima = Sqr(PVV / (Ndiem - 1)) Dem = For i = To Ndiem If (Time(i) - Time(i - 1)) / TS = Then TongV = TongV + (X(i) - X(i - 1)) / TS Dem = Dem + -155Else End If Next Vtb = TongV / Dem Dem = For i = To Ndiem If (Time(i) - Time(i - 1)) / TS = And (Time(i - 1) - Time(i - 2)) / TS = Then Tong_a = Tong_a + ((X(i) - X(i - 1)) - (X(i - 1) - X(i - 2))) / TS ^ Dem = Dem + End If Next atb = Tong_a / Dem X00(1) = Xtb: X00(2) = Vtb: X00(3) = atb P00(1, 1) = simaX ^ P00(2, 2) = 0.01 ^ P00(3, 3) = 0.01 ^ Dim Hx#(1, 3), Hxt#(3, 1), Phix#(3, 3), Phixt#(3, 3), Kx#(3, 1), Qk#(3, 3) Dim Px#(3, 3), Xx#(3), X0i#(3), P0i#(3, 3), MtDv#(3, 3) Dim Tg1#(), Tg2#(), Tg3#(), Tg4#(), Tg5#(), Tg6#() Hx(1, 1) = 1: Hx(1, 3) = Hxt(1, 1) = 1: Hxt(3, 1) = Rx = simaX ^ MtDv(1, 1) = 1: MtDv(2, 2) = 1: MtDv(3, 3) = ReDim X_moi(Ndiem) ReDim v_moi(Ndiem) ReDim a_moi(Ndiem) ReDim Qx_moi(Ndiem) ReDim Qv_moi(Ndiem) ReDim Qa_moi(Ndiem) For i = To Ndiem If i = Then 1: ReDim Tg1(3, 1) ReDim Tg2(1, 3) ReDim Tg3(1, 1) ReDim Tg4(1, 1) ReDim Tg5(3, 3) Nhan_Matran P00, Hxt, Tg1, 3, 3, Nhan_Matran Hx, P00, Tg2, 1, 3, Nhan_Matran Tg2, Hxt, Tg3, 1, 3, Tg3(1, 1) = / (Tg3(1, 1) + Rx) Nhan_Matran Tg1, Tg3, Kx, 3, 1, -156Tg4(1, 1) = X(i) - (Hx(1, 1) * X00(1) + Hx(1, 2) * X00(2) + Hx(1, 3) * X00(3)) Xx(1) = X00(1) + Kx(1, 1) * Tg4(1, 1) Xx(2) = X00(2) + Kx(2, 1) * Tg4(1, 1) Xx(3) = X00(3) + Kx(3, 1) * Tg4(1, 1) Nhan_Matran Kx, Hx, Tg5, 3, 1, For j = To For k = To Tg5(j, k) = MtDv(j, k) - Tg5(j, k) Next Next Nhan_Matran Tg5, P00, Px, 3, 3, X_moi(i) = Xx(1): v_moi(i) = Xx(2): a_moi(i) = Xx(3) Qx_moi(i) = Px(1, 1) Qv_moi(i) = Px(2, 2) Qa_moi(i) = Px(3, 3) Else Tck = (Time(i) - Time(i - 1)) / TS If Tck = Then Phix(1, 1) = 1: Phix(2, 2) = 1: Phix(3, 3) = Phix(1, 2) = TS: Phix(1, 3) = TS ^ / 2: Phix(2, 3) = TS Matran_CV Phix, Phixt, 3, X0i(1) = Phix(1, 1) * Xx(1) + Phix(1, 2) * Xx(2) + Phix(1, 3) * Xx(3) X0i(2) = Phix(2, 2) * Xx(2) + Phix(2, 3) * Xx(3) X0i(3) = Phix(3, 3) * Xx(3) ReDim Tg6(3, 3) Nhan_Matran Phix, Px, Tg6, 3, 3, Nhan_Matran Tg6, Phixt, P0i, 3, 3, If Lenh = Then Qk(1, 1) = TS ^ / * sima ^ 2: Qk(1, 2) = TS ^ / * sima ^ 2: Qk(1, 3) = TS ^ / * sima ^ Qk(2, 1) = Qk(1, 2): Qk(2, 2) = Qk(1, 3): Qk(2, 3) = TS ^ / * sima ^ Qk(3, 1) = Qk(2, 2): Qk(3, 2) = Qk(2, 3): Qk(3, 3) = TS * sima ^ For j = To For k = To P0i(j, k) = P0i(j, k) + Qk(j, k) Next Next Else End If ReDim Tg1(3, 1) ReDim Tg2(1, 3) -157ReDim Tg3(1, 1) ReDim Tg4(1, 1) ReDim Tg5(3, 3) Nhan_Matran P0i, Hxt, Tg1, 3, 3, Nhan_Matran Hx, P0i, Tg2, 1, 3, Nhan_Matran Tg2, Hxt, Tg3, 1, 3, Tg3(1, 1) = / (Tg3(1, 1) + Rx) Nhan_Matran Tg1, Tg3, Kx, 3, 1, Tg4(1, 1) = X(i) - Hx(1, 1) * X0i(1) + Hx(1, 2) * X0i(2) + Hx(1, 3) * X0i(3) Xx(1) = X0i(1) + Kx(1, 1) * Tg4(1, 1) Xx(2) = X0i(2) + Kx(2, 1) * Tg4(1, 1) Xx(3) = X0i(3) + Kx(3, 1) * Tg4(1, 1) Nhan_Matran Kx, Hx, Tg5, 3, 1, For j = To For k = To Tg5(j, k) = MtDv(j, k) - Tg5(j, k) Next Next Nhan_Matran Tg5, P0i, Px, 3, 3, X_moi(i) = Xx(1): v_moi(i) = Xx(2): a_moi(i) = Xx(3) Qx_moi(i) = Px(1, 1) Qv_moi(i) = Px(2, 2) Qa_moi(i) = Px(3, 3) Else X00(1) = Xx(1): X00(2) = Xx(2): X00(3) = Xx(3) P00(1, 1) = simaX ^ P00(2, 2) = 0.01 ^ P00(3, 3) = 0.01 ^ GoTo End If End If Next End Sub ... hành nghiên cứu thực đề tài ? ?Nghiên cứu phương pháp xử lý số liệu quan trắc chuyển dịch cơng trình đo cơng nghệ đại? ?? với hy vọng góp phần giải vấn đề đƣợc đặt công tác xử lý số liệu quan trắc chuyển. .. 2014 -1- LỜI CAM ĐOAN Tôi xin cam đoan đề tài ? ?Nghiên cứu phương pháp xử lý số liệu quan trắc chuyển dịch công trình đo cơng nghệ đại? ?? cơng trình nghiên cứu riêng tơi Kết nghiên cứu luận văn trung... TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT ĐÀO DUY TOÀN NGHIÊN CỨU PHƯƠNG PHÁP XỬ LÝ SỐ LIỆU QUAN TRẮC CHUYỂN DỊCH CƠNG TRÌNH KHI ĐO BẰNG CÔNG NGHỆ HIỆN ĐẠI Ngành: Kỹ thuật trắc địa – đồ Mã số: 60520503

Ngày đăng: 21/05/2021, 16:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w