mã hóa nguồn phân tán sử dụng mã LDPC trong mạng cảm biến không dây
Trang 1LỜI NÓI ĐẦU
Ngày nay, nhờ có sự tiến bộ vượt bậc trong khoa học và kỹ thuật, các công nghệ mạng không dây ngày nay đang được phát triển mạnh mẽ và có nhiều ứng dụng thiết thực trong cuộc sống Với khả năng cơ động cao, thuận tiên trong sử dụng, các công nghệ này đang dần dần thay thế các công nghệ mạng có dây truyền thống Song cũng do sự di chuyển của các thiết bị di động trong mạng làm cho topo mạng luôn thay đổi, cùng với đó là tỷ lệ lỗi cao và giới hạn về băng thông, năng lượng so với mạng có dây, nên các giao thức định tuyến trong mạng không dây trở nên phức tạp hơn Mô hình mã hóa nguồn phân tán trong mạng cảm biến không dây
là một chủ đề mới với khả năng giảm dung lượng tín hiệu tại nguồn bằng cách khai thác sự tương quan giữa các nguồn với nhau, cho nên làm giảm khối lượng tính toán cũng như năng lương tiêu thụ Đồ án này được thực hiện nhằm mục đích tìm hiểu sâu hơn về mã hóa nguồn phân tán sử dụng mã LDPC trong mạng cảm biến không dây
Trong quá trình thực hiện đồ án, em đã gặp rất nhiều khó khăn Tuy nhiên được sự giúp đỡ tận tình của thầy giáo Nguyễn Trung Dũng, cùng bạn trong nhóm cũng như các bạn trong phòng lab em đã hoàn thành đồ án này
Mặc dù đã cố gắng hết sức nhưng đồ án chắc chắn không tránh khỏi nhiều thếu sót, vì thế em rất mong nhận được sự góp ý từ các thầy, cô giáo và các bạn để hoàn thiện hơn
Em xin gửi lời cảm ơn chân thành đến:
- Thầy giáo Nguyễn Trung Dũng
- Các bạn trong phòng lab WSN
- Cùng toàn thể gia đình, bạn bè đã hỗ trợ cho em
Hà Nội, ngày 20/05/2014 Sinh viên thực hiện Hoàng Thanh Tùng ĐT01-K54
Trang 2TÓM TẮT ĐỒ ÁN
Mã hóa nguồn phân tán trong mạng cảm biến không dây sử dụng LDPC:
Công nghệ mạng cảm biến không dây WSN đang ngày càng phát triển và có nhiều ứng dụng thực tế Đồ án được thực hiện sẽ tổng hợp các kiến thức cơ bản về mạng cảm biến không dây, tìm hiểu sâu hơn về mã hóa nguồn phân tán dựa trên sự tương quan của các nguồn: các loại mã hóa nguồn phân tán, và cụ thể là mã hóa nguồn phân tán sử dụng syndrome Mục tiêu của đồ án là để tìm ra cách tốt nhất cho việc nén và mã hóa dữ liệu được truyền trên mạng cảm biến không dây Điều này rất được quan tâm vì việc nén sẽ giúp nghiên cứu những yêu cầu chặt chẽ cho việc truyền trên mỗi cảm biến Mã LDPC là mã được sử dụng trong đồ án làm giảm số lượng bít của dữ liệu nguồn truyền đi, giảm tỷ lệ lỗi bít và giảm năng lượng tiêu thụ Hiệu quả của mô hình mạng phân tán này sẽ được kiểm tra bằng công cụ mô phỏng Matllab
ABSTRACT
Distributed Source Coding in Wireless sensor network with LDPC code:
Wireless sensor network technologys are more and more developing, applied
in ourlife ways Project implementation will be integrated knowledge base on wireless sensor network, a better understanding of distributed source coding based
on the correlation of the source: the distributed source coding type, and specific distributed source coding using syndrome The goal of the work is to find the best practical implementation with respect to compression and coding of the data to be transmitted by sensors in a wireless network This is desirable because compression will help reaching the tight requirements on transmitted effect in each sensor The recently developed scheme of distributed source coding is a revolutionary way of doing this LDPC code is the code used in the scheme reduces the number of data bits transmitted power, reduce bit error rate and reducing energy consumption The effectiveness of this distributed network model will be tested using simulation tools Matllab
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 1
TÓM TẮT ĐỒ ÁN 2
MỤC LỤC 3
CÁC HÌNH VẼ SỬ DỤNG TRONG ĐỒ ÁN 5
CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN 6
CHƯƠNG I : TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY 7
1.1 Giới thiệu về mạng cảm biến không dây 7
1.2 Cấu trúc mạng WSN 7
1.2.1 Cấu trúc 1 node mạng WSN 7
1.2.2 Cấu trúc mạng cảm biến không dây 9
1.2.3 Kiến trúc giao thức mạng WSN 10
1.2.4 Các yếu tố ảnh hưởng đến mạng WSN 13
1.3 Các vấn đề và mô hình trong mạng cảm biến không dây 16
CHƯƠNG II : MÃ NGUỒN PHÂN TÁN TRONG MẠNG CẢM BIẾN KHÔNG DÂY 18
2.1 Mã nguồn phân tán 18
2.2 DSC không tổn thất 20
2.2.1 Mã hóa Slepian-Wolf của hai nguồn nhị phân 21
2.3 DSC tổn thất 22
2.3.1 Trường hợp đối xứng mã nhị phân 24
2.3.2 Trường hợp Gaussian bậc hai 24
2.4 Lựa chọn mã LDPC 25
CHƯƠNG 3 : MÃ NGUỒN PHÂN TÁN SỬ DỤNG SYNDROME 26
3.1 Mã nguồn phân tán sử dụng các syndrome 26
3.2 Thiết kế đối xứng 28
3.2.1 Cấu trúc bộ giải mã 30
3.2.2 Đa nguồn 30
3.3 Mã hóa LDPC 31
3.3.1 Giới thiệu một số loại mã 31
3.3.2 Mã LDPC 37
Trang 43.4 Mã LDPC trong việc cài đặt phân tán 41
3.4.1 Việc xây dựng mã cho trường hợp đối xứng 42
CHƯƠNG 4 : MÔ PHỎNG TRÊN MATLAB 44
4.1 Giới thiệu về công cụ mô phỏng MATLAB 44
4.1.1 Giới thiệu về MATLAB 44
4.1.2 Cách tìm một bản MATLAB để sử dụng 44
4.1.3 Sử dụng MATLAB hiệu quả 45
4.2 Mô phỏng trên MATLAB 46
4.2.1 Thực hiện mã Hamming 47
4.2.2 Thực hiện mã LDPC 49
KẾT LUẬN CHUNG 51
PHỤ LỤC 52
Trang 5CÁC HÌNH VẼ SỬ DỤNG TRONG ĐỒ ÁN
Hình 1.1 Mô hình mạng cảm biến không dây………8
Hình 1.2 Các thành phần của một node cảm ứng……… 9
Hình 1.2.2 Cấu trúc mạng cảm biến không dây……… 11
Hình 1.2.3 Kiến trúc giao thức của mạng cảm biến………12
Hình 1.4 Mạng WSN với hai mô hình mạng khác nhau……… 19
Hình 2.1a Mã hóa nguồn phân tán với thông tin biên tại bộ giải mã……… 21
Hình 2.1b Kênh tương quan ảo giữa X và Y……… 22
Hình 2.2 Vùng tốc độ bít của 2 nguồn………23
Hình 2.2.1 Cấu trúc coset………25
Hình 2.4a Sơ đồ khối của mã hóa Wyner-Ziv………25
Hình 2.4b Bên trong và bên ngoài vùng tỷ lệ của DSC tổn thất……….26
Hình 3.1 Đầu ra có thể của Y nếu X thuộc coset {000, 111}……… 30
Hình 3.2 Cấu trúc bộ tạo ma trận trong trường hợp đối xứng ………32
Hình 3.2.2 Định nghĩa ma trận trong trườn hợp đa nguồn……… 33
Hình 3.3.1.1a Cấu trúc bộ mã hóa Turbo………34
Hình 3.3.1.1b Cấu trúc bộ giải mã Turbo……… 35
Hình 3.3.2 Ma trận kiểm tra chẵn lẻ cho mã LDPC ( 20,3,4)……….41
Hình 3.3a Tanner đồ thị đại diện của một mã (6,3)……….43
Hình 3.3b Giải mã (6,3)……… 44
Hình 3.4.1a Giải mã với các đồ thị Tanner trong trường hợp máy đơn………… 46
Hình 3.4.1b Giải mã với các đồ thị Tanner trong trường hợp hai máy………47
Hình 4.2 Bên phát của hệ thống……… 51
Hình 4.3 Bên thu của hệ thống ……… 52
Hình 4.2.1a Ma trận kiểm tra lỗi chẵn lẻ và chuyển vị của nó………52
Hình 4.2.1b Các từ mã cảu coset 000 trong mã Hamming (7, 4) phân tán……… 53
Hình 4.2.1 Kết quả sơ đồ tỷ lệ bít lỗi mã Hamming các trường hợp khác nhau…54 Hình 4.2.2 Kết quả tỷ lệ bít lỗi mã hóa LDPC qua kênh AWGN……… 56
Trang 6CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN
Từ trong tiếng Anh Nghĩa tiếng Việt
WSN Wireless Sensor Network Mạng cảm biến không dây
DSC Distributed Source Coding Mã hóa nguồn phân tán
LDPC Low Density Parity Check Mã kiểm tra chẵn lẻ mật độ thấp
DISCUS DSC in Sensor Network
S-W Slepian-Wolf Mã hóa Slepian-Wolf
QoS Quanlity of Service Chất lượng dịch vụ
MAC Media Access Control Điều khiển truy nhập thiết bị mạng
AWGN Additive White Gaussian
Noise
Kênh nhiễu trắng Gauss
Trang 7CHƯƠNG I : TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY
1.1 Giới thiệu về mạng cảm biến không dây
Mạng cảm biến không dây (Wireless Sensor Network – WSN) là một trong những công nghệ mới phát triển nhanh chóng nhất, với nhiều ứng dụng trong các lĩnh vực: điều khiển quá trình công nghiệp, bảo mật và giám sát, cảm biến môi trường…
Hình 1.1 Mô hình mạng cảm biến không dây WSN là mạng liên kết các node với nhau nhờ sóng radio Nhưng trong đó, mỗi node mạng bao gồm đầy đủ các chức năng để cảm nhận, thu thập, xử lý và truyền dữ liệu Các node mạng thường là các thiết bị đơn giản, nhỏ gọn, giá thành thấp,… và có số lượng lớn, được phân bố không có hệ thống trên phạm vi rộng, sử dụng nguồn năng lượng (pin) hạn chế thời gian hoạt động lâu dài
1.2 Cấu trúc mạng WSN
1.2.1 Cấu trúc 1 node mạng WSN
Mỗi node cảm ứng được cấu thành bởi 4 thành phần cơ bản như ở hình 1.2, bộ cảm nhận (sensing unit), bộ xử lý (a processing unit), bộ thu phát (a transceiver unit) và bộ nguồn (a power unit) Ngoài ra có thể có thêm những thành phần khác tùy thuộc vào từng ứng dụng như là hệ thống định vị (location finding system), bộ phát nguồn (power generator) và bộ phận di động (mobilizer)
Trang 8Hệ thống định vị
Bộ phát nguồn
Bộ phận di động
Hình 1.2 Các thành phần của một node cảm ứng
Các bộ phận cảm ứng (sensing units) bao gồm cảm biến và bộ chuyển đổi tương tự-số (ADC – Analog to Digital Converter) Dựa trên những hiện tượng quan sát được, tín hiệu tương tự tạo ra bởi sensor được chuyển sang tín hiệu số bằng bộ ADC, sau đó được đưa vào bộ xử lý
Bộ xử lý thường được kết hợp với bộ lưu trữ nhỏ (storage unit), quyết định các thủ tục cho các nút kết hợp với nhau để thực hiện các nhiệm vụ định sẵn
Phần thu phát vô tuyến kết nối các nút vào mạng Chúng gửi và nhận các dữ liệu thu được từ chính nó hoặc các nút lân cận tới các nút khác hoặc tới sink Ở đây tín hiệu được thu và phân tích
Phần quan trọng nhất của một nút mạng cảm ứng là bộ nguồn Bộ nguồn có thể là một số loại pin Để các nút có thời gian sống lâu th bộ nguồn rất quan trọng,
nó phải có khả năng nạp điện từ môi trường như là năng lượng ánh sáng mặt trời Ngoài ra còn một số cách cấp nguồn khác…
Trang 91.2.2 Cấu trúc mạng cảm biến không dây
Giao tiếp không dây multihop: Khi giao tiếp không dây là kĩ thuật chính, thì giao tiếp trực tiếp giữa hai nút sẽ có nhiều hạn chế do khoảng cách hay các vật cản Đặc biệt là khi nút phát và nút 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
Hoạt động hiệu quả năng lượng: để hỗ trợ kéo dài thời gian sống của toàn mạng, hoạt động hiệu quả năng lượng là kĩ thuật quan trọng mạng cảm biến không dây
Tự động cấu hình: Mạng cảm biến không dây cần phải cấu hình các thông số một các tự động Chẳng hạn như các nút có thể xác định vị trí địa lí của nó thông qua các nút khác (gọi là tự định vị)
Xử lí trong mạng và tập trung dữ liệu: Trong một số ứng dụng một nút cảm biến không thu thập đủ dữ liệu mà cần phải có nhiều nút cùng cộng tác hoạt động thì mới thu thập đủ dữ liệu, khi đó mà từng nút thu dữ liệu gửi ngay đến sink 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 sink sẽ tiết kiệm băng thông và năng lượng
Do vậy , cấu trúc mạng mới sẽ:
- Kết hợp vấn đề năng lượng và khả năng định tuyến
- Tích hợp dữ liệu và giao thức mạng
- Truyền năng lượng hiệu quả qua các phương tiện không dây
- Chia sẻ nhiệm vụ giữa các nút lân cận
Các nút cảm ứng được phân bố trong một sensor field như hình 1.2.2 Mỗi một nút cảm ứng có khả năng thu thập dữ liệu và định tuyến lại đến các sink Dữ liệu được định tuyến lại đến các sink bởi một cấu trúc đa điểm Các sink có thể giao tiếp với các nút quản lí nhiệm vụ (task manager node) qua mạng Internet hoặc vệ tinh
Trang 10Hình 1.2.2 Cấu trúc mạng cảm biến không dây
1.2.3 Kiến trúc giao thức mạng WSN
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 (hình 1.2.3)
Lớp ứng dụngLớp truyền tảiLớp mạngLớp liên kết lữ liệu
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
Trang 11kế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 cảm biến (SMP – Sensor Management Protocol), giao thức quảng bá dữ liệu và chỉ định nhiệm vụ cho từng sensor (TADAP – Task Assignment and Data Advertisement), giao thức phân phối dữ liệu và truy vấn cảm biến (SQDDP – Sensor Query and Data Dissemination)
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 gói ngừời dùng (UDP – User Datagram Protocol) hay giao thức điều khiển truyền tải (TCP – Transmission Control Protocol) 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 cầ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 : 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:
- 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í Xét theo hoạt động thì chúng được chia thành định tuyến dựa trên đa đường
Trang 12(multipathbased), định tuyến theo truy vấn (query- based), định tuyến thỏa thuận (negotiation - based), định tuyến theo chất lượng dịch vụ (QoS – Quanlity of Service), đị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 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 – Media Access Control) 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
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ừ mộ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 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 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ụ : có thể 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 thiế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
Trang 131.2.4 Các yếu tố ảnh hưởng đến mạng WSN
1.2.4.1 Thời gian sống bên ngoài
Các nút WSN với nguồn năng lượng pin giới hạn Ví dụ: một loại pin kiềm cung cấp 50Wh năng lượng, nó có thể truyền cho mỗi nút mạng ở chế độ tích cực gần 1 tháng hoạt động Sự tiêu tốn và tính khả thi của giám sát và thay thế pin cho một mạng rộng, thì thời gian sống dài hơn được thiết kế Trong thực tế, pin rất cần thiết trong rất nhiều ứng dụng để bảo đảm mạng WSN có thể tự động sử dụng
không cần thay thế trong vài năm Sự cải thiện của phần cứng trong thiết kế pin và
kĩ thuật thu năng lượng sẽ giúp ta một phần trong việc tiết kiệm pin
1.2.4.2 Sự đáp ứng
Giải pháp đơn giản nhất để kéo dài thời gian sống bên ngoài là điều khiển các node trong 1 chu kì làm việc với chu kì chuyển mạch giữa 2 chế độ: chế độ ngủ (mode sleep) và chế độ hoạt động (mode active) Trong khi quá trình đồng bộ ở chế
độ ngủ là 1 thách thức của WSN, vấn đề lớn liên quan đến nữa là chu trình ngủ 1 cách tùy ý có thể làm giảm khả năng đáp ứng cũng như hiệu suất của các sensor Trong một số ứng dụng, các sự kiện trong tự nhiên được tìm thấy và thông báo nhanh, thì sự trễ bởi lịch ngủ phải được giữ ở giới hạn chính xác, thậm chí trong sự tồn tại của nghẽn mạng
1.2.4.3 Tính chất mạnh
Mục tiêu của WSN là cung cấp ở phạm vi rộng lớn, độ bao phủ chính xác (fine-grained coverage) Mục tiêu này phổ biến ở số lượng lớn các thiết bị không đắt tiền Tuy nhiên các thiết bị rẻ thường kém tin cậy và thường dễ xảy ra lỗi Tốc
độ lỗi cũng sẽ cao khi các thiết bị cảm ứng được triển khai trong các môi trường khắt khe và trong vùng của kẻ địch Giao thức thiết kế do đó cũng phải xây dựng kỹ sảo để có thể đáp ứng tốt Rất khó để chắc chắn rằng việc định dạng toàn cầu của hệ thống là không bị hỏng với các thiết bị lỗi
1.2.4.4 Hiệu suất
Các cải tiến của luật Moore trong công nghệ đảm bảo dung năng của thiết bị
về các mặt: xử lí nguồn, bộ nhớ - lưu trữ, thực hiện truyền nhận vô tuyến, cải thiện
Trang 14nhanh chóng sự chính xác của bộ cảm biến Tuy nhiên, vấn đề kinh tế được đặt ra ở đây là giá cả trên một node giảm mạnh (từ hàng trăm đô la xuống còn vài cent), nó
có thể làm cho dung năng của vài node sẽ bị hạn chế ở 1 mức độ nhất định Đó là lý
do để thiết kế các giao thức cho hiệu suất cao, nó bảo đảm rằng hệ thống tổng thể sẽ
có dung năng lớn hơn so với dung năng của các thành phần trong nó cộng lại Các giao thức cung cấp một khả năng hợp tác giữa lưu trữ, máy tính và các tài nguyên thông tin
1.2.4.5 Tính mở rộng
WSN có khả năng hoạt động ở một vùng cực rộng (lớn hơn 10 ngàn, thậm chí là hàng triệu node trong một giới hạn về độ dài).Có một vài hạn chế về thông lượng và dung lượng làm ảnh hưởng đến scalability của hoạt động mạng Vì vậy, khả năng mở rộng của hệ thống là rất quan trọng đối với mạng cảm biến không dây
1.2.4.6 Tính không đồng nhất
Sẽ tồn tại sự không đồng nhất trong dung năng của thiết bị trong quá trình cài đặt thực tế (cụ thể là máy móc, thông tin dữ liệu và cảm biến) Sự không đồng nhất sẽ có ảnh hưởng quan trọng đến thiết kế
1.2.4.8 Tự tối ưu và tự thích nghi
Trong WSN, thường có những tín hiệu không chắc chắn về điều kiện hoạt động trước khi triển khai Dưới những điều kiện đó, việc xây dựng những máy móc
để có thể tự học từ sensor và thu thập các phép đo mạng, sử dụng những cái học
được đó để tiếp tục hoạt động cải tiến là điều rất quan trọng
Trang 15Ngoài ra, một điều trước tiên không biết chắc được là môi trường mà WSN hoạt động có thể thay đổi mạnh mẽ qua thời gian Các giao thức WSN sẽ làm cho thiết bị có thể thích nghi với môi trường năng động trong khi nó đang sử dụng
Một số ứng dụng cơ bản của WSN:
Cảm biến môi trường:
Quân sự: phát hiện mìn, chất độc, dịch chuyển quân địch,…
Công nghiệp: hệ thống chiếu sáng, độ ẩm, phòng cháy, rò rỉ,…
Dân dụng: hệ thống điều hòa nhiệt độ, chiếu sáng…
Điều khiển:
Quân sự: kích hoạt thiết bị, vũ khí quân sự,…
Công nghiệp: điều khiển tự động các thiết bị, robot,…
Môi trường: Giám sát lũ lụt, bão, gió, mưa, phát hiện ô nhiễm, chất thải
Y tế: định vị, theo dõi bệnh nhân, hệ thống báo động khẩn cấp,…
Trang 16 Hệ thống giao thông thông minh:
Giao tiếp giữa biển báo và phương tiện giao thông, hệ thống điều tiết lưu thông công cộng, hệ thống báo hiệu tai nạn, kẹt xe,…
Hệ thống định vị phương, trợ giúp điều khiển tự động phương tiện giao thông,…
Gia đình: nhà thông minh: hệ thống cảm biến, giao tiếp và điều khiển các thiết bị thông minh,…
WSN tạo ra môi trường giao tiếp giữa các thiết bị thông minh, giữa các thiết
bị thông minh và con người, giao tiếp giữa các thiết bị thông minh và các hệ thống viễn thông khác (hệ thống thông tin di động, internet,…)
1.4 Các vấn đề và mô hình trong mạng cảm biến không dây
Mạng cảm biến không dây là một công nghệ đang nổi lên và có rất nhiều tiềm năng Ý tưởng chính là triển khai các nút cảm biến kích thước nhỏ, sử dụng năng lượng hiệu quả trong một vùng quan tâm Sơ đồ này có thể được chấp nhận và triển khai trên rất nhiều vùng cảm ứng Có thể là trong quân sự, giao thông và giám sát… Lý do tại sao các nút phải là không dây là bởi vì dễ dàng triển khai và có khả năng xây dựng các mạng động, mà topo của nó có tính mở Việc phát triển công nghệ pin khiến việc cung cấp nguồn là không cần thiết Các chip rất nhỏ có thể cảm ứng và giao tiếp trong tương lai gần có thể dùng năng lượng mặt trời
Các mạch cảm biến cần được trang bị chức năng truyền nhận các bản tin Theo truyền thống, lý thuyết thông tin tập trung vào việc thiết kế bộ giải mã đơn giản và đặt hầu hết năng lực tính toán cho bên mã hóa Đây không phải cách mà mạng cảm biến không dây sử dụng Bởi vì mỗi nút cảm biến phụ thuộc vào nguồn cung cấp năng lượng hạn chế, nên chúng cần tập trung vào việc giảm năng lượng tiêu thụ Kết quả là gánh nặng về tính toán cần phải chuyển từ bên mã hóa sang cho bên giải mã Chính là tạo ra sự cần thiết phải có một thuật toán mã hóa ít phức tạp
Mô hình mạng có thể được thiết kế theo nhiều cách khác nhau Chúng ta thường chia thành 2 nhóm: dựa trên sự hợp nhất (fusion) và dựa trên tính chất đặc
Trang 17biệt (ad hoc) Sự khác nhau cơ bản giữa 2 mô hình này như dưới đây Trong sơ đồ
ad hoc mỗi mút cần được trang bị cả 2 khả năng truyền và nhận, trong khi với sơ đồ tập trung thì các nút chỉ cần phải truyền được minh họa ở hình dưới đây:
Hình 1.4 Mạng WSN với hai mô hình mạng khác nhau
Trong bài luận này, ta sẽ tập trung vào sự thách thức ngày càng cao của việc
sử dụng năng lượng hiệu quả Một cách để làm được điều này là tìm kiếm các phương pháp tốt hơn cho việc nén cục bộ tại các nút bằng việc sử dụng sự tương quan về thời gian Ngoài ra, trong hầu hết các trường hợp là quan tâm đến sự tương quan giữa các dữ liệu cảm ứng khác nhau Chúng ta có thể sử dụng cá dư thừa để giảm khối lượng dữ liệu của mỗi nút cần phải truyền Để giải quyết vấn đề này thì
chúng ta sử dụng mã hóa nguồn phân tán (Distributed source coding)
Trang 18CHƯƠNG II MÃ NGUỒN PHÂN TÁN TRONG MẠNG CẢM BIẾN
KHÔNG DÂY
2.1 Mã nguồn phân tán
Mã nguồn phân tán sử dụng khi mà có sự tương quan giữa tập các nguồn với nhau Đây chính là một trường hợp cụ thể của mạng cảm biến, mà có tương quan rất
là cao giữa các nút hàng xóm Cá nhân mỗi nút sẽ nén dữ liệu không chỉ của chính
nó mà còn dựa vào kết quả quan sát được của các nút cảm biến khác, do đó thuật ngữ “phân tán” ra đời Để khai thác mối tương quan này và loại bỏ dư thừa thì mỗi nút phải biết được một vài thứ, đó là các nút khác gửi cái gì?
Việc này có thể thực hiện bằng hai cách Cách thứ nhất là các nút này có thể giao tiếp với nhau thông qua một mạng gọi là mạng liên kết các nút cảm biến, và cách thứ hai là không cần dùng đến Lựa chọn thứ nhất tạo ra thêm các dữ liệu không mong muốn cho việc thành lập mạng và yêu cầu năng lực xử lý trên mỗi nút phải cao Vấn đề mã hóa nguồn này trong mạng cảm biến thực sự là đối lập với việc giảm khối lượng xử lý và năng lượng tiêu thụ Điều đó có thể tránh được nếu sử dụng phương án thứ hai Bây giờ thì điều đầu tiên xuất hiện trong đầu chúng ta với lựa chọn này là làm thế nào để sensor đang hoạt động có thể nén được mọi thứ khi không biết gì về dữ liệu của các sensor khác?
Như Slepian và Wolf thì dữ liệu này có thể được nén càng nhiều nếu càng hiểu rõ cái mà các sensor khác gửi đến Cái này được biết như là định lý Slepian-Wolf và dĩ nhiên chỉ áp dụng được trong lý thuyết mà thôi Các dữ liệu này nhận được tiệm cận và dựa trên nguyên lý xây dựng mã nhị phân ngẫu nhiên Nhưng nó
có thể thực hiện với một mục đích thực hành và cho chúng ta phương pháp tốt để làm vệc đó như thế nào,
Giả sử ta có hai nút cảm biến và ta muốn nén dữ liệu này và truyền đi nhiều
có thể Chuỗi dữ liệu cảm biến X là giá trị đầu vào cho bộ mã hóa mà nó sẽ nén X dựa trên sự phân bố tương quan giữa X và Y Y được gửi không nén đến bộ giải mã
và được gọi là thông tin bên Y, minh họa ở hình 2.1a Mục đích bây giờ của việc
Trang 19giải mã chung là ước lượng được X dựa vào giá trị đầu ra và thông tin bên Y Sự tương quan này càng nhiều thì việc ước lượng này có thể xem là càng chính xác
X
Y
Ẍ
Hình 2.1a Mã hóa nguồn phân tán với thông tin biên tại bộ giải mã
Nếu muốn giải mã dữ liệu nén không tổn thất, theo lý thuyết mã hóa nguồn
cổ điển, có thể mã hóa với tốc độ bít Rx ≥ H(X) và Ry ≥ H(Y) lần lượt đối với nguồn X và Y Nếu xét đến sự tương quan giữa X và Y thì có thể mã hóa cả hai nguồn với entropy chung của chúng thỏa mãn Rx + Ry ≥ H(X,Y) Nói cách khác, với H(X,Y) = H(X) + H(X|Y) = H(Y) + H(Y|X), thì có thể mã hóa một nguồn với entropy điều kiện tương ứng là Rx ≥ H(X|Y) hoặc là Ry ≥ H(Y|X) Slepian và Wolf cho rằng có thể thực hiện được không cần liên lạc mạng giữa các nút cảm biến và tốc độ bít đạt được là H(X) - H(X|Y) hoặc H(Y) - H(Y|X) Có thể dễ dàng nhìn thấy rằng nó suy biến đến đến giá trị giới hạn của mã hóa không tổn thất cổ điển là H(X) khi mà độ tương quan bằng không (tức là H(X|Y)=0) Chúng ta sẽ hiểu hơn về nguyên lý mã Slepian-Wolf trong chương 2.2
Lý thuyết mã hóa không tổn thất hiện nay chỉ được sử dụng trong trường hợp
là các nguồn riêng rẽ Wyner và Ziv phát triển thêm bởi việc xem xét nguồn giá trị liên tiếp, dẫn đến méo mó tín hiệu để có thể entropy hữu hạn Bây giờ nó thường là trường hợp đặc biệt của phân khúc mạng cảm biến Cái chính là giới thiệu bước lượng tử trước khi mã hóa S-W, tương tự như lượng tử hóa đi kèm với mã hóa entropy bằng việc nén nguồn đơn Bước lượng tử hóa này là một phần trong lý thuyết biến dạng tốc độ và có thể được thực hiện bằng nhiều cách khác nhau phụ thuộc vào sự phân bố cũng như bộ nhớ của giá trị đầu vào Có thể tham khảo thuyết biến dạng tốc độ ở phần phụ lục, mã Wyner-Ziv sẽ được miêu tả ở chương 2.4
Trang 20Sự tương quan giữa các nguồn có thể được mô hình hóa như là một kênh tương quan ảo trong đó X là đầu vào và Y là đầu ra của kênh (hình 2.1b) Kênh này được miêu tả bởi xác suất lỗi ρ, là xác suất mà Y sai khác so với X Do vậy 1 xác suất ρ nhỏ cho chúng ta biết là X và Y tương quan nhiều với nhau và nó có thể mã hóa với tốc độ bít thấp hơn Bởi vì mô hình được đề cập trong bài này sử dụng nguyên lý mã hóa kênh cho việc mã hóa nguồn, được gọi là sơ đồ Wyner Nói cách khác, mã hóa kênh tăng tốc độ bít để bảo vệ tín hiệu với nhiễu, nó có thể được sử dụng trong cách đối lập để giảm tốc độ trong cách điều khiển Kỹ thuật này dựa trên việc xây dựng mã nhị phân trong đó tất cả giá trị có thể có được của một giá trị đầu vào được ghi vào coset khác nhau Lý thuyết này được gọi là mã hóa nguồn phân tán sử dụng syndrome (DISCUS) và chúng ta sẽ hiểu rõ hơn ở chương3.1
Virtual
Z
Hình 2.1b Kênh tương quan ảo giữa X và Y
ở đây chúng ta sử dụng sơ đồ bất đối xứng đơn giản, một sensor gửi dữ liệu của chúng bằng định dạng chưa nén Việc thực hiện rất tối ưu này có thể sử dụng sơ đồ đối xứng trong đó cả hai sensor gửi dữ liệu đã nén dựa trên sự tương quan với sensor khác, hoặc thậm chí một sơ đồ đối xứng thích ứng trong đó các nút truyền tốc độ khác nhau phụ thuộc vào các yếu tố như là chất lượng kênh truyền và đặc điểm của tín hiệu Cái này sẽ được miêu tả ở chương 3.2
2.2 DSC không tổn thất
Slepian và Wolf đã miêu tả một định lý về việc nén ở nguồn khai thác sự tương quan với một nguồn khác Nó được gọi là mã hóa nguồn phân tán Ý tưởng chính là một nguồn X có thể nén dữ liệu của nó dựa trên sự phân bố tương quan với nguồn thứ hai là Y mà không cần phải giao tiếp qua mạng intersensor Slepian và
Trang 21Wolf chỉ ra rằng có thể mã hóa cùng tốc độ bít nếu hiểu được bộ mã hóa đã gửi cái
gì hay không Lý thuyết này được nén theo công thức sau:
Slepian và Wolf chỉ ra rằng hai biến riêng biệt với các chữ cái giới hạn Later Cover mở rộng nó thành quá trình đặc biệt tùy ý, các chữ cái có thể đếm giới hạn và một số bất kỳ của các nguồn tương quan Trong thực tế các quá trình riêng rẽ không hay sử dụng
2.2.1 Mã hóa Slepian-Wolf của hai nguồn nhị phân
Chúng ta có hai nguồn nhị phân 3 bít tương quan X và Y Sự tương quan giữa chúng cũng là khoảng cách Hamming tối đa là dH < 1 Bây giờ chúng ta sẽ mã hóa bằng cách mà có thể giải mã không biến dạng Sử dụng lý thuyết mã hóa nguồn
cổ điển có thể nén nguồn với các entropy tương ứng H(X) và H(Y) (ở đây là 3 bít)
Trang 22Xem xét rằng tồn tại một sự phụ thuộc giữa X và Y có thể tiết kiệm tổng số các bít truyền đi
Quan sát trường hợp này, trong đó Y có sẵn tại bộ giải mã, không có điểm phân biệt giữa X = 000 và X = 111, từ đó ta biết rằng khoảng các Hamming lớn nhất từ X đến Y là 1 Dó đó, ta có thể đặt tất cả giá trị ra có thể của X vào các coset Bằng việc thực hiện xây dựng mã nhị phân thông minh có thể ước lượng từ mã trong coset tương ứng là giá trị khởi tạo của X Nói cách khác, ta có thể xây dựng các coset sau sử dụng các từ mã của X: {100,111}, {010,101}, và {001,110} Bằng việc chỉ truyền chỉ số của coset tích cực chúng ta có thể giảm số lượng bits truyền
đi, ở đây là giảm từ 3 xuống còn 2
Mô hình xây dựng mã nhị phân được minh họa ở hình 2.2.1
000 001 010 011 100 101 110 111
Trang 23tiêu chuẩn chính xác ) Mã hóa Wyner – Ziv có thể được mô tả như một phép lượng
tử hóa bằng mã hóa Slepian Wolf như trong hình 2.4a
Hình 2.4a Sơ đồ khối của mã hóa Wyner-Ziv Vùng tỉ lệ Wyner – Ziv không được chỉ rõ cho các nguồn chung, nhưng trong các trường hợp đặc biệt quan trọng và đầu vào Gaussian là tốt được biết trong các tài liệu toán học Vùng tỷ lệ Wyner – Ziv chung có thể được mô tả như trong hình 2.4b với giới hạn bên trong và bên ngoài Các tỷ lệ đạt được nằm giữa hai giới hạn này
R 2
R 1
Biên trong
Biên ngoài
Hình 2.4b Bên trong và bên ngoài vùng tỷ lệ của DSC tổn thất
Vì thuyết Wyner – Ziv là một sự kết hợp của mã hóa Slepian – Wolf và thuyết tỷ lệ phân bố được mô tả ở các phần 3 và 4, ta sẽ đưa ra những ví dụ quan trọng ở đây
Trang 242.3.1 Trường hợp đối xứng mã nhị phân
X và Y là hai nguồn mã nhị phân và sự tương quan giữa chúng được chuẩn hóa như một kênh đối xứng của mã nhị phân với xác suất lỗi p và khoảng cách Hamming như phép đo bị bóp méo Nếu chúng ta viết X = Y E với E là một nguồn Bernoulli, chức năng méo tỷ lệ với Y được biết tại phép mã hóa và giải mã được cho là :
( ) ( ) { ( ) ( ) { } { }
Nếu Y chỉ được hiểu tại phép giải mã, thì chức năng méo tỷ lệ Wyner – Ziv được cho là :
( ) { ( ) ( )}
Hình báo đa giác lồi nhỏ nhất (l.c.e) của H ( ) − H(D) và điểm ( D = ,
R = 0 ), với = ( 1 – ρ)* D + (1 – D).ρ Cho ρ 0.5, ( ) R X|Y (D) với
sự ngang bằng chỉ ở hai điểm : Điểm tỷ lệ 0 (ρ, 0) và điểm méo 0 (0, H(ρ) ) Vì vậy
mã hóa Wyner – Ziv phụ thuộc vào tổn hao tủ lệ ở trường hợp đồng bộ mã nhị phân Khi D = 0, vấn đề Wyner – Ziv bị thoái hóa thành vấn đề Slepian – Wolf với R*WZ (0) = RX|Y (0) = H (X|Y) = H (ρ)
2.3.2 Trường hợp Gaussian bậc hai
Trong trường hợp này, chúng ta có hai giá trị thống kê ngẫu nhiên Gaussian
là Xk và Yk với tham số σx 2 và σy 2 và sự tương quan cùng hiệu quả ρ ( Chú ý : giá trị ρ lớn hơn đưa ra nhiều nguồn tương quan trong trường hợp này ), và ta để D = (Dx , Dy ) là tiêu chuẩn méo Sau đó nếu [23] :
dx ≤
thì ta lấy các trạng thái :
Trang 25[( ( ) ) ], [( ( ) )
Trang 26ta chọn theo sơ đồ mã khối tuyến tính trong số các dạng nâng cao nhất của mã LDPC Ta chọn như thế bởi vì nó cải thiện hiệu năng so với mã Tubor và cũng bởi
vì nó cũng có thể mang theo sơ đồ phân tán
CHƯƠNG 3 MÃ NGUỒN PHÂN TÁN SỬ DỤNG SYNDROME
3.1 Mã nguồn phân tán sử dụng các syndrome
Trong quá trình thiết lập nén phân tán, cũng như không phân tán, các ví dụ tiếp nối nhau cần được lượng tử để có được một entropy hữu hạn
Như đề cập trước đó, sự tương quan giữa các nguồn trong một mạng cảm biến có thể được mô hình hóa như một kênh “ tương quan” Ý tưởng ở đây là sau khi sử dụng một mã kênh kèm theo để nén nguồn dữ liệu sau đó Từ mã được lượng
tử U chắc chắn tương quan với X Nếu X cũng tương quan với thông tin bên Y, U cũng sẽ tương quan với Y Vì vậy “ kênh tương quan ” có thể được mô tả bằng sự phân bố trạng thái P(Y|U) Thông tin bên chứa thông tin I(U;Y) về U được khai thác
ở phía bộ giải mã để ước tính X Hiện nay, sự phân bố tương quan có thể phân biệt tương đối cho từng trường hợp cụ thể, nhưng nó thường được mô phỏng trong báo
cáo như một Kênh Đối Xứng Nhị Phân (BSC) hay một kênh với Nhiễu Gaussian Trắng Phụ (Additive White Gaussian Noise)
Vì vậy, làm thế nào chúng ta có thể giảm bớt tổng số bit đại diện cho X mà không cần biết chính xác những mẫu tương ứng của Y? Ta sẽ mô tả với một ví dụ
Cả X và Y đều là các từ 3-bit có thể xảy ra với sự tương quan được đưa vào bằng khoảng cách Hamming không nhiều hơn một Nếu Y được hiểu tại cả khối mã hóa
và giải mã, thì sẽ không có điểm nào đại diện cho X với nhiều hơn 2 bit (Cho Y, X
Y nằm trong tập {000, 001, 010, 100} với là phép Xor ) Với Y được hiểu chỉ
ở bộ giải mã, điều này có thể xảy ra? Không có điểm nào gửi cả X = 000 và X =
111 vì khoảng cách Hamming giữa chúng bằng 3 Với khả năng Y, một trong số những từ mã trong việc thiết lập được lựa chọn Ngày nay, tất cả những đại diện từ
mã có thể của X được rút gọn thành các thiết lập đơn giản mang đến những thiết lập
Trang 27thêm của X : {001, 110}, {010, 101} Do vậy, X chỉ cần truyền với 2 bit thay vì 3 bit
000 111
111 110 101 011
000 001 010 100
Coset - 1
Đầu ra của Y
Hình 3.1 Đầu ra có thể của Y nếu X thuộc coset {000, 111}
Đây là ví dụ đầu tiên nhưng nó đã mô tả ý tưởng của kịch bản mã nguồn phân tán Mục tiêu là để phát hiện một mã kênh tốt có thể thực hiện gần với giới hạn Wyner – Ziv từ phần 5 Theo dõi bước đầu về hai từ mã của X là một mã khối tuyến tính ( 3,1,3), cũng được biết như là mã lặp 3 bit Các thiết lập khác cũng bị biến thể hoặc tập hợp lại của mã lặp Vì vậy, thay vì mô tả X bởi 3 bit giá trị, chúng
ta mã hóa tập hợp X kèm theo, với một giá trị 2 bit, như trường hợp khi Y được hiểu cả ở bộ mã hóa và giải mã Bây giờ việc lấy lại khối tuyến tính có thể được đưa
ra bởi ma trận kiểm tra chẵn lẻ H Mọi tập hợp của một mã tuyến tính được tổng hợp với hàm đối xứng duy nhất s = HTc, với c là từ mã hợp lệ bất kì nào đó
Các công nghệ mã hóa kênh triển vọng được đề cập như là những sự luân phiên bao gồm mã turbo và mã LDPC Cả hai đều được mô tả và kiểm tra bởi những nhà nghiên cứu khác nhau Chúng tôi đã chọn ra kịch bản LDPC trong thuyết này bởi vì nó được chứng minh sự chuyển tiếp tốt nhất để nén phân tán Công nghệ
Trang 28mã hóa này được thảo luận thường xuyên trong chương 3.2 và đặc biệt cho Mã nguồn phân tán ở chương 3.3
3.2 Thiết kế đối xứng
Trường hợp bất đối xứng của mã nguồn phân tán không linh hoạt về tỷ lệ phân bố Nếu ta muốn thay đổi tốc độ của các nguồn khác trong trường hợp bất đối xứng thì chúng ta cần sử dụng sơ đồ chia sẻ thời gian mở đầu cho vấn đề đồng bộ; các sensor này phải liên lạc với nhau để đồng bộ hóa Đây là điều mà chúng ta cố gắng tránh khỏi Có hai giải pháp để giải quyết vấn đề này Người ta đưa ra một phương pháp dựa trên nguyên tắc như là sơ đồ DISCUS, nhưng lại phải cải tiến
thêm cho mã hóa và giải mã Cách khác là dùng phương pháp chia nguồn
Không giống như trường hợp bất đối xứng là một nguồn gửi thông tin tổn thất của nó và nguồn khác gửi thông dữ liệu đã nén thì trong trường hợp này, cả hai nguồn sẽ có thể chỉ gửi thông tin cục bộ mà không thỏa hiệp với chất lượng tín hiệu thiết lập lại ở bộ giải mã Một sơ đồ mã hóa đồng bộ sẽ có thể mã hóa với tốc độ trong vùng tốc độ ở hình 2.4b
Xét việc mã hóa hai nguồn tương quan tổn quát X và Y ta sẽ mã hóa theo cách đối xứng, vd chúng ta muốn nén mỗi nguồn với bất kì tỷ lệ nào trong khoảng
từ H(X) đến H(X|Y) đối với X , và khoảng từ H(Y) đến H(Y|X) đối với Y Giả sử H(X) ≤ H(Y) Theo chiến lược mã hóa kênh, ta tạo hai ma trận Gx và Gy chứa n(1-H(X|Y)) và n(1-H(Y)) hàng để đạt được điểm góc (H(X|Y), H(Y)) (xem hình 4) Để gán các tỷ lệ khác nhau chúng ta chuyển một vài hàng từ Gx qua Gy di chuyển dọc theo đường H(X,Y) cho đến khi đạt được điểm góc khác (H(X), H(Y|X))
Trang 29GcGaGsx
GcGsy
G =
Hình 3.2 Cấu trúc bộ tạo ma trận trong trường hợp đối xứng
Xét 1 bộ tạo ma trận Gc kích thước n(1-H(Y)) × n với các hàng là độc lập
tuyến tính, trong đó n là chiều dài khối sử dụng trong mã hóa Bộ tạo ma trận này có
thể được dùng để chia không gian của chuỗi Y chiều dài n như vậy Gy = Gc, và bộ
mã hóa của Y gửi syndrome liên kết với ma trận Gx Xét một ma trận Ga kích thước n(H(Y)-H(Y)) × n , các hàng là đọc lập tuyến tính Một ma trận được tạo ra bởi việc xếp Gc và Ga có thể được sử dụng để chia không gian chuỗi chiều dài n với nH(X) coset Để giảm tỷ lệ gây ra bởi ma trận sau khi xếp từ H(X) bít/mẫu xuống H(X|Y) bít/mẫu chúng ta xây dựng một ma trận Gs với n(H(X)-H(X|Y)) hàng độc lập tuyến tính Gx bây giờ được tạo ra bởi Gc, Ga và Gs Bộ giả mã của X gửi syndrome của chuỗi chiều dài n của X về Gx đến bộ giải mã Bộ giải mã lấy lại được chuỗi Y chiều dài n dựa trên thông tin này và biết về thống kê của Y để mã hóa X chúng ta cần có bộ tạo ma trận Gx Bộ giải mã nhận lại được chuỗi chiều dài n có thể dùng một thuật toán giải mã chuẩn để khôi phịc chuỗi X sử dụng phân bố chung p(x,y) của X và Y
Để trao đổi tỷ lệ giữa hai bộ mã hóa của X và Y, bất kỳ hàng nào của Gs có thể được chuyển từ Gx đến Gy Cuối cùng khi Gx chỉ còn lại Gc và Ga, hai bộ mã hóa của X và Y ssẽ truyền với tốc độ lần lượt là H(X) và H(Y|X) bít/mẫu Quá trình phân bổ này có thể được xem như là việc chia bộ tạo ma trận G thành hai (Gx và Gy) được minh họa ở hình 3.2
Trang 303.2.1 Cấu trúc bộ giải mã
Hãy nhớ rằng trong trường hợp đối xứng này để giải mã nguồn cần phải tìm được coset nơi mà nguồn sau nén X tồn tại và tìm được từ mã về coset này mà gần với thôg tin biên Y nhất bây giờ trong trường hợp đối xứng, cả hai nguồn gửi thông tin cục bộ nên chiến lược giải mã không thể áp dụng Chúng ta sẽ quay lại cái này trong trường hợp đặc biệt của giải mã LDPC
3.2.2 Đa nguồn
Một mạng cảm biến với hai sensor mà chúng ta đã xem xét cho đến nay thì không phải là nhiều người ta mong muốn và hoàn toàn cần thiết để có thể trình bày một lý thuyết về trương hợp nhiều hơn hai nguồn Cái hay của ý tưởng được trình bày đến nay trong bài luận này là không có có một thách thức nào Ví dụ về hai nguồn trong mã nguồn phân tán đối xứng dễ dàng mở rộng thành đa nguồn
Hình 3.2.2 Định nghĩa ma trận trong trườn hợp đa nguồn
Với L nguồn, ta tạo ra 1 thứ tự của một số nguồn bất kỳ {X1,…XL} như là H(X1|X2, …, XL) ≤ …≤ H(Xi|Xi+1, …, XL) ≤ …≤ H(XL) Không khác với nguyên tắc chung, chunga ta có thể sắp xếp các nguồn theo kiểu cách này Ta có thể đạt được điểm góc H(X1|X2, …, XL) , …, H(Xi|Xi+1, …, XL) , …, H(XL) bằng việc đệ quy định nghĩa bộ tạo nhiều ma trận từ bộ tạo 1 ma trận đơn cho mỗi mã, như hình
Trang 31Quá trình bắt đầu với việc định nghĩa bộ tạo ma trận GL với n(1-H(XL)) hàng độc lập tuyến tính Các ma trận khác có thể có được bằng việc định nghĩa lặp lại Gi-1 như là xếp Gi và một ma trận Ai-1 với n(H(Xi|Xi+1, …, H(XL)) – H(Xi-1|Xi,
…,XL)) hàng độc lập tuyến tính Rõ ràng thì như trong trương hợp hai nguồn, các điểm không phải là điểm góc có thể đạt được bởi việc trao đổi các hàng đặc biệt của các bộ tạo ma trận giữa chúng
Bộ mã hóa :
Hình 3.3.1.1a Cấu trúc bộ mã hóa Turbo
- Bộ mã hóa bao gồm 3 khối bit nhỏ : Khối đầu tiên là khối m – bit dữ liệu tải trọng; Khối thứ 2 gồm n/3 bit chẵn lẻ để tính toán, sử dụng một hệ thống đệ quy (mã RSC); Khối thứ 3 là n/2 bit chẵn lẻ cho biết hoán vị của các dữ liệu tải trọng, cũng sử dụng mã RSC
- Trên hình, M là một bộ nhớ Register Trễ và lưu lượng đầu vào dk xuất hiện với trình tự khác nhau Tại phiên đầu tiên, trình tự dk xuất hiện ở cả 2 đầu ra
Trang 32của bộ mã hóa Nếu các bộ mã hóa C1 và C2 được sử dụng tương ứng trong
n1 và n2 thì mức giá trị của chúng lần lượt bằng :
R1 = (n1 + n2) / (2n1 + n2)
R2 = (n1 + n2) / (n1 + 2n2)
Bộ giải mã :
Hình 3.3.1.1b Cấu trúc bộ giải mã Turbo
- Hai bộ giải mã nhỏ được để nối tiếp với nhau Các bộ giải mã DEC1 hoạt động ở tốc độ thấp hơn (vd, R1), do đó nó giành cho các mã hóa C1, và DEC2
là cho C2 tương ứng DEC1 gây ra trễ L1 , DEC2 gây ra trễ L2
Nhược điểm : Mã turbo chỉ sử dụng 2 mã cấu hình song song để mã hóa toàn
bộ khối đầu vào K của các bit dữ liệu Các bộ mã hóa thành phần sử dụng mã chập đệ quy ( RSC) với khả năng giới hạn ( 8 -16 trạng thái ) Chính vì vậy, khả năng quản lý chưa thực sự chính xác, cũng như mức độ dự phòng cho mỗi bit đầu vào chưa được linh hoạt
Trang 33(single and double-bit errors) Mã Hamming còn có thể sửa các lỗi do một bit bị sai gây ra Ngược lại với mã của ông, mã chẵn lẻ (parity code) đơn giản vừa không có khả năng phát hiện các lỗi khi 2 bit cùng một lúc bị hoán vị (0 thành 1 và ngược lại), vừa không thể giúp để sửa được các lỗi mà nó phát hiện thấy
a Các mã trước thời kỳ của Hamming
Mã chẵn lẻ
Mã chẵn lẻ thêm một bit vào trong dữ liệu, và bit cho thêm này cho biết số lượng bit có giá trị 1 của đoạn dữ liệu nằm trước là một số chẵn hay một số lẻ Nếu một bit bị thay đổi trong quá trình truyền dữ liệu, giá trị chẵn lẻ trong thông điệp sẽ thay đổi và do đó có thể phát hiện được lỗi (Chú ý rằng bit bị thay đổi có thể lại chính là bit kiểm tra) Theo quy ước chung, bit kiểm tra có giá trị bằng 1 nếu số lượng bit có giá trị 1 trong dữ liệu là một số lẻ, và giá trị của bit kiểm tra bằng 0 nếu
số lượng bit có giá trị 1 trong dữ liệu là một số chẵn Nói cách khác, nếu đoạn dữ liệu và bit kiểm tra được gộp lại cùng với nhau, số lượng bit có giá trị bằng 1 luôn luôn là một số chẵn
Việc kiểm tra dùng mã chẵn lẻ là một việc không được chắc chắn cho lắm, vì nếu số bit bị thay đổi là một số chẵn (2, 4, 6 - cả hai, bốn hoặc sáu bit đều bị hoán vị) thì mã này không phát hiện được lỗi Hơn nữa, mã chẵn lẻ không biết được bit nào là bit bị lỗi, kể cả khi nó phát hiện là có lỗi xảy ra Toàn bộ dữ liệu đã nhận được phải bỏ đi, và phải truyền lại từ đầu Trên một kênh truyền bị nhiễu, việc truyền nhận thành công có thể mất rất nhiều thời gian, nhiều khi còn không truyền được nữa Mặc dù việc kiểm tra bằng mã chẵn lẻ không được tốt cho lắm, song vì
nó chỉ dùng 1 bit để kiểm tra cho nên nó có số tổng phí (overhead) thấp nhất, đồng thời, nó cho phép phục hồi bit bị thất lạc nếu người ta biết được vị trí của bit bị thất lạc nằm ở đâu
Mã hai-trong-năm
Trong những năm của thập niên kỷ 1940, Bell có sử dụng một mã hiệu phức tạp hơn một chút, gọi là mã hai-trong-năm (two-out-of-five code) Mã này đảm bảo mỗi một khối 5 bit (còn được gọi là khối-5) có chính xác hai bit có giá trị bằng 1
Trang 34Máy tính có thể nhận ra là dữ liệu nhập vào có lỗi nếu trong một khối 5 bit không 2 bit có giá trị bằng 1 Tuy thế, mã hai-trong-năm cũng chỉ có thể phát hiện được một đơn vị bit mà thôi; nếu trong cùng một khối, một bit bị lộn ngược thành giá trị 1, và một bit khác bị lộn ngược thành giá trị 0, quy luật hai-trong-năm vẫn cho một giá trị đúng (remained true), và do đó nó không phát hiện là có lỗi xảy ra
Tái diễn dữ liệu
Một mã nữa được dùng trong thời gian này là mã hoạt động bằng cách nhắc
đi nhắc lại bit dữ liệu vài lần (tái diễn bit được truyền) để đảm bảo bit dữ liệu được truyền, truyền đến nơi nhận trọn vẹn Chẳng hạn, nếu bit dữ liệu cần được truyền có giá trị bằng 1, một mã tái diễn n=3 sẽ cho truyền gửi giá trị "111" Nếu ba bit nhận được không giống nhau, thì hiện trạng này báo cho ta biết rằng, lỗi trong truyền thông đã xảy ra Nếu kênh truyền không bị nhiễu, tương đối đảm bảo, thì với hầu hết các lần truyền, trong nhóm ba bit được gửi, chỉ có một bit là bị thay đổi Do đó các nhóm 001, 010, và 100 đều tương đương cho một bit có giá trị 0, và các nhóm
110, 101, và 011 đều tương đương cho một bit có giá trị 1 - lưu ý số lượng bit có giá trị 0 trong các nhóm được coi là có giá trị 0, là đa số so với tổng số bit trong nhóm, hay 2 trong 3 bit, tương đương như vậy, các nhóm được coi là giá trị 1 có số lượng bit bằng 1 nhiều hơn là các bit có giá trị 0 trong nhóm - chẳng khác gì việc các nhóm bit được đối xử như là "các phiếu bầu" cho bit dữ liệu gốc vậy Một mã có khả năng tái dựng lại thông điệp gốc trong một môi trường nhiễu lỗi được gọi là mã
"sửa lỗi" (error-correcting code)
Tuy nhiên, những mã này không thể sửa tất cả các lỗi một cách đúng đắn hoàn toàn Chẳng hạn chúng ta có một ví dụ sau: nếu một kênh truyền đảo ngược hai bit và do đó máy nhận thu được giá trị "001", hệ thống máy sẽ phát hiện là có lỗi xảy ra, song lại kết luận rằng bit dữ liệu gốc là bit có giá trị bằng 0 Đây là một kết luận sai lầm Nếu chúng ta tăng số lần các bit được nhắc lại lên 4 lần, chúng ta có thể phát hiện tất cả các trường hợp khi 2 bit bị lỗi, song chúng ta không thể sửa chữa chúng được (số phiếu bầu "hòa"); với số lần nhắc lại là 5 lần, chúng ta có thể sửa chữa tất cả các trường hợp 2 bit bị lỗi, song không thể phát hiện ra các trường hợp 3 bit bị lỗi