Nhờ vậy, các node mạng có thể phân biệt rõ các trường dữ liệu trong khung đã nhận và quá trình chọn lọc để tách các thông tin có ích trở nên nhanh chóng và đơn giản.[10] Khi nghiên cứu v
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN BA
NGHIÊN CỨU MÃ ĐIỀU KHIỂN LỖI TRONG MẠNG CẢM BIẾN KHÔNG DÂY ĐỂ NÂNG CAO HIỆU QUẢ VIỆC SỬ DỤNG NĂNG LƯỢNG
Ngành: Công nghệ Điện tử - Viễn Thông Chuyên ngành: Kỹ thuật điện tử
Mã ngành: 60 52 70
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: Pgs.Ts Vương Đạo Vy
HÀ NỘI - 2010
Trang 2MỤC LỤC
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY (WSN) 3
1.1 Giới thiệu 3
1.2 Cấu trúc cho mạng cảm biến 5
1.2.1 Cấu trúc phẳng (Flat Architecture) 6
1.2.2 Cấu trúc tầng (Tiered Architecture) 6
1.2.3 Lựa chọn cấu trúc cho mạng cảm biến 9
1.3 Các giao thức đặc trưng của mạng cảm biến 11
1.3.1 Giao thức đồng bộ thời gian 11
1.3.1.1 Đồng hồ trong các node cảm biến 12
1.3.1.2 Đồng bộ thời gian trong mạng cảm biến 12
1.3.2 Giao thức vị trí 14
1.3.2.1 Định vị dựa vào mốc có sẵn 15
1.3.2.2 Định vị dựa vào vị trí tương đối 15
1.3.3 Định tuyến trong mạng cảm biến 16
1.3.3.1 Định tuyến trung tâm dữ liệu (Data Center Protocol) 17
1.3.3.1.1 SPIN (Sensor Protocols for Information via
Negotiation) 17
1.3.3.1.2 Truyền trực tiếp Directed Diffusion 18
1.3.3.2 Định tuyến phân cấp 20
1.4 Kiến trúc giao thức mạng 22
1.5 Lỗi trong quá trình tuyền tin 25
Trang 31.6 Một số ứng dụng trong mạng cảm biến 28
1.6.1 Ứng dụng trong quân đội 29
1.6.2 Ứng dụng trong môi trường 31
1.6.3 Ứng dụng trong chăm sóc sức khỏe 32
1.6.4 Ứng dụng trong gia đình 34
1.6.5 Ứng dụng trong giao thông 35
1.7 Những khó khăn trong việc phát triển mạng WSN 36
1.7.1 Giới hạn năng lượng 36
1.7.2 Bị giới hạn về dải thông 36
1.7.3 Bị giới hạn về phần cứng 36
1.7.4 Kết nối mạng không ổn định 37
1.7.5 Sự kết hợp chặt chẽ giữa sensor và môi trường tự nhiên 37
Chương 2: PHÁT HIỆN VÀ SỬA LỖI TRONG MẠNG CẢM BIẾN WSN 38
2.1 Giới thiệu 38
2.2 Các loại lỗi bit 41
2.3 Phát hiện lỗi 41
2.4 Sửa lỗi 45
Chương 3: MÃ ĐIỀU KHIỂN LỖI SỬ DỤNG TRONG WSN 52
3.1 Giới thiệu 52
3.2 Lý thuyết về mã hoá 52
3.3 Phương pháp sửa lỗi chuyển tiếp FEC 54
3.3.1 Mã hoá khối tuyến tính Linear Block Codes 56
3.3.1.1 Cách mã hoá 58
Trang 43.3.1.2 Cách giải mã 58
3.3.1.3 Các phát hiện lỗi 59
3.3.1.4 Cách sửa lỗi 60
3.3.2 Kỹ thuật ghép xen Interleaving 64
3.3.2.1 Khối xen dữ liệu 65
3.3.2.2 Kỹ thuật xen chập Convolution Interleaving 67
3.3.3 Mã sửa lỗi kép - Double error correction codes 68
3.4 Hiệu quả trong việc sử dụng năng lượng 70
3.4.1 Kiểm tra ngoài trời 71
3.4.2 Kiểm tra trong nhà 72
Chương 4 ĐIỀU KHIỂN LỖI ỨNG DỤNG CHIPCON CC1010 73
4.1 Giới thiệu 73
4.2 Tìm hiểu chương trình truyền nhận dữ liệu trong CC1010 74
4.2.1 Quá trình truyền dữ liệu giữa 2 nút mạng [14]: 74
4.2.2 Quá trình nhận dữ liệu giữa 2 nút mạng [14]: 77
4.3 Đề xuất sử dụng FEC cho tuyến truyền nhận dữ liệu giữa các node mạng CC1010 82
4.3.1 Giả định bài toán và cách tính các từ mã 83
4.3.2 Chương trình truyền dữ liệu sử dụng các từ mã 85
4.4 Kết luận chương 4 86
KẾT LUẬN 87
TÀI LIỆU THAM KHẢO 88
Trang 5BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT
STT Từ viết tắt Tên tiếng anh
4 CMOS Complementary Metal Oxide Semiconductor
6 D-MAC Data-Gathering Media Access Control
11 LEACH Low-Energy Adaptive Clustering Hierarchy
18 RSSI Received Signal Strength Indicator
19 TCP Transmission Control Protocol
Trang 621 WSN Wireless Sensor Network
MỞ ĐẦU
Với sự phát triển không ngừng của công nghệ, con người luôn muốn ứng dụng những công nghệ tiên tiến nhất phục vụ cho cuộc sống Xu hướng mạnh là phát triển các công nghệ không dây để thuận tiện hơn, các kỹ sư, nhà nghiên cứu đã nghiên cứu những hệ thống mạng cảm biến không dây có thể nói là làm thay đổi cuộc sống, bao gồm các cảm biến giá thành rẻ, tiêu thụ ít năng lượng và đa chức năng đã nhận được những sự chú ý đáng kể Hiện nay người ta đang tập trung triển khai các mạng cảm biến để áp dụng vào trong cuộc sống hàng ngày Đó là các lĩnh vực về y tế, quân sự, môi trường, giao thông… Trong một tương lai không xa, các ứng dụng của mạng cảm biến sẽ trở thành một phần không thể thiếu trong cuộc sống con người nếu chúng ta phát huy được hết các điểm mạnh mà không phải mạng nào cũng có được như mạng cảm biến
Tuy nhiên mạng cảm ứng đang phải đối mặt với rất nhiều thách thức, một trong những thách thức lớn nhất đó là nguồn năng lượng bị giới hạn và không thể nạp lại Hiện nay rất nhiều nhà nghiên cứu đang tập trung vào việc cải thiện khả năng sử dụng hiệu quả năng lượng của mạng cảm biến trong từng lĩnh vực khác nhau
Đề tài “Nghiên cứu mã điều khiển lỗi trong mạng cảm biến không dây để nâng cao hiệu quả việc sử dụng năng lượng” do PGS.TS Vương Đạo Vy hướng dẫn, đã được tác giả nghiên cứu và thực hiện với mục tiêu đưa ra các phương pháp phát hiện và sửa lỗi, từ đó đưa phương pháp phù hợp cho mạng cảm biến
Luận văn gồm bốn chương Chương 1 giới thiệu về mạng cảm biến WSN Chương 2 nghiên cứu về các phương pháp phát hiện và sửa lỗi Chương 3 nghiên cứu về mã điều khiển lỗi trong WSN Dựa trên cơ sở lý thuyết chương 1, và nghiên cứu các phương pháp phát hiện và sửa lỗi ứng dụng trong mạng cảm biến ở chương
Trang 72 và chương 3, tác giả đưa ra kết luận khách quan về hiệu quả của việc sử dụng năng lượng
Mặc dù đã cố gắng rất nhiều nhưng do hạn chế về tài liệu, trình độ nên tác giả còn rất nhiều thiếu sót Tác giả rất mong các thầy, các cô và các bạn đóng góp ý kiến để đề tài được hoàn thiện hơn
Trong suốt quá trình làm luận văn này, tác giả đã nhận được sự giúp đỡ của rất nhiều người Đầu tiên, tác giả xin trân trọng gửi lời cảm ơn đến PGS.TS Vương Đạo Vy , người luôn tận tình chỉ bảo và giúp đỡ tác giả từ khi tác giả bắt tay vào thực hiện đến khi hoàn thành Không có sự hướng dẫn và giúp đỡ tận tình của thầy, chắc chắn tác giả sẽ không thể nào hoàn thành được đề tài này
Tác giả cũng xin chân thành cảm ơn tới gia đình, bạn bè, những người luôn động viên tác giả trong suốt quá trình học tập và nghiên cứu để hoàn thành luận văn này
Học viên
Trang 8Chương 1 TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY (WSN)
1.1 Giới thiệu
Một mạng cảm biến không dây WSN bao gồm nhiều node cảm biến nhỏ có giá thành thấp và tiêu thụ năng lượng thấp, giao tiếp thông qua các kết nối không dây có nhiệm vụ cảm nhận, đo đạc, tính toán, xử lý thông tin và các thành phần liên lạc Tạo khả năng quan sát, phân tích và phản ứng lại với các sự kiện và hiện tượng xảy ra trong môi trường cụ thể nào đó Môi trường có thể là tự nhiên hay các
hệ thống sinh học Các ứng dụng cơ bản của mạng cảm biến chủ yếu gồm thu thập
dữ liệu, giám sát, theo dõi và các ứng dụng trong y học Tuy nhiên ứng dụng của mạng cảm biến tùy theo yêu cầu sử dụng còn rất đa dạng và không bị giới hạn
Mô hình mạng cảm biến được chia thành nhiều tầng, mỗi tầng có một nhiệm
vụ riêng:
Trang 9Hình 1.1 Mô hình phân tầng mạng WSN
+ Tầng ứng dụng (Application Layer): cung cấp một giao diện (interface) đến người sử dụng
+ Tầng hỗ trợ ứng dụng (Application Support Layer): có nhiệm vụ phân chia
và quản lý truyền thông giữa hai node đang hoạt động
+ Tầng mạng (Network Layer): làm nhiệm vụ định tuyến truyền thông giữa các mạng
+ Tầng MAC (MAC Sub-Layer): thực hiện hai nhiệm vụ cơ bản đó là:
- Sử dụng các kỹ thuật đóng khung để cho phép các tầng trên truy cập môi trường
- Sử dụng kỹ thuật truy nhập môi trường và dò lỗi để điều khiển làm sao cho
dữ liệu được đặt vào môi trường và được nhận từ môi trường
+ Tầng vật lý (Physical Layer): có nhiệm vụ mã hóa các bit nhị phân trong các frame của tầng liên kết dữ liệu thành tín hiệu và thực hiện truyền và nhận các tín hiệu này qua môi trường vật lý (môi trường không dây)
Quá trình đóng gói dữ liệu trong mạng cảm biến như sau: Dữ liệu được đưa xuống ngăn xếp giao thức trên đường đi của nó để truyền qua môi trường mạng, mỗi giao thức khác nhau thêm thông tin vào dữ liệu với các mức khác nhau
Trang 10Hình 1.2 Quá trình đóng gói dữ liệu Trong mạng cảm biến không dây, các node mạng liên tục nhận và truyền dữ liệu về các node trung tâm để xử lý Các node trung tâm sau khi nhận được khung
dữ liệu từ các node trong mạng sẽ phải thực hiện nhiệm vụ tách các thành phần thông tin có ích trong khung đó Để có thể tách được các thông tin có ích thì phải
có sự đồng bộ về dạng khung dữ liệu giữa các node truyền và node trung tâm Quá trình đồng bộ này hoàn toàn thực hiện được vì cả bên truyền và bên nhận đều được lập trình bởi người sử dụng Do đó, các lập trình viên định nghĩa các dạng khung cố định cho các khung dữ liệu được truyền trong mạng Nhờ vậy, các node mạng có thể phân biệt rõ các trường dữ liệu trong khung đã nhận và quá trình chọn lọc để tách các thông tin có ích trở nên nhanh chóng và đơn giản.[10]
Khi nghiên cứu về mạng cảm biến không dây, một trong những đặc điểm quan trọng và then chốt đó là thời gian sống của các node cảm biến hay chính là sự giới hạn về năng lượng của chúng Do đó khi truyền dữ liệu trong mạng cảm biến
có lỗi xảy ra, phải có cơ chế phù hợp để làm tăng thời gian sống của node mạng lên
1.2 Cấu trúc cho mạng cảm biến
Trang 11Cấu trúc mạng cảm biến không dây cần phải thiết kế sao cho sử dụng có hiệu quả nguồn tài nguyên hạn chế của mạng, kéo dài thời gian sống của mạng Vì vậy thiết kế cấu trúc mạng cần phải dựa vào những đặc thù sau:
- Giao tiếp không dây multihop: Khi giao tiếp không dây được sử dụng cho các node mạng, thì giao tiếp trực tiếp giữa hai node sẽ có nhiều hạn chế do khoảng cách hay các vật cản Đặc biệt là khi node phát và node thu cách xa nhau thì cần công suất phát lớn Vì vậy cần các nút trung gian làm nút chuyển tiếp để giảm công suất tổng thể Do vậy các mạng cảm biến không dây cần phải dùng giao tiếp multihop
Hình 1.3 Giao tiếp không dây multihop
- Điều khiển lỗi: Nếu việc truyền dữ liệu kéo dài do gặp phải lỗi thì làm giảm thời gian sống của mạng, để hỗ trợ kéo dài thời gian sống của toàn mạng, ta phải đưa ra giải pháp hợp lý
- Cộng tác, xử lí trong mạng và tập trung dữ liệu: Trong một số ứng dụng một node cảm biến không thu thập đủ dữ liệu mà cần phải có nhiều node cùng cộng tác hoạt động thì mới thu thập đủ dữ liệu, khi đó nếu từng node thu dữ liệu gửi ngay đến node chính thì sẽ rất tốn băng thông và năng lượng Cần phải kết hợp các
dữ liệu của nhiều nút trong một vùng rồi mới gửi tới node chính thì sẽ tiết kiệm băng thông và năng lượng.[8]
Sau đây xét hai cấu trúc đặc trưng của mạng cảm biến không dây:
1.2.1 Cấu trúc phẳng (Flat Architecture)
Trang 12Đây là cấu trúc đơn giản nhất, tất cả các node đều ngang hàng và đồng nhất
về hình dạng và chức năng Các node giao tiếp qua multihop sử dụng các nút ngang hàng làm bộ tiếp sóng Với phạm vi truyền cố định, các nút gần hơn sẽ đảm bảo vai trò của bộ tiếp sóng đối với một số lượng lớn nguồn
Hình 1.4 Cấu trúc phẳng
1.2.2 Cấu trúc tầng (Tiered Architecture)
Với cấu trúc này các cụm được tạo ra giúp các tài nguyên trong cùng một cụm gửi dữ liệu single hop hay multihop tùy thuộc vào kích cỡ của cụm đến một node định sẵn, thường gọi là node chủ (cluster head) Trong cấu trúc này các node tạo thành một hệ thống cấp bậc mà ở đó mỗi node ở một mức xác định thực hiện các nhiệm vụ đã định sẵn
Trang 13Hình 1.5 Cấu trúc phân tầng Trong cấu trúc tầng thì được chia thành nhiều cấp và mỗi cấp được phân một chức năng cụ thể, các chức năng như cảm nhận, tính toán và đưa ra kết quả
- Cấp thấp nhất: thực hiện tất cả nhiệm vụ cảm nhận như đo đạc áp suất, nhiệt độ, độ ẩm, nồng độ, độ sâu,…
- Cấp giữa: thực hiện tính toán tức là thu nhận dữ liệu từ nhiều node khác nhau rồi đưa ra quyết định
- Cấp trên cùng: thực hiện thu thập tất cả thông tin ở cấp giữa rồi đưa thông tin về trạng thái ban đầu như nhiệt độ, áp suất,… tại node thấp nhất đã đo được
Trang 14Hình 1.6 Cấu trúc mạng phân cấp theo chức năng
Các nhiệm vụ xác định có thể được chia không đồng đều giữa các lớp, ví dụ mỗi lớp có thể thực hiện một nhiệm vụ xác định trong tính toán Trong trường hợp này, các sensor ở cấp thấp nhất đóng vai trò một bộ lọc thông dải đơn giản để tách nhiễu ra khỏi dữ liệu, trong khi đó các nút ở cấp cao hơn ngừng việc lọc dữ liệu này Sự phân tích chức năng của các mạng cảm ứng có thể phản ánh các đặc điểm
tự nhiên của các node, hoặc có thể gọi đơn giản là sự phân biệt theo logic Một tập hợp con các node với khả năng truyền thông ở phạm vi rộng có thể tạo nên cấu hình mạng kiểu phân lớp xếp chồng vật lý
Hình 1.7 Cấu trúc mạng phân lớp xếp chồng vật lý
Một tập hợp con các nút trong mạng có thể được phân biệt một cách logic khi chúng thực hiện một nhiệm vụ đại diện cho các node khác Những chức năng như vậy phải bao gồm sự tập trung dữ liệu, truyền thông qua mạng xương sống, hoặc kết hợp định tuyến giữa các node Những quy tắc logic này tạo nên mạng phân cấp logic
Trang 15Hình 1.8 Cấu trúc mạng phân cấp logic
Những quy tắc logic này có thể thay phiên nhau định kì để đảm bảo sự công bằng Khi các nút với khả năng tính toán cao hơn hoạt động thì các nút ít khả năng hơn sẽ chuyển các nhiệm vụ tính toán sang các nút này Nếu không có “computer servers” như vậy, một cụm các sensor cần thiết phải chọn ra một nút để thực hiện các nhiệm vụ như là tập trung dữ liệu Tuy nhiên trong một số trường hợp chỉ có mỗi nút có tài nguyên vật lý thích hợp mới thích hợp để thực hiện các nhiệm vụ định sẵn.[9]
1.2.3 Lựa chọn cấu trúc cho mạng cảm biến
Mỗi một cấu trúc mạng đều có nhược điểm của nó, tuy nhiên việc chọn ra một cấu trúc mạng sao cho nó tối ưu nhất là vấn đề cần thiết Mạng cảm ứng xây dựng theo cấu trúc tầng hoạt động hiệu quả hơn cấu trúc phẳng, với các lý do như sau:
- Cấu trúc tầng có thể giảm chi phí mạng cảm ứng bằng việc định vị các tài nguyên ở vị trí mà chúng hoạt động hiệu quả nhất Rõ ràng là nếu triển khai các phần cứng thống nhất, mỗi nút chỉ cần một lượng tài nguyên tối thiểu để thực hiện tất cả các nhiệm vụ Vì số lượng các nút cần thiết phụ thuộc vào vùng phủ sóng xác định, chi phí của toàn mạng vì thế sẽ không cao Thay vào đó, nếu một số lượng lớn các nút có chi phí thấp được chỉ định làm nhiệm vụ cảm nhận, một số lượng nhỏ
Trang 16hơn các nút có chi phí cao hơn được chỉ định để phân tích dữ liệu, định vị và đồng
bộ thời gian, chi phí cho toàn mạng sẽ giảm đi
- Mạng cấu trúc tầng sẽ có tuổi thọ cao hơn mạng phẳng Khi cần phải tính toán nhiều thì một bộ xử lý nhanh sẽ hiệu quả hơn, phụ thuộc vào thời gian yêu cầu thực hiện tính toán Tuy nhiên, với các nhiệm vụ cảm nhận cần hoạt động trong khoảng thời gian dài, các nút tiêu thụ ít năng lượng phù hợp với yêu cầu xử lý tối thiểu sẽ hoạt động hiệu quả hơn Do vậy với cấu trúc tầng mà các chức năng mạng phân chia giữa các phần cứng đã được thiết kế riêng cho từng chức năng sẽ làm tăng tuổi thọ của mạng
- Về độ tin cậy: Mỗi mạng cảm ứng phải phù hợp với với số lượng các nút yêu cầu thỏa mãn điều kiện về băng thông và thời gian sống Với mạng cấu trúc phẳng, qua phân tích người ta đã xác định thông lượng tối ưu của mỗi nút trong mạng là:
Trong đó:
- W là độ rộng băng tần của kênh chia sẻ
- n là số lượng node mạng
Do đó khi kích cỡ mạng tăng lên thì thông lượng của mỗi nút sẽ giảm về 0 Việc nghiên cứu các mạng cấu trúc tầng đem lại nhiều triển vọng để khắc phục vấn
đề này Một cách tiếp cận là dùng một kênh đơn lẻ trong cấu trúc phân cấp, trong
đó các nút ở cấp thấp hơn tạo thành một cụm xung quanh trạm gốc Mỗi một trạm gốc đóng vai trò là cầu nối với cấp cao hơn, cấp này đảm bảo việc giao tiếp trong cụm thông qua các bộ phận hữu tuyến Tóm lại, việc tương thích giữa các chức năng trong mạng có thể đạt được khi dùng cấu trúc tầng Đặc biệt người ta đang tập trung nghiên cứu về các tiện ích về tìm địa chỉ Những chức năng như vậy có thể phân phối đến mọi nút, một phần phân bố đến tập con của các nút Giả thiết rằng các nút đều không cố định và phải thay đổi địa chỉ một cách định kì, sự cân bằng giữa những lựa chọn này phụ thuộc vào tân số thích hợp của chức năng cập nhật và tìm kiếm Hiện nay cũng đang có rất nhiều mô hình tìm kiếm địa chỉ trong mạng cấu trúc tầng
Trang 171.3 Các giao thức đặc trưng của mạng cảm biến
Trong phần này ta đi sâu nghiên cứu về hai giao thức đó là giao thức đồng bộ thời gian và giao thức vị trí Hai giao thức này có ý nghĩa rất quan trọng trong mạng cảm biến
1.3.1 Giao thức đồng bộ thời gian
Vấn đề thời gian rất quan trọng trong nhiều ứng dụng và giao thức trong mạng cảm biến Các nút có thể đo thời gian bằng cách dùng các xung đồng hồ cục
bộ lấy từ các bộ dao động Bởi vì các pha ngẫu nhiên làm dịch chuyển và làm trôi tốc độ của bộ dao động, do vậy thời gian cục bộ của các nút sẽ bắt đầu sai khác đi làm cho mạng mất đi sự đồng bộ Do vậy việc đồng bộ thời gian có vai trò rất quan trọng trong hoạt động của mạng cảm biến
Đồng bộ thời gian là phương thức cho phép các thực thể riêng biệt trong một nhóm đồng bộ xung đồng hồ của chúng hoặc đồng bộ với thời gian toàn cầu phối hợp Phần này sẽ giải thích tại sao cần đồng bộ thời gian và đưa ra một số giao thức đồng bộ khác nhau
Đồng bộ thời gian trong mạng cảm biến với các lý do sau:
- Mạng cảm biến cần liên kết với thế giới thực để biết khi nào một hiện tượng xảy ra
- Dịch vụ cơ bản chính của mạng cảm biến là tích hợp dữ liệu Do đó cần đồng bộ giữa các nút để có thể tích hợp dữ liệu truyền đến mạng
- Một vài giao thức yêu cầu đồng bộ thời gian: quản lý cấu hình
- Các nút cảm biến thường nhỏ, giá thành thấp nên bộ dao động thường không chính xác, hơn nữa chúng bị giới hạn về năng lượng nên thường có chế độ sleep để tiết kiệm năng lượng
Thời gian dùng trong mạng cảm biến phải là thời gian tự nhiên (physical time), đó là hai nút cảm biến phải có sự cảm nhận như nhau, thời gian tự nhiên phải được phân biệt với khái niệm về thời gian logic (logical time) là thời gian mà cho phép quyết định việc sắp xếp các sự kiện trong hệ thống phân bố nhưng không cần thiết phải chỉ ra bất kì sự liên quan nào đến thời gian thực
Trang 181.3.1.1 Đồng hồ trong các node cảm biến
Hầu hết các thiết bị đồng hồ của các nút cảm biến và máy tính đều có cấu tạo giống nhau Mỗi nút có một bộ dao động ở một tần số xác định và một máy đếm xung dao động Phần mềm của các nút chỉ truy nhập tới giá trị của bộ đếm này và thời gian giữa hai lần tăng này quyết định cách giải quyết vấn đề thời gian: các sự kiện xảy ra giữa hai lần tăng này không thể được phận biệt từ các nhãn thời gian của chúng
Bộ dao động thường có độ trôi, đó là sự dịch ngẫu nhiên so với tần số trên lý thuyết, hay còn gọi là độ lệch đồng hồ Điều này phụ thuộc vào sự không trong suốt của tinh thể, hay các điều kiện môi trường như áp suất, nhiệt độ… do vậy việc triển khai mạng cảm biến trên thực tế khác nhiều so với trong phòng thí nghiệm Độ lệch đồng hồ được đo bằng ppm (parts per million), nó đưa ra con số về số dao động thêm vào hoặc số dao động bị mất mà đồng hồ tạo ra trong lượng thời gian cần cho một triệu dao động ở tốc độ lý thuyết
Tần số dao động thay đổi theo thời gian Có 2 kiểu thay đổi:
- Thay đổi ngắn hạn: do thay đổi nhiệt độ, do thay đổi trong điện áp nguồn cung cấp, áp suất không khí…
- Thay đổi dài hạn: do sự lão hóa của các bộ dao động
Người ta thường giả định tần số các bộ dao động là ổn định vừa phải trong phạm vi từ vài phút đến vài chục phút Điều này cũng nói lên rằng các thuật toán đồng bộ thời gian phải đồng bộ lại vài phút một lần để theo kịp sự thay đổi của tần
số Vì thế giao thức đồng bộ thời gian là rất cần thiết.[11]
1.3.1.2 Đồng bộ thời gian trong mạng cảm biến
Trong mạng cảm biến có một số đặc điểm mà ảnh hưởng đến yêu cầu thiết kế của các thuật toán đồng bộ thời gian:
- Thuật toán phải phù hợp với phạm vi mạng mutilhop rộng lớn, các nút bị ràng buộc về mặt năng lượng Yêu cầu về phạm vi bao hàm cả số lượng các nút trong mạng và mật độ các nút
Trang 19- Yêu cầu về độ chính xác có thể thay đổi khác nhau từ mili giây cho đến vài giây
- Không sử dụng thêm phần cứng chỉ giành cho mục đích đồng bộ vì tốn chi phí và năng lượng thêm vào cho phần phụ đó
- Mức độ di động là rất thấp
- Hầu như không có giới hạn trên cố định về trễ truyền gói vì phụ thuộc lớp MAC, lỗi các gói, và truyền lại
- Trễ truyền giữa hai nút hàng xóm là không đáng kể
Có rất nhiều giao thức đồng bộ thời gian truyền thống cố gắng giữ việc đồng
bộ giữa các nút ở mọi thời điểm nhưng lại không quan tâm đến năng lượng và cấu hình mạng cho nên không thể áp dụng vào mạng cảm biến Vì đặc điểm của mạng cảm biến cho nên giao thức đồng bộ thời gian cần chú ý về các vấn đề về độ chính xác, chi phí năng lượng và các yêu cầu về bộ nhớ
Phương pháp cơ bản để đồng bộ thời gian trong mạng cảm biến là cộng tác giữa các nút trong toàn mạng Có hai cách thiết lập sự cộng tác giữa hai nút trong mạng đó là đồng bộ giữa bên gửi và bên nhận (Sender-Receiver) và giữa bên nhận
và bên nhận (Receiver-Receiver) Đồng bộ giữa bên gửi và bên nhận yêu cầu liên kết hai chiều giữa hai nút lân cận Trong phương pháp đồng bộ giữa bên nhận và bên nhận, nhiều nút nhận của các gói có nhãn thời gian như nhau đồng bộ với nhau
mà không yêu cầu đồng bộ với bên gửi
Hình 1.9 Đồng bộ bên phát-bên nhận và bên nhận-bên nhận + Giao thức đồng bộ giữa bên nhận và bên phát
Trang 20Trong giao thức này, một nút gọi là bên nhận, trao đổi gói dữ liệu với nút khác gọi là bên phát, làm cho bên nhận đồng bộ với đồng hồ của bên phát Giao thức đồng bộ giữa bên nhận và bên phát nói chung là đòi hỏi đường nối 2 chiều giữa các nút lân cận
Điển hình của giao thức đồng bộ giữa bên phát và bên nhận là Lightweight time synchronization protocol (LTS) Trong khi hoạt động nó điều khiển các nút để
sử dụng năng lượng hiệu quả, đạt được độ chính xác cao, và đưa ra những giới hạn tương đối chính xác về các phần cứng cơ sở và các hệ thống LTS không yêu cầu phải update đồng hồ cục bộ và nó cũng không ước lượng tốc độ trôi thực sự
LTS chia quá trình đồng bộ làm 2 giai đoạn:
- Giao thức đồng bộ 2 chiều để đồng bộ 2 nút lân cận
- Để giữ các nút hoặc một tập hợp các nút cần quan tâm đồng bộ theo một tham chiếu chung, LTS xây dựng một cây phân tán từ các nút tham chiếu đến tất cả các nút
+ Giao thức đồng bộ giữa bên nhận và bên nhận
Trong giao thức này nhiều bên nhận của các gói có nhãn thời gian như nhau đồng bộ với nhau nhưng không đồng bộ với bên gửi Chúng ta xem xét một giao thức cơ bản đó là đồng bộ quảng bá tham chiếu RBS (Reference broadcast synchronization)
Giao thức này bao gồm hai thành phần: thành phần đầu tiên là một tập hợp các nút nằm trong vùng broadcast đơn, ví dụ như một tập hợp các nút có thể nghe thấy nhau, đánh giá xung đồng hồ của các nút ngang hàng với chúng Thành phần thứ hai cho phép liên kết các nhãn thời gian giữa các nút ở xa với một vài khu vực broadcast giữa chúng Đồng bộ trong một khu vực broadcast với ý tưởng cơ bản như sau: Bên gửi sẽ gửi theo chu kỳ một gói không cần thiết đánh dấu nhãn thời gian vào kênh broadcast và tất cả các bên nhận sẽ đánh dấu nhãn thời gian cho gói này Các bên nhận trao đổi nhãn thời gian của chúng và có thể sử dụng dữ liệu này
để biết được đồng hồ của nút hàng xóm Bằng việc lặp lại quá trình này các nút không chỉ biết về độ lệch pha của nhau mà còn cả tốc độ trôi nữa Các nút không điều chỉnh đồng hồ cục bộ của nó nhưng đối với mỗi nút hàng xóm nó xây dựng một bảng lưu trữ các tham số cần thiết để chuyển đổi giá trị xung đồng hồ
1.3.2 Giao thức vị trí
Trang 21Trong nhiều trường hợp việc xác định vị trí của các nút trong mạng cảm biến
là rất cần thiết Ví dụ như trong ứng dụng quan sát môi trường và khí tượng học, dữ liệu sẽ không còn có ý nghĩa nếu như không được đánh dấu thời gian và vị trí Hay như trong các ứng dụng: theo dõi việc đóng gói hàng, lưu trữ sách trong thư viện, tất cả các ứng dụng này đều cần xác định vị trí của các nút cảm biến Ngoài ra thông tin về vị trí cũng rất quan trọng trong một vài giao thức định tuyến, đặc biệt
là định tuyến dựa vào vị trí
Trong mạng cảm biến, có một số lượng rất lớn các nút, được triển khai một cách ngẫu nhiên trong khu vực quan sát Việc xác định vị trí tuyệt đối của một nút thường rất khó Chúng ta có thể trang bị thiết bị GPS cho các nút Tuy nhiên cách này không khả thi đối với mạng cảm biến vì GPS tương đối đắt và không thể hoạt động trong môi trường đặc biệt như trong nhà, hay dưới lòng đất
Hiện nay có hai kỹ thuật định vị được xem xét chủ yếu trong mạng cảm biến là:
- Định vị dựa vào mốc có sẵn
- Định vị dựa vào vị trí tương đối
Cả hai kỹ thuật này đều sử dụng sự ước lượng phạm vi và góc đối với việc định vị các nút cảm ứng thông qua cường độ tín hiệu thu được (Seceived Signal Strength – RSS), thời gian đến (time of arrival – TOA), sự chênh lệch thời gian đến (time difference of arrival – TDOA), và góc tới (angle of arrival – AOA)
1.3.2.1 Định vị dựa vào mốc có sẵn
Phương pháp này giả sử như sau:
Có một vài node cảm biến đã biết vị trí
Những nút này sẽ gửi tín hiệu mốc(dẫn đường) theo chu kỳ
Các nút khác sẽ đo tín hiệu này, sử dụng phép đo tam giác , đa trễ để đánh giá vị trí
RSSI (Receiver Signal Strength Indicator ) được dùng để xác định sự tương quan tín hiệu với khoảng cách
Tuy nhiên phương pháp này rất nhạy cảm với vật cản, nhiễu đa đường, ảnh hưởng của môi trường (nắng, mưa,…) Hơn nữa tín hiệu RF phải có phạm vi tốt: khoảng vài chục mét
Trang 221.3.2.2 Định vị dựa vào vị trí tương đối
Một số mạng cảm ứng khác có thể được triển khai ở vùng mà không thể bị ảnh hưởng bởi vật chắn như nhà cửa, đồi núi,… lúc đó chúng có thể bị ảnh hưởng bởi nhiễu môi trường hay là do sai số khi điều khiển Hơn nữa, các nút cảm ứng loại bình thường có thể hoạt động ở chế độ không tuyến tính hoặc nhiễu không tuân theo phân bố Gauss Để khắc phục những khó khăn này, các thông tin vùng được đặt theo từng bước truyền từ nguồn cho đến đích Để thu được các thông tin vùng chính xác, các nút cảm ứng phải kết hợp để hỗ trợ cho nhau Hơn nữa, năng lượng
có thể được dự trữ thêm bằng việc cho phép các nút cảm ứng dò theo vị trí của các nút lân cận Kỹ thuật xác định vị trí tương đối này được nghiên cứu kĩ hơn bởi cơ cấu vị trí thụ cảm (perceptive localization framework -PLF) Trong cơ cấu này, một nút có thể phát hiện và dò theo vị trí của của nút lân cận bằng cách dùng kỹ thuật ước đoán kết hợp với một bộ lọc từng phần được ghép vào một dãy các sensor Để tăng độ chính xác của việc ước lượng vị trí, node chính có thể yêu cầu tất cả các nút dọc theo đường từ nguồn phải lọc từng phần để tăng số lượng vật mẫu Quá trình tác động cục bộ này không yêu cầu bất kì một vật mốc nào Hơn nữa, phần xử lý trung tâm không cần phải quyết định vị trí của các nguồn Cho dù dùng giao thức định vị dựa trên vật mốc hay là dựa trên vị trí tương đối thì thông tin vùng đều cần thiết trong các giao thức lớp vận chuyển, lớp mạng và lớp liên kết dữ liệu Mỗi một loại giao thức định vị có những yêu cầu khác nhau Các ứng dụng mạng cảm ứng sau này sẽ sử dụng kết hợp các kỹ thuật định vị này
1.3.3 Định tuyến trong mạng cảm biến
Chính vì những đặc điểm riêng biệt của mạng cảm biến mà việc định tuyến trong mạng cảm biến phải đối mặt với rất nhiều thách thức sau:
- Mạng cảm biến có một số lượng lớn các nút, cho nên ta không thể xây dựng được sơ đồ địa chỉ toàn cầu cho việc triển khai số lượng lớn các nút đó vì lượng mào đầu để duy trì ID quá cao
- Dữ liệu trong mạng cảm biến yêu cầu cảm nhận từ nhiều nguồn khác nhau
và truyền đến node master
- Các nút cảm biến bị ràng buộc khá chặt chẽ về mặt năng lượng, tốc độ xử
lý, lưu trữ
Trang 23- Hầu hết trong các ứng dụng mạng cảm biến các nút nói chung là tĩnh sau khi được triển khai ngoại trừ một vài nút có thể di động
- Việc nhận biết vị trí là vấn đề rất quan trọng vì việc tập hợp dữ liệu thông thường dựa trên vị trí
- Khả năng dư thừa dữ liệu rất cao vì các nút cảm biến thu lượm dữ liệu dựa trên hiện tượng chung
Trong phần này sẽ nghiên cứu hai loại giao thức định tuyến chính hay được dùng trong mạng cảm biến, đó là định tuyến trung tâm dữ liệu (Data Center Protocol), định tuyến phân cấp (Hierarchical Protocol)
1.3.3.1 Định tuyến trung tâm dữ liệu (Data Center Protocol)
Trong nhiều ứng dụng của mạng cảm ứng thì việc xác định số nhận dạng toàn cầu cho từng nút là không khả thi Việc thiếu số nhận dạng toàn cầu như vậy, cùng với việc triển khai ngẫu nhiên các nút gây khó khăn trong việc chọn ra tập hợp các nút chuyên dụng để đưa yêu cầu Vì thế dữ liệu được truyền từ mọi nút trong vùng triển khai với độ dư thừa đáng kể, do vậy việc sử dụng năng lượng sẽ không hiệu quả Do vậy người ta đã đưa ra các giao thức định tuyến mà có khả năng chọn
ra tập hợp các nút và thực hiện tập trung dữ liệu trong suốt quá trình truyền Điều này đã dẫn đến ý tưởng về giao thức trung tâm dữ liệu Trong giao thức định tuyến này, node master gửi yêu cầu đến các vùng xác định và đợi dữ liệu từ các sensor đã được chọn trước trong vùng SPIN là giao thức đầu tiên thuộc loại này mà đã đề cập đến việc dàn xếp dữ liệu giữa các nút để giảm bớt sự dư thừa dữ liệu và tiết kiệm năng lượng Sau đó Directed Diffusion (truyền tin trực tiếp) được phát triển
và là một giao thức rất đáng chú ý trong định tuyến trung tâm dữ liệu.[10]
1.3.3.1.1 SPIN (Sensor Protocols for Information via Negotiation)
Ý tưởng của SPIN là đặt tên dữ liệu sử dụng ký hiệu mô tả ở mức độ cao hay còn gọi là thông tin về dữ liệu (meta-data) Trước khi truyền, thông tin về dữ liệu được trao đổi giữa các sensor qua một cơ chế thông báo dữ liệu, đó chính là đặc điểm chính của SPIN Mỗi một nút nhận dữ liệu mới, thông báo tới các nút lân cận
Trang 24của nó và các nút lân cận quan tâm đến dữ liệu này, ví dụ như các nút mà không có
dữ liệu, lấy được dữ liệu nhờ gửi bản tin yêu cầu Sự dàn xếp các thông tin về dữ liệu của SPIN giải quyết được các vấn đề của flooding như là thông tin dư thừa, chồng chéo các vùng cảm nhận, vì vậy đạt được hiệu quả về mặt năng lượng
Có 3 bản tin được xác định trong SPIN dùng để trao đổi dữ liệu giữa các nút,
đó là bản tin ADV cho phép các nút thông báo một meta-data cụ thể, bản tin REQ
để yêu cầu các dữ liệu đặc biệt và bản tin DATA để mang thông tin thực Hình dưới miêu tả tổng kết lại các quá trình của SPIN
Hình 1.10 Giao thức SPIN
Nút A bắt đầu quảng bá dữ liệu tới nút B (a) Nút B trả lời bằng cách gửi yêu cầu tới nút A (b) Sau khi nhận dữ liệu yêu cầu (c), nút B bản tin quảng bá đến các nút lân cận (d), sau đó các nút này gửi yêu cầu lại cho B (e-f)
Trang 25Một ưu điểm của SPIN là các thay đổi về cấu hình được khoanh vùng vì thế các nút chỉ cần nhận biết các nút lân cận của chúng Tuy nhiên cơ chế thông báo dữ liệu của SPIN không thể đảm bảo được việc phân phối dữ liệu Ví dụ trong trường hợp nếu các nút cần dữ liệu ở xa so với nút nguồn trong khi các nút ở giữa nguồn
và đích lại không cần (interested) dữ liệu thì dữ liệu sẽ không được phân phối đến tận địch Vì thế SPIN không được sử dụng cho các ứng dụng như là phát hiện xâm nhập mà yêu cầu độ tin cậy trong việc phân phối các gói dữ liệu qua các khoảng thời gian đều đặn
1.3.3.1.2 Truyền trực tiếp Directed Diffusion
Ý tưởng của phương pháp này là truyền dữ liệu qua các nút cảm ứng bằng việc sử dụng lược đồ đặt tên cho dữ liệu Mục đích chính của việc sử dụng lược đồ này là loại bỏ những hoạt động không cần thiết của định tuyến lớp mạng để tiết kiệm năng lượng Directed Diffusion đưa ra việc sử dụng cặp giá trị thuộc tính cho
dữ liệu và gửi yêu cầu đến các sensor dựa trên các cặp địa chỉ này Để tạo ra một yêu cầu, người ta tạo ra các thông tin yêu cầu được xác định dùng các cặp giá trị thuộc tính như là tên vật thể, vị trí địa lý, khoảng thời gian… các thông tin này được quảng bá thông qua sink đến các nút lân cận Mỗi một nút nhận được thông tin đó sẽ giữ lại để dùng sau này Các thông tin được giữ lại này dùng để so sánh dữ liệu nhận được với giá trị trong thông tin đó Các thông tin này cũng bao gồm các trường gradient Gradient là đường trả lời đến nút lân cận từ nơi mà nhận được thông tin yêu cầu Nó được mô tả bởi tốc độ dữ liệu, khoảng thời gian và thời gian mãn hạn nhận được từ các thông tin yêu cầu Vì thế nhờ việc sử dụng các thông tin yêu cầu và gradient thiết lập được các đường truyền giữa sink và các nguồn Có thể thiết lập được nhiều đường vì thế có thể chọn một trong số các đường đó bằng cách reinforcement Node master gửi lại các bản tin gốc qua những đường đã được chọn với khoảng thời gian giữa hai sự kiện ngắn hơn vì vậy tăng cường nút nguồn trên đường đó để gửi dữ liệu đều đặn hơn
Trang 26Hình 1.11 Các pha của giao thức truyền tin trực tiếp
(a) truyền yêu cầu (interest)
(b) thiết lập gradient ban đầu
(c) phân phối dữ liệu theo reinforcement
Trong Directed Diffusion ta cũng có thể sửa lại đường đi Khi một đường giữa nguồn và sink hỏng thì cần phải tạo ra một đường mới hoặc đường thay thế Trong trường hợp này, Directed Diffusion về cơ bản phải tái thiết lập lại sự củng cố bằng việc tìm giữa những đường khác mà đang gửi dữ liệu ở tốc độ thấp hơn Ganesan có ý kiến áp dụng cơ chế đa đường, trong trường hợp một đường bị hỏng thì sẽ chọn một trong số các đường thay thế đó mà không cần tốn chi phí để tìm một đường khác Trong trường hợp này tất nhiên sẽ có một số lượng lớn mào đầu
để giữ cho những đường thay thế này tồn tại bằng cách dùng tốc độ dữ liệu thấp, cách này sẽ tiêu hao khá nhiều năng lượng nhưng sẽ tiết kiệm nhiều năng lượng hơn trong trường hợp một đường bị hỏng và phải chọn một đường mới khác
Trang 27Directed Diffusion khác SPIN ở cơ chế gửi dữ liệu theo yêu cầu Trong Directed Diffusion, khi có dữ liệu nào đó thích hợp thì sink gửi yêu cầu đến các nút cảm ứng bằng việc flooding một vài nhiệm vụ Với SPIN thì các sensor quảng bá các dữ liệu thích hợp cho phép các nút quan tâm yêu cầu dữ liệu đó Directed Diffusion có nhiều ưu điểm, vì là tập trung dữ liệu nên tất cả các giao tiếp từ nút lân cận này đến nút lân cận khác không cần một cơ chế xác định nút Ngoài nhiệm vụ cảm nhận thì mỗi một nút còn có thể tập trung và dự trữ dữ liệu Dự trữ là một thuận lợi lớn trong sử dụng hiệu quả năng lượng và trễ Hơn nữa, Directed Diffusion có hiệu quả sử dụng năng lượng cao vì nó hoạt động theo yêu cầu và không cần một cấu hình mạng duy trì toàn cầu
Tuy nhiên Directed Diffusion không thể được áp dụng cho tất cả các ứng dụng của mạng cảm ứng vì nó dựa trên mô hình phân phối dữ liệu theo hướng đưa
ra yêu cầu Các ứng dụng mà yêu cầu phân phối dữ liệu liên tiếp đến sink sẽ không hoạt động hiệu quả với mô hình này Vì vậy, Directed Diffusion không phải là một lựa chọn tốt cho giải thuật định tuyến cho các ứng dụng như là kiểm tra môi trường Hơn nữa, lược đồ đặt tên dùng trong Directed Diffusion là không phải là một ứng dụng độc lập Hơn nữa, quá trình phù hợp giữa dữ liệu và các yêu cầu đòi hỏi thêm các mào đầu ở các sensor
1.3.3.2 Định tuyến phân cấp
Khả năng mở rộng là một vấn đề cần quan tâm của mạng cảm ứng Mạng đơn cấp có thể gây ra quá tải ở các cổng giao tiếp khi mật độ các sensor tăng lên Những sự quá tải như vậy có thể làm cho sự kiện được theo dõi không đầy đủ Hơn nữa cấu trúc cổng đơn không thể mở rộng khi có một số lượng lớn hơn sensor trong một vùng rộng hơn vì các sensor không có khả năng giao tiếp qua khoảng cách lớn
Để cho phép hệ thống có thể phục vụ với những tải thêm vào và có khả năng bao phủ một vùng rộng mà không giảm chất lượng dịch vụ thì người ta đưa ra định tuyến phân cấp
Mục đích chính của định tuyến phân cấp là để duy trì hiệu quả việc tiêu thụ năng lượng của các nút cảm ứng bằng việc đặt chúng trong giao tiếp multihop trong một cụm cụ thể và bằng việc thực hiện tập trung và hợp nhất dữ liệu để giảm số bản tin được truyền đến node chính Sự hình thành các cụm chủ yếu dựa trên năng lượng dự trữ của sensor và vùng lân cận của sensor so với các nút chủ của cụm LEACH là một trong số những cách tiếp cận định tuyến phân cấp đầu tiên cho
Trang 28mạng cảm ứng Ý tưởng của LEACH là động lực cho rất nhiều giao thức định tuyến phân cấp khác phát triển
Phân cấp theo cụm thích ứng năng lượng thấp LEACH (Low-Energy Adaptive Clustering Hierarchy) là một trong những giải thuật định tuyến phân cấp cho mạng cảm ứng Ý tưởng là để hình thành các cụm nút cảm ứng dựa vào cường
độ tín hiệu nhận và dùng các nút chủ của cụm như là các router đến các sink Việc này sẽ tiết kiệm năng lượng vì quá trình truyền chỉ có thể thực hiện bằng các nút chủ của cụm thay cho việc sử dụng tất cả các nút cảm ứng
Mục tiêu chính của LEACH là:
- Mở rộng thời gian sống của mạng
- Giảm sự tiêu thụ năng lượng bởi mỗi nút mạng
- Sử dụng tập trung dữ liệu để giảm bản tin truyền dẫn trong mạng
Quá trình hoạt động của LEACH được chia thành hai bước là bước thiết lập
và bước ổn định Thời gian của bước ổn định kéo dài hơn so với thời gian của bước thiết lập để giảm thiểu phần điều khiển
Hình 1.12 Mô hình mạng LEACH
Trang 29Khi dùng LEACH thì giảm được sự hao phí năng lượng so với truyền trực tiếp và so với các giải thuật định tuyến truyền năng lượng tối thiểu Các nút có thể ngừng hoạt động ngẫu nhiên và các cụm động sẽ làm tăng thời gian sống của mạng
Tuy nhiên LEACH dùng định tuyến đơn điểm, các nút có thể truyền trực tiếp đến các nút chủ và sink Vì thế nó sẽ không thích hợp với mạng mà triển khai trên diện rộng Hơn nữa, ý tưởng về các cụm động đòi hỏi số lượng mào đầu lớn, ví dụ như các sự thay đổi nút chủ, quảng bá… Ngoài ra LEACH chưa xác định cụ thể được số lượng tối ưu các nút chính của mạng khi mà các mạng khác nhau có cấu hình, mật độ và số lượng nút khác nhau Chưa có gợi ý về khi nào thì việc tái tạo lại các nút chính cần được thực hiện Các nút chính ở xa trạm gốc sẽ tiêu thụ nhiều năng lượng hơn và nhanh chóng dừng hoạt động hơn các nút khác
1.4 Kiến trúc giao thức mạng
Trong mạng cảm ứng, dữ liệu sau khi được thu thập bởi các nút sẽ được định tuyến gửi đến sink Sink sẽ gửi dữ liệu đến người dùng đầu cuối thông qua internet hay vệ tinh Kiến trúc giao thức được sử dụng bởi nút gốc và các nút cảm biến được trình bày trong hình:
Trang 30Hình 1.13 Kiến trúc giao thức của mạng cảm biến
Kiến trúc giao thức này kết hợp giữa công suất và chọn đường, kết hợp số liệu với các giao thức mạng, sử dụng công suất hiệu quả với môi trường vô tuyến
và sự tương tác giữa các nút cảm biến Kiến trúc giao thức bao gồm lớp vật lý, lớp liên kết dữ liệu, lớp mạng, lớp truyền tải, lớp ứng dụng, phần quản lý công suất, phần quản lý di động và phần quản lý nhiệm vụ
- Lớp ứng dụng : Tùy vào từng nhiệm vụ của mạng cảm biến mà các phần mềm ứng dụng khác nhau được xây dựng và sử dụng trong lớp ứng dụng.Trong lớp ứng dụng có mốt số giao thức quan trọng như giao thúc quản lí mạng sensor (SMP), giao thức quảng bá dữ liệu và chỉ định nhiệm vụ cho từng sensor (TADAP),giao thức phân phối dữ liệu và truy vấn cảm biến (SQDDP)
-Lớp vận chuyển: Lớp truyền tải giúp duy trì luồng số liệu nếu ứng dụng mạng cảm biến yêu cầu.Lớp truyền tải đặc biệt cần khi mạng cảm biến kết nối với mạng bên ngoài, hay kết nối với người dùng qua internet Giao thức lớp vận chuyển giữa sink với người dùng (nút quản lý nhiệm vụ) thì có thể là giao thức UDP hay TCP thông qua internet hoặc vệ tinh Còn giao tiếp giữa sink và các nút cảm biến
Trang 31cần các giao thức kiểu như UDP vì các nút cảm biến bị hạn chế về bộ nhớ Hơn nữa các giao thức này còn phải tính đến sự tiêu thụ công suất, tính mở rông và định tuyến tập trung dữ liệu
- Lớp mạng: Lớp mạng quan tâm đến việc định tuyến dữ liệu được cung cấp bởi lớp truyền tải.Việc định tuyến trong mạng cảm biến phải đối mặt với rất nhiều thách thức như mật độ các nút dày đặc, hạn chế về năng lượng… Do vậy thiết kế lớp mạng trong mạng cảm biến phải theo các nguyên tắc sau:
Tính hiệu quả về năng lượng luôn được xem là vấn đề quan trọng hàng đầu
Các mạng cảm biến gần như là tập trung dữ liệu
Tích hợp dữ liệu và giao thức mạng
Phải có cơ chế địa chỉ theo thuộc tính và biết về vị trí
Có rất nhiều giao thức định tuyến được thiết kế cho mạng cảm biến không dây Nhìn tổng quan, chúng được chia thành ba loại dựa vào cấu trúc mạng, đó là định tuyến ngang hàng, định tuyến phân cấp, định tuyến dựa theo vị trí Xet theo hoạt động thì chúng được chia thành định tuyến dựa trên đa đường (multipath-based), định tuyến theo truy vấn (query- based), định tuyến negotiation-based, định tuyến theo chất lượng dịch vụ (QoS-based), định tuyến kết hợp (coherent-based)
-Lớp kết nối dữ liệu: Lớp kết nối dữ liệu chịu trách nhiệm cho việc ghép các luồng dữ liệu, dò khung dữ liệu, điều khiển lỗi và truy nhập môi trường Nó đảm bảo cho giao tiếp điểm -điểm, điểm-đa điểm tin cậy.Vì môi trường có tạp âm và các nút cảm biến có thể di động, giao thức điều khiển truy nhập môi trường (MAC) phải xét đến vấn đề công suất và phải có khả năng tối thiểu hoá việc va chạm với thông tin quảng bá của các nút lân cận
- Lớp vật lý: Lớp vật lý chịu trách nhiệm lựa chọn tần số, phát tần số sóng mang, điều chế, lập mã và tách sóng
Ngoài ra, các phần quản lý công suất, quản lý di chuyển và quản lý nhiệm
vụ sẽ giám sát việc sử dụng công suất, sự di chuyển và thực hiện nhiệm vụ giữa các nút cảm biến Những phần này giúp các nút cảm biến phối hợp nhiệm vụ cảm biến
và tiêu thụ công suất tổng thể thấp hơn
- Phần quản lý công suất điều khiển việc sử dụng công suất của nút cảm biến
Ví dụ, nút cảm biến có thể tắt khối thu của nó sau khi thu được một bản tin từ
Trang 32một nút lân cận Điều này giúp tránh tạo ra các bản tin giống nhau Cũng vậy, khi mức công suất của nút cảm biến thấp, nút cảm biến phát quảng bá tới các nút lân cận để thông báo nó có mức công suất thấp và không thể tham gia vào các bản tin chọn đường Công suất còn lại sẽ được dành riêng cho nhiệm vụ cảm biến
- Phần quản lý di động phát hiện và ghi lại sự di chuyển của các nút cảm biến
để duy trì tuyến tới người sử dụng và các nút cảm biến có thể lưu vết của các nút cảm biến lân cận Nhờ xác định được các nút cảm biến lân cận, các nút cảm biến có thể cân bằng giữa công suất của nó và nhiệm vụ thực hiện
- Phần quản lý nhiệm vụ dùng để làm cân bằng và lên kế hoạch các nhiệm vụ cảm biến trong một vùng xác định Không phải tất cả các nút cảm biến trong vùng
đó điều phải thực hiện nhiệm vụ cảm biến tại cùng một thời điểm Kết quả là một
số nút cảm biến thực hiện nhiệm vụ nhiều hơn các nút khác tuỳ theo mức công suất của nó
Những phần quản lý này là cần thết để các nút cảm biến có thể làm việc cùng nhau theo một cách thức sử dụng hiệu quả công suất, chọn đường số liệu trong mạng cảm biến di động và phân chia tài nguyên giữa các nút cảm biến
Ngoài ra, còn có các giao thức đặc trưng hỗ trợ cho mạng WSN: giao thức định vị (Location protocol), giao thức đồng bộ thời gian (Time synchronization protocol), giao thức điều khiển cấu hình mạng (topology control).Trong nhiều trường hợp việc xác định vị trí trong thế giới tự nhiên của các nút cảm biến là rất cần thiết Ví dụ các ứng dụng kiểm tra và phát hiện sự kiện sảy ra ở đâu, nếu không có thông tin vị trí thì không thể báo cáo chính xác Vấn đề thời gian rất quan trọng trong nhiều ứng dụng và giao thức trong mạng cảm ứng.Giao thức đồng bộ thời gian đảm bảo cho mạng hoạt động đồng bộ, giảm các sai lệch về thời gian, hoạt động hiệu quả và báo cáo kết quả chính xác về thời gian Còn việc điều khiển cấu hình mạng cũng rất quan trọng Như đã trình bày trong các phần trên, mạng WSN có thể triển khai ngẫu nhiên, mật độ các nút rất dày dặc nếu không có cơ chế điều khiển topo tốt các nút sẽ cản trở nhau trong việc giao tiếp, giao tiếp trực tiếp giữa các nút sẽ làm giảm công suất truyền dẫn Hơn nữa, khi các nút cảm biến mà di chuyển thì cần phải điều khiển lại cấu hình và định tuyến lại
1.5 Lỗi trong quá trình tuyền tin
Khi truyền thông tin trong mạng, thông tin truyền từ phía phát sang phía thu
có thể bị sai, lỗi hoặc mất Trong trường hợp thông tin bị mất, cần phải thực hiện
Trang 33truyền lại thông tin Với trường hợp thông tin bị sai, có thể sửa sai bằng một trong hai cách:
Sửa lỗi trực tiếp bên thu: phía thu sau khi phát hiện lỗi có thể sửa lỗi trực tiếp ngay bên thu mà không yêu cầu phải phát lại Để có thể thực hiện được điều này, thông tin trước khi truyền đi phải được cài các mã sửa lỗi (bên cạnh việc có khả năng phát hiện lỗi, cần có khả năng sửa lỗi) Đó là cơ chế sửa lỗi chuyển tiếp FEC (Forward Error Correction)
Yêu cầu phía phát truyền lại: phía thu sau khi kiểm tra và phát hiện có lỗi sẽ yêu cầu phía phát truyền lại thông tin Đó là sử dụng cơ chế yêu cầu trả lời tự động ARQ (Automatic Repeat Request)
+ Cơ chế yêu cầu trả lời tự động ARQ hoạt động như sau:
- Phát hiện lỗi
- Positive acknowledgement (ACK): frame nhận OK tại Rx
- Truyền lại sau timeout
- Negative acknowledgement (NACK): truyền lại
được chia ra làm 3 loại chính:
- Cơ chế phát lại dừng và đợi (Stop-and-Wait ARQ)
Hình 1.14a Cơ chế phát lại dừng và đợi Stop and Wait ARQ
Tx gửi 1 frame và đợi ACK từ Rx trước khi truyền next frame
Trang 34Tx phải giữ bản copy của frame đã gửi đến khi nhận đươc ACK
Sử dụng timeout cho các frame hoặc ACK bị mất
Đánh số các frame gửi và nhận để nhận biết khi lặp frame
- Cơ chế phát lại theo nhóm (Go-back-N ARQ)
Hình 1.14b Cơ chế phát lại theo nhóm Go back N ARQ
Tx có thể truyền liên tiếp các frame
Rx gửi negative acknowledgement (REJ) khi phát hiện lỗi
Tx phải truyền lại tất cả các frame từ frame bi lỗi
Tx phải giữ bản copy của tất cả các frame đã gửi
- Cơ chế phát lại có lựa chọn (Selective Repeat ARQ)
Trang 35Hình 1.15 Cơ chế phát lại có lựa chọn Selective Repeat ARQ
Tx có thể truyền liên tiếp các frame
Rx gửi negative acknowledge (SREJ) khi phát hiện lỗi
Rx lưu lại tất cả các frame OK sau frame bị lỗi
Tx chỉ gửi lại duy nhất frame bị lỗi
Rx phải sắp xếp lại các frame đã lưu sau khi nhận được frame truyền lại + Cơ chế sửa lỗi chuyển tiếp FEC: là một hệ thống quản lý và sửa lỗi trong truyền thông kỹ thuật số Nguyên tắc của FEC là người gửi thêm thông tin trùng lặp vào trong thông điệp gửi đi, điều đó cho phép người nhận có thể tự kiểm tra và sửa lỗi (nếu có) gây ra do kênh truyền Lợi điểm của FEC là không yêu cầu gửi lại thông tin
Do năng lượng trong mỗi node của mạng cảm biến bị hạn chế nên cơ chế sửa lỗi chuyển tiếp FEC tỏ ra hiệu quả hơn cơ chế ARQ
1.6 Một số ứng dụng trong mạng cảm biến
Mạng cảm biến không dây được ứng dụng cho nhiều lĩnh vực khác nhau như cảm biến động đất, cảm biến từ trường tốc độ lấy mẫu thấp, cảm biến thị giác, cảm biến hồng ngoại, cảm biến âm thanh, radar… và có thể quan sát vùng rộng các điều kiện xung quanh đa dạng như:
- Sự có mặt hay vắng mặt một đối tượng nào đó
- Mức ứng suất trên các đối tượng bị gắn
Trang 36- Đặc tính hiện tại như tốc độ, chiều và kích thước của đối tượng
Các nút cảm biến có thể được sử dụng để cảm biến liên tục hoặc là phát hiện
sự kiện, số nhận dạng sự kiện, cảm biến vị trí và điều khiển cục bộ bộ phận phát động Khái niệm vi cảm biến và kết nối không dây của những nút này hứa hẹn nhiều vùng ứng dụng mới Các ứng dụng được ứng trong quân đội, môi trường, sức khỏe, gia đình và các lĩnh vực thương mại khác
1.6.1 Ứng dụng trong quân đội
Mạng cảm biến không dây có thể tích là một phần tích hợp trong hệ thống điều khiển quân đội, giám sát, giao tiếp, tính toán thông minh, trinh sát, theo dõi mục tiêu Đặc tính triển khai nhanh, tự tổ chức và có thể bị lỗi của mạng cảm biến làm cho chúng hứa hẹn kỹ thuật cảm biến cho hệ thống trong quân đội Vì mạng cảm biến dựa trên sự triển khai dày đặc của các nút cảm biến có sẵn, chi phí thấp và
sự phá hủy của một vài nút bởi quân địch không ảnh hưởng đến hoạt động của quân đội cũng như sự phá hủy các cảm biến truyền thống làm cho khái niệm mạng cảm biến là ứng dụng tốt đối với chiến trường Một vài ứng dụng quân đội của mạng cảm biến là quan sát lực lượng, trang thiết bị, đạn dược, theo dõi chiến trường do thám địa hình và lực lượng quân địch, mục tiêu, việc đánh giá mức độ nguy hiểm của chiến trường, phát hiện và do thám việc tấn công bằng hóa học, sinh học, hạt nhân
Giám sát lực lượng , trang thiết bị và đạn dược: Các người lãnh đạo, sĩ quan
sẽ theo dõi liên tục trạng thái lực lượng quân đội, điều kiện và sự có sẵn của các thiết bị và đạn dược trong chiến trường bằng việc sử dụng mạng cảm biến Quân đội, xe cộ, trang thiết bị và đạn dược có thể gắn liền với các thiết bị cảm biến nhỏ
để có thể thông báo về trạng thái Những bản báo cáo này được tập hợp lại tại các nút sink để gửi tới lãnh đạo trong quân đội Dữ liệu cũng có thể được chuyển tiếp đến các cấp cao hơn
Giám sát chiến trường: địa hình hiểm trở, các tuyến đường, đường mòn và các chỗ eo hẹp có thể nhanh chóng được bao phủ bởi mạng cảm biến và gần như có thể theo dõi các hoạt động của quân địch Khi các hoạt động này được mở rộng và
kế hoạch hoạt động mới được chuẩn bị một mạng mới có thể được triển khai bất cứ thời gian nào khi theo dõi chiến trường
Trang 37Giám sát địa hình và lực lượng quân địch: mạng cảm biến có thể được triển khai ở những địa hình then chốt và một vài nơi quan trọng, các nút cảm biến cần nhanh chóng cảm nhận các dữ liệu và tập trung dữ liệu gửi về trong vài phút trước khi quân địch phát hiện và có thể chặn lại chúng Hình cho ta hình dung được về ứng dụng của mạng cảm biến trong hoạt động quân đội
Hình 1.16 Node cảm biến được gán lên mũ
Trang 38Hình 1.17 Ứng dụng mạng cảm biến trong quân đội
Đánh giá sự nguy hiểm của chiến trường: trước và sau khi tấn công mạng cảm biến có thể được triển khai ở những vùng mục tiêu để nắm được mức độ nguy hiểm của chiến trường
Phát hiện và thăm dò các vụ tấn công bằng hóa học, sinh học và hạt nhân Trong các cuộc chiến tranh hóa học và sinh học đang gần kề, một điều rất quan trọng là sự phát hiện đúng lúc và chính xác các tác nhân đó Mạng cảm biến triển khai ở những vùng mà được sử dụng như là hệ thống cảnh báo sinh học và hóa học
có thể cung cấp các thông tin mang ý nghĩa quan trọng đúng lúc nhằm tránh thương vong nghiêm trọng
1.6.2 Ứng dụng trong môi trường
Một vài ứng dụng môi trường của mạng cảm biến bao gồm theo dõi sự di cư của các loài chim, các động vật nhỏ, các loại côn trùng, theo dõi điều kiện môi trường mà ảnh hưởng đến mùa màng và vật nuôi, việc tưới tiêu, các thiết bị đo đạc lớn đối với việc quan sát diện tích lớn trên trái đất, sự thăm dò các hành tinh, phát hiện sinh-hóa, nông nghiệp chính xác, quan sát môi trường, trái đất, môi trường vùng biển và bầu khí quyển, phát hiện cháy rừng, nghiên cứu khí tượng học và địa
Trang 39lý, phát hiện lũ lụt, sắp đặt sự phức tạp về sinh học của môi trường và nghiên cứu
sự ô nhiễm
Hình 1.18 Ứng dụng trong môi trường
Phát hiện cháy rừng: vì các nút cảm biến có thể được triển khai một cách ngẫu nhiên, có chiến lược với mật độ cao trong rừng, các nút cảm biến sẽ dò tìm nguồn gốc của lửa để thông báo cho người sử dụng biết trước khi lửa lan rộng không kiểm soát được Hàng triệu các nút cảm biến có thể được triển khai và tích hợp sử dụng hệ thống tần số không dây hoặc quang học Cũng vậy, chúng có thể được trang bị cách thức sử dụng công suất có hiểu quả như là pin mặt trời bởi vì các nút cảm biến bị bỏ lại không có chủ hàng tháng và hàng năm Các nút cảm biến
sẽ cộng tác với nhau để thực hiện cảm biến phân bố và khắc phục khó khăn, như các cây và đá mà ngăn trở tầm nhìn thẳng của cảm biến có dây
Trang 40Hình 1.19 Cảnh báo cháy rừng Phát hiện lũ lụt: một ví dụ đó là hệ thống báo động được triển khai tại Mỹ Một vài loại cảm biến được triển khai trong hệ thống cảm biến lượng mưa, mức nước, thời tiết Những con cảm biến này cung cấp thông tin để tập trung hệ thống
cơ sở dữ liệu đã được định nghĩa trước
1.6.3 Ứng dụng trong chăm sóc sức khỏe
Một vài ứng dụng về sức khỏe đối với mạng cảm biến là giám sát bệnh nhân, các triệu chứng, quản lý thuốc trong bệnh viện, giám sát sự chuyển động và xử lý bên trong của côn trùng hoặc các động vật nhỏ khác, bác sĩ theo dõi và kiểm tra bệnh nhân trong bệnh viện