Nhận dạng không gian con ngẫu nhiên Python

Trong các kỹ thuật Nhận dạng không gian con ngẫu nhiên (SSI), một mô hình tham số được khớp trực tiếp với dữ liệu chuỗi thời gian thô do các bộ chuyển đổi trả về. Mô hình tham số là một mô hình toán học với một số tham số có thể được điều chỉnh để thay đổi cách mô hình phù hợp với dữ liệu. Nói chung, chúng tôi đang tìm kiếm một tập hợp các tham số sẽ giảm thiểu độ lệch giữa phản hồi hệ thống dự đoán (tín hiệu đầu dò dự đoán) của mô hình và phản hồi hệ thống đo được (tín hiệu đầu dò). Quá trình này thường được gọi là hiệu chỉnh mô hình. Xem hình sau

Nhận dạng không gian con ngẫu nhiên Python

Tất cả các kỹ thuật nhận dạng phương thức miền thời gian đã biết có thể được xây dựng ở dạng tổng quát dưới dạng công thức không gian trạng thái đổi mới

Nhận dạng không gian con ngẫu nhiên Python

trong đó ma trận A chứa thông tin vật lý, ma trận C trích xuất thông tin có thể quan sát được trong phản hồi của hệ thống và ma trận K chứa thông tin thống kê. Thông tin thống kê cho phép lập mô hình tương đương hiệp phương sai, để mô hình có thể có hàm tương quan chính xác và do đó cũng có hàm mật độ phổ chính xác

Số lượng tham số trong mô hình là cần thiết. Nếu con số này quá nhỏ, thì hành vi động và thống kê không thể được mô hình hóa chính xác. Mặt khác, nếu con số quá cao, thì mô hình sẽ trở nên quá cụ thể dẫn đến độ không đảm bảo thống kê cao không cần thiết của các tham số mô hình

Vì vậy, nghệ thuật ước lượng mô hình tham số là xác định một mô hình có số lượng tham số hợp lý. Điều này có nghĩa là những gì bạn phải làm khi ước lượng các mô hình không gian trạng thái là chọn thứ tự mô hình còn được gọi là thứ nguyên không gian trạng thái, là thứ nguyên của ma trận A

Trong phần mềm ứng dụng này, có ba cách triển khai khác nhau của kỹ thuật Nhận dạng không gian con ngẫu nhiên. đó là

Tuy nhiên, mặc dù chúng ước tính các mô hình không gian trạng thái theo những cách khác nhau, nhưng bạn sẽ không cảm thấy bất kỳ sự khác biệt nào khi vận hành chúng

Xem Tài liệu kỹ thuật về Kỹ thuật nhận dạng không gian con ngẫu nhiên để biết mô tả toàn diện hơn về cách thức hoạt động của các kỹ thuật Nhận dạng không gian con ngẫu nhiên và sự khác biệt toán học giữa ba cách triển khai là gì

Trích xuất các tham số phương thức từ hệ thống không gian trạng thái

Khi hệ thống không gian trạng thái ngẫu nhiên được ước tính bằng e. g. các kỹ thuật Nhận dạng không gian con ngẫu nhiên, chúng tôi thu được cái được gọi là hiện thực hóa hệ thống thực nhưng chưa biết. Vậy tham số của hệ không gian trạng thái

Nhận dạng không gian con ngẫu nhiên Python

chỉ là ước tính của hệ thống thực sự. Bạn sẽ không bao giờ có thể ước tính các tham số chính xác 100% nhưng bạn thực sự có thể ước tính các tham số rất chính xác bằng cách không sử dụng kích thước không gian trạng thái quá lớn

Hệ thống trên được biểu diễn trong miền thời gian nhưng tất nhiên cũng có thể được biểu diễn trong miền tần số bằng hàm truyền của nó H(z) như bên dưới

trong đó z là số phức phụ thuộc tần số. Bằng một phép biến đổi phức tạp của hàm truyền này bằng cách sử dụng các hàm riêng của A, hàm truyền phân tách phương thức xuất hiện dưới dạng

Nhận dạng không gian con ngẫu nhiên Python

Biểu diễn hàm truyền này hiển thị tất cả các tham số phương thức. Từ các giá trị riêng µjđược định nghĩa là các phần tử đường chéo của ma trận

các tần số tự nhiên và tỷ lệ giảm xóc được trích xuất bằng cách sử dụng định nghĩa sau

Nhận dạng không gian con ngẫu nhiên Python

Trong phương trình này T là khoảng thời gian lấy mẫu

Hình dạng chế độ được liên kết với chế độ thứ j được đưa ra bởi cột thứ j của ma trận. Ma trận cuối cùng hoàn thành quá trình phân tách phương thức chứa một tập hợp các vectơ hàng. Vectơ hàng thứ j tương ứng với chế độ thứ j. Vectơ này phân phối kích thích tiếng ồn trắng et trong miền phương thức cho tất cả các bậc tự do. Vì vậy, các giá trị biên độ của bậc tự do phụ thuộc vào vectơ này cũng như giá trị riêng và hình dạng chế độ

Tại bước thời gian ban đầu, vectơ trạng thái bằng không. Điều này ngụ ý rằng sự đóng góp của e0 vào từ một chế độ cụ thể chỉ được cung cấp bởi vectơ hàng tương ứng với chế độ đó. Vì lý do này, vectơ này được gọi là biên độ phương thức ban đầu. Vì vectơ này mô tả cách phân phối nhiễu trắng trong miền phương thức, nên vectơ này mô tả phần thống kê của phân tách phương thức. Tất cả các tham số phương thức khác liên quan đến hệ thống động và do đó là các tham số xác định sẽ không thay đổi nếu kích thích thay đổi

Phần mềm này được tạo ra để thực hiện nhận dạng phương thức chỉ đầu ra (Phân tích phương thức hoạt động, OMA)

OMA cho phép ước tính thực nghiệm các tham số phương thức (tần số tự nhiên, hình dạng phương thức, tỷ lệ giảm chấn) của cấu trúc từ các phép đo phản ứng rung trong điều kiện vận hành

Bài thuyết trình của nhóm PyOMA

Nhận dạng không gian con ngẫu nhiên Python

PyOMA là gì?

PyOMA là một mô-đun python cho phép thực hiện OMA trên bộ dữ liệu đo độ rung xung quanh

PyOMA bao gồm các thuật toán sau

  1. Phân rã miền tần số (FDD)

    1a. Phân tách miền tần số gốc (FDD)

    2a. Phân rã miền tần số nâng cao (EFDD)

    3a. Phân rã miền không gian tần số (FSDD)

  2. Nhận dạng không gian con ngẫu nhiên (SSI)

    2a. Nhận dạng không gian con ngẫu nhiên dựa trên hiệp phương sai (cov-SSI)

    2b. Nhận dạng không gian con ngẫu nhiên dựa trên dữ liệu (dat-SSI)

Để hiểu rõ hơn về quy trình làm việc của các chức năng, hãy xem quy trình làm việc

Cài đặt PyOMA

Là điều kiện tiên quyết để cài đặt PyOMA, trước tiên bạn cần cài đặt Anaconda. Bạn nên cài phiên bản Python lớn hơn bằng 3. 5 hoặc phần mềm có thể gặp sự cố

Để cài đặt đầy đủ PyOMA, bạn cần chạy các lệnh sau (theo thứ tự sau)

  • pip cài đặt gấu trúc

  • cài đặt pip scipy

  • cài đặt pip matplotlib

  • cài đặt pip seaborn

  • pip cài đặt mplcursors

  • pip cài đặt Py-OMA

Để nhập PyOMA vào không gian làm việc của bạn, chỉ cần nhập

  • nhập khẩu PyOMA

phụ thuộc

  • gọn gàng (https. // numpy. tổ chức/)
  • gấu trúc (https. //gấu trúc. pydata. tổ chức/)
  • scipy -> tín hiệu (https. //www. scipy. tổ chức/)
  • scipy. tối ưu hóa -> đường cong_fit (https. //www. scipy. tổ chức/)
  • scipy->linalg (https. //www. scipy. tổ chức/)
  • matplotlib. pyplot (https. // matplotlib. tổ chức/)
  • matplotlib. mã đánh dấu -> [MultipleLocator,FormatStrFormatter] (https. // matplotlib. tổ chức/)
  • matplotlib. các bản vá lỗi (https. //matplotlib. tổ chức/)
  • sinh ra biển (https. // sinh ra biển. pydata. tổ chức/)
  • mplcursors (https. //mplcursors. đọcthedocs. io/vi/ổn định/)
quy trình làm việc

Nhận dạng không gian con ngẫu nhiên Python

FDD

1. run FDDsvp

	2.a run FDDmodEX to run original FDD
		
		and/or
		
	2.b run EFDDmodEX(method='EFDD') to run EFDD
		
		and/or
		
	2.c run EFDDmodEX(method='FSDD') to run FSDD

SSI

1.a run SSIcovStaDiag 
	
	2. run SSImodEX to run cov-SSI

		and/or

1.b run SSIdatStaDiag 
	
	2. run SSImodEX to run dat-SSI 

Mô tả chức năng

Bạn có thể tìm thấy mô tả đầy đủ về các chức năng có sẵn trong PyOMA trên trang Mô tả chức năng

PyOMA_GUI là gì?

PyOMA_GUI là một phần mềm giao diện người dùng đồ họa được phát triển trong PyQt5, phần mềm này triển khai trong một công cụ tích hợp duy nhất để phân tích phương thức vận hành của các cấu trúc dân dụng với dữ liệu đo lường chỉ đầu ra. Phần mềm này sử dụng các chức năng nói trên được cung cấp bởi mô-đun python PyOMA. Do đó, PyOMA_GUI cung cấp giao diện thân thiện với người dùng đáng kể để cải thiện khả năng truy cập của mô-đun PyOMA, đảm bảo việc sử dụng rộng rãi cho cả các nhà khoa học, nhà nghiên cứu và thậm chí cả các kỹ sư kết cấu và dân dụng ứng dụng. Các tính năng chính mà PyOMA_GUI cung cấp được liệt kê bên dưới

  • Nhập tab dữ liệu;
  • Định nghĩa hình học của cấu trúc và hệ thống giám sát (các kênh và mức độ tự do, DOF);
  • Công cụ tiền xử lý tín hiệu với các tùy chọn giảm xu hướng và số thập phân;
  • Các thuật toán nhận dạng động với trực quan hóa kết quả (đồ thị, hình dạng phương thức);
  • Các tab hậu xử lý và chức năng xuất đầu ra;

Nhận dạng không gian con ngẫu nhiên Python

Tệp thực thi PyOMA_GUI. exe cho windows đã có sẵn ở đây

Một hướng dẫn ngắn để hướng dẫn người dùng vào một ví dụ giới thiệu có sẵn tại đây

Sự nhìn nhận

Các nhà phát triển ghi nhận sự đóng góp có ý nghĩa của Giáo sư Rocco Alaggio từ Università degli Studi dell'Aquila, người đã khuyến khích các tác giả nghiên cứu và phát triển các chủ đề này. Hơn nữa, các nhà phát triển ghi nhận sự đóng góp có ý nghĩa của Giáo sư Giuseppe Carlo Marano từ Politecnico di Torino vì đã thúc đẩy lập trình Giao diện người dùng đồ họa và điều phối các hoạt động của nhóm

Liên lạc với chúng tôi bằng cách nào

Nếu bạn có bất kỳ vấn đề gì, vui lòng liên hệ với chúng tôi theo địa chỉ email chính thức của chúng tôi

hỗ trợPyOMA@polito. nó

cách trích dẫn

Nếu bạn sử dụng mã này, xin đừng quên trích dẫn tác phẩm này

Dag Pasquale Pasca, Angelo Aloisio, Marco Martino Rosso và cộng sự. , PyOMA và PyOMA_GUI. Một mô-đun Python và phần mềm để phân tích phương thức hoạt động. Phần mềmX (2022) 101216, https. //doi. tổ chức/10. 1016/j. mềmx. 2022. 101216