Mô hình hoá mô phỏng

Một phần của tài liệu Ứng dụng mã sửa lỗi cho mạng cảm biến không dây (Trang 49)

3.1.1. Mã RS

Các mã RS là các mã vòng bất nhị phân bởi vì các symbol của chúng được cấu thành bởi các chuỗi m bít, trong đó m là một số dương bất kì có giá trị lớn hơn 2. Với các chuỗi m bít, chúng ta có thể xác định các mã RS(n,k) thoả mãn:

0 < < < 2 + 2 (3.1)

Trong đó k là số các symbol dữ liệu, và n là số symbol sau khi mã hoá. Chúng ta có thể mô tả các mã RS(n,k) thông thường là:

( , ) = (2 − 1,2 − 1 − 2 ) (3.2)

Trong đó t là số các symbol lỗi mà các mã RS có thể sửa, và n-k=2t là số các symbol lỗi mà chúng có thể xác định. Do đó, các mã RS có thể đạt được khả năng mã hoá lớn nhất với một khoảng cách tối thiểu trong trường hợp bộ mã hoá có cùng kích thước với các khối vào ra cho bất kì loại mã tuyến tính nào.

3.1.2. Mã hoá các mã RS

Bởi vì các mã RS là các mã vòng bất nhị phân, chúng ta thực hiện quá trình mã hoá tương tự các mã vòng khác.Có hai cách để mã hoá các mã RS là mã hoá bất đối xứng và mã hoá đối xứng [17]. Bởi vì khả năng sửa lỗi của các mã bất đối xứng thấp [17], chúng ta tập trung vào mã hoá đối xứng. Mạch mã hoá của các mã RS(n,k) cho trường hợp mã hoá đối xứng như Hình 2-2.

Hình 3-1: Mô hình truyền thống truyền ảnh trong mạng cảm biến không dây

Trong đó 0, 1, … , tương ứng với các hệ số của đa thức sinh ( ( )). Chúng ta giả thiết rằng các symbol dữ liệu là ( ), và dữ liệu đầu ra ( ) được tính toán dựa vào ( )và ( ): ( ) = ( ) + ( ) (3.3) Mã hóa RS Giải mã RS Điều chế Giải điều chế Nút nguồn Nút đích Kênh vô tuy ến

( ) = ( ) ( ) (3.4)

Trong đó ( ) là symbol kiểm tra.

Như trên Hình 2-2, quá trình mã hoá cho các mã RS được thực hiện như sau. Đầu tiên, công tắc 1 được bật lên, và côngtắc 2 ở vị trí số 1 trong suốt k chu kì đầu. Sau k chu kì, dữ liệu được chứa trong các thanh ghi (các khối delay) là ( ). Trong

( − ) chu kì còn lại, công tắc 1 bị ngắt, và công tắc 2 được chuyển lên vị trí số 2. Sau ( − ) chu kì, chúng ta thu được đa thức từ mã ( ). Các bước chi tiết về quá trình mã hoá RS tham khảo [18].

3.1.3. Mô hình đề xuất

Hình 3-1 mô tả mô hình truyền thống để thực hiện mã RS cho mạng cảm biến không dây. Trên Hình 3-1, nút nguồn trước tiên thực hiện mã hoá RS. Dữ liệu sau đó được điều chế trước khi truyền tới kênh vô tuyến. Tại nút đích, dữ liệu được giải điều chế và giải mã RS được thực hiện để tái tạo dữ liệu ban đầu.

Theo mô hình này, chúng ta nhận ra rằng các nút nguồn phải thực hiện nhiệm vụ mã hoá RS mặc dù chúng bị giới hạn về năng lượng. Nhiệm vụ này làm cho các nút nguồn dễ bị chết hơn các nút khác. Để giải quyết vấn đề này, tôi đề xuất một mô hình để thực hiện nhiệm vụ mã hoá RS trên mạng cảm biến không dây. mô tả trường hợp tốt nhất của mô hình đề xuất cho mã RS(7,3) trên mạng cảm biến không dây. Để thiết kế mô hình, trước hết chúng ta xây dựng mạch mã hoá cho mã RS(7,3).

Chúng ta giả thiết rằng ( ) của các mã ( , ) có các nghiệm , , … , . Bởi vì − = 2 là 4, chúng ta có thể mô tả ( ) như sau:

( ) = ( − )( − )( − )( − )

= − + − + (3.5)

Bởi vì phép trừ cho các kết quả như là cộng module 2, ( ) có thể được biểu diễn như sau

( ) = + + + + (3.6)

Tương tự, đa thức sinh của mã RS(15,7) là:

( ) = ( + ) + ( + 1) + + ( + )

+( + ) + + ( + ) + (3.7)

Và đa thức sinh của mã RS(31,21) là:

( ) = ( + + ) + ( + + + ) + ( + + ) + ( + ) Nút đích Si ⊗ ⊗ Trễ 1 Trễ 2 Trễ 3 Trễ 4 Cổng 1 ⊕ ⊕ ⊗ ⊗ ⊕ ⊕ X0 X1 X2 X3 1 Cổng 2 R1 R2 R3 R4 Hi Dữ liệu vào 2 Đầu ra Nút nguồn

+( + + + ) + ( + + )

+( + ) + ( + + ) +

+( + + + + ) + (3.8)

Để giản ước các công thức sử dụng trong mục này, chúng ta sẽ sử dụng RS(7,3) để giải thích mô hình đề xuất. Dựa vào công thức (3.5), chúng ta thiết kế mạch mã hoá cho mã RS(7,3) được mô tả trên Hình 3-2. Ở [7] và [8], các tác giả đã chỉ ra rằng tỷ lệ bít lỗi và tỷ lệ mất gói hầu như bằng không khi khoảng cách giữa bộ phát và bộ thu nhỏ hơn ngưỡng ( = 10 ). Do đó, các nút được chọn để thực hiện các bước mã hoá RS thoả mãn điều kiện sau:

max ( , , , ) ≤ (3.9)

trong đó là khoảng cách giữa các nút, được chỉ ra trênHình 3-2.

Quá trình mã hoá RS bao gồm hai bước:

1) Bước 1

Trong k chu kì đầu, công tắc 1 được bật và công tắc 2 ở vị trí số 1. Các nút , , vả được sử dụng để tính toán ( ) như sau. Trong chu kì đầu tiên, symbol vào đầu tiên được đưa tới các nút , , và và được lưu trữ tại cluster head . Trong chu kì thứ hai, symbol vào thứ hai được đưa tới nút và lưu trữ tại cluster head. Tại thời điểm đó, nút được dùng để nhân symbol đầu tiên với hệ số . Dữ liệu sau đó được gửi tới nút và nút này thực hiện hai toán hạng (nhân symbol vào đầu tiên với hệ số α và cộng với dữ liệu đầu ra của nút . Tại nút , chúng ta cũng thực hiện hai toán hạng (nhân symbol vào đầu tiên với hệ số và cộng với dữ liệu đầu ra của nút ). Cuối cùng, dữ liệu được nhân với hệ số và được cộng với dữ liệu đầu ra của nút và được cộng với symbol vào thứ hai tại nút , sau đó phản hồi được gửi tới các nút , và . Các chu kì được thực hiện tuần

tự theo cách thức tương tự, chúng ta sẽ có ( ) tại cluster head và

( )tại các nút , , và sau k chu kì. 2) Bước 2

Trong ( − )chu kì còn lại, công tắc 1 của mạch được mở và công tắc 2 được chuyển lên vị trí số 2. ( ) được chứa trong các nút , , và được dịch và gửi tới cluster head . Tại cluster head , chúng ta thu được dữ liệu đầu ra ( ) sau ( − ) chu kì.

Chi tiết của thuật toán được thực thi với mô hình đề xuất được thể hiện trên Thuật toán 1, trong đó là số chu kì đồng hồ và là số các chặng từ nút nguồn tới nút cluster head.

Thuật toán 1Mô hình mã hoá RS(7,3) đề xuất cho mạng cảm biến không dây

1: Thiết lập các thông số của mạng và khởi tạo năng lượng cho các nút 2: S1, S2, S3 và S4 chứa dữ liệu và gửi yêu cầu bản tin tới 1, H2, H3 và H4

3:Hithiết lập một đường đi từ Si tới nút đích; gửi bản tin ACK tới Si (i = 1,2,3,4) 4: Si thực hiện nén dữ liệu ảnh

5:Hitính toán từ Si tới Hi thoả mãn công thức 9

6:Hithiết lập một đường từ Si tới Hi theo các nút trung gian (1 ≤ < )

7:if < 5 then 8:if < 3 then 9:if =2 then 10: Si gửi ( ) tới

11: thực hiện mã hoá RS và gửi ( ) tới nút của chặng kế tiếp 12:else

13: Si thực hiện mã hoá RS và gửi ( ) tới nút của chặng kế tiếp 14:end if

15:else

16:while ≤ do 17:if = 3 then

18: Si gửi symbol đầu vào tới , và Hi

19: thực hiện cộng và nhân ở khối trễ 1, thực hiện cộng và nhân tại các khối trễ 2, 3 và 4

20: gửi dữ liệu lại cho 21:else

22:Si gửi symbol đầu vào tới , , và Hi

23: và thực hiện cộng và nhân lần lượt tại các khối trễ 1 và 2 và thực hiện cộng và nhân tại các khối trễ 3 và 4

24: gửi dữ liệu lại và 25:end if 26: = + 1 27:end while 28: gửi ( ) to 29:end if 30:else 31:while ≤ do

32:S gửi symbol đầu vào tới , , , và

33: , , và thực hiện cộng và nhân lần lượt tại các khối trễ 1, 2, 3 và 4 34: gửi dữ liệu lại cho , và

35: = + 1

36:end while

37: gửi ( ) tới 38:end if

39: tập hợp và gửi dữ liệu mã hoá ( ) tới đích

40:Nút đích xây dựng lại dữ liệu ban đầu dựa vào ( ) và ( )

41:if tất cả nút nguồn bị chết then 42: Kết thúc

43:else

44:Trở lại bước 2 45:end if

3.1.4. Kịch bản mô phỏng

 Lấy BER và PSNR

Chạy chương trình mô phỏng cho trường hợp truyền ảnh trong WSN không sử dụng mã sửa lỗi và trường hợp truyền ảnh sử dụng mã hoá RS đa chặng với 1 nút nguồn với các ảnh đầu vào là ảnh Lena 64x64 pixel, ảnh Lena 256x256 pixel và ảnh Lena 512x512 pixel.

 Lấy thời gian truyền và tổng số ảnh

Chạy chương trình mô phỏng cho trường hợp truyền ảnh sử dụng mã hoá RS đa chặng với 1 nút nguồn và 4 nút nguồn đồng thời với kích thước mạng (tổng số nút cảm biến) khác nhau 500, 800, 1000, 1500, 1800 và 2000 với ảnh đầu vào truyền đi là ảnh Lena 256x256 pixel.

Bảng 3-1: Kịch bản mô phỏng

Kích thước ảnh đầu vào (pixel)

Số nút nguồn Kích thước mạng Số lần chạy

256 x 256 1 500 1 800 1 1000 1 1500 1 1800 1 2000 1 4 500 1 800 1 1000 1 1500 1 1800 1 2000 1

Mỗi kịch bản chạy 1 lần và lấy ra thời gian truyền, tổng số ảnh nhận được và năng lượng còn lại của mạng.

 Lấy năng lượng còn lại của mỗi nút để đánh giá cân bằng năng lượng

Chạy mô phỏng với ảnh đầu vào là Lena 64x64 pixel và kích thước mạng là 1000 nút cảm biến trong 2 trường hợp để đánh giá:

 Nhận 1000 ảnh khi truyền 1 nút nguồn

 Nhận 1000 ảnh khi truyền 4 nút nguồn

3.2. Mô hình hoá năng lượng tiêu thụ

Để đánh giá năng lượng tiêu thụ, chúng ta sử dụng mô hình năng lượng truyền thông vô tuyến được trình bày tại [17] và [18]. Năng lượng tiêu tốn khi phát và nhận một bít:

= + , <

+ , ≥ (3.10)

= (3.11)

Trong đó là khoảng cách gần với giá trị tham chiếu hay khoảng cách ngưỡng, nó được xác định dựa trên các thông số đo lường gần bộ phát, và là khoảng cách giữa hai nút (các nút phát và thu) trong mạng cảm biến không dây. là năng lượng tiêu thụ của điện tử thu phát, và và lần lượt là năng lượng tiêu thụ cho phát trong môi trường tự do và trong môi trường đa đường.

Năng lượng tiêu thụ cho xử lý dữ liệu bao gồm hai phần, năng lượng trong quá trình mã hoá và năng lượng cần để truyền dữ liệu. Do đó, tổng năng lượng tiêu thụ cho quá trình xử lý dữ liệu được tính toán như sau:

= + +

Trong đó là kích thước dữ liệu nhận được, là năng lượng tiêu tốn cho mã hoá dữ liệu, và là kích thước dữ liệu được truyền đi sau khi mã hoá.Trong bài báo này, chúng ta sử dụng mô hình mã hoá JPEG để nén dữ liệu ảnh tại các nút nguồn tới nút đích. Do đó, năng lượng tiêu tốn cho mã hoá dữ liệu được mô tả như sau:

= ∑ ( ( + ) + ) ∑ ∑ (3.13)

Trong đó N là số các khối cho mã hoá Huffman của dữ liệu ảnh vào, và k là số symbol dữ liệu. là số các khối cho mã hoá RS với khối thứ i của dữ liệu ảnh vào. Ký hiệu và lần lượt là kích thước dữ liệu của các khối trước khi đưa vào tiền xử lý/biến đổi cosin rời rạc (DCT) và mã hoá Huffman cho khối thứ i của ảnh đầu vào. Kí hiệu , , và lần lượt là năng lượng tiêu tốn trên bít cho tiền xử lý, DCT, mã hoá Huffman, và mã hoá RS.

3.3. Kết luận chương

Chương này trình bày mô hình mô phỏng truyền ảnh sử dụng mã RS đa chặng trong mạng cảm biến không dây, đưa ra mô hình đề xuất là mô hình truyển ảnh trong mạng cảm biến không dây sử dụng mã RS mã hoá đă chặng với 4 nút nguồn, kịch bản mô phỏng bao gồm lấy kết quả đánh giá QoS (BER và PSNR, tổng số ảnh nhận được), đánh giá các thông số của mạng (thời gian sống và năng lượng của mạng) và đưa ra mô hình tính toán năng lượng trong mạng cảm biến không dây. Chương kế tiếp sẽ đánh giá kết quả mô phỏng và đưa ra nhận xét.

CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ MÔ PHỎNG

4.1. Thiết lập các thông số cho mạng cảm biến không dây

Sử dụng Visula Studio C để thiết kế mô phỏng. Trong mô phỏng này, chúng ta đánh giá 6 mạng cảm biến với 500, 800, 1000, 1500, 1800 và 2000 nút mạng phân bố ngẫu nhiên trên phạm vi 500m×500m. Các nút nguồn được chọn ngẫu nhiên. Mạng cảm biến không dây được phân chia thành các phần gọi là các cluster. Các cluster head được chọn sử dụng LEACH-C [19]. Các giá trị của các tham số của mô hình năng lượng trong công thức (3.10) và (3.11) được chọn như sau: = 50 /bit, = 0.01 /bit/m2, = 0.0000013 /bit/m4, và = 100 sử dụng các giá trị đặc trưng từ các nghiên cứu trước đây [19] và [20]. Các giá trị của các tham số của mô hình tính toán năng lượng được chọn như sau: Năng lượng tiêu tốn cho quá trình tiền xử lý = 15 /bit, năng lượng tiêu tốn cho DCT = 20 /bit, năng lượng tiêu tốn cho mã hoá = 90 /bit [18], và năng lượng tiêu tốn cho mã hoá RS = 354 /từ mã [21]-[23]. Chúng ta giả thiết rằng xác suất giao nhau của một kênh nhị phân đối xứng là độc lập và phân phối đều và đồng nhất trong khoảng [0, 0.5] [24].Nút mà gần trung tâm của mạng được gán là trạm cơ sở. Mỗi cảm biến được cấp một Jun là năng lượng khởi tạo.

 Giao diện chương trình mô phỏng:

Ảnh Lena đầu vào:

Hình 4-2: Ảnh Lena đầu vào kích thước 64x64 pixel, 256x256 pixel và 512x512 pixel

4.2. Kết quả mô phỏng

Một vài mô phỏng được xem xét để đánh giá ảnh hưởng của các tham số khác nhau đối với việc triển khai mô hình đề xuất. Trong mô hình mở rộng, chúng ta nén các dữ liệu tại đồng thời bốn nút nguồn và thực hiện mã hoá RS phân tán dọc theo đường từ một nút nguồn tới một cluster head trong một cluster cho mỗi nguồn đó. Theo mô hình đề xuất trước đây, dữ liệu được nén và thực hiện mã hoá RS phân tán dọc theo đường từ một nút nguồn tới một cluster head của một nút nguồn. Chất lượng ảnh của ảnh được cải thiện so với mô hình truyền ảnh không sử dụng mã hoá. Nhưng với mô hình này, chúng ta đạt được độ lợi về thời gian truyền và số lượng ảnh ở đầu ra.

 Chất lượng ảnh đầu ra

So sánh chất lượng ảnh khi sử dụng mã sửa lỗi Reed Solomon và trường hợp không sử dụng mã sửa lỗi dựa trên BER, PSNR và ảnh đầu ra.

a) b)

Hình 4-3: Ảnh đầu ra truyền qua kênh AWGN với trường hợp ảnh đầu vào Lena 64x64 pixel: a. không mã hoá (BER = 2.54.10-2 và PSNR = 23.38 dB) và b.Mã hoá

RS đa chặng 1 nút (BER = 0 và PSNR = 47.89 dB)

a) b)

Hình 4-4: Ảnh đầu ra truyền qua kênh AWGN với trường hợp ảnh đầu vào Lena 256x256 pixel: a. không mã hoá (BER = 3.64.10-2 và PSNR = 24.09 dB) và b. mã

a) b)

Hình 4-5: Ảnh đầu ra truyền trên kênh AWGN với trường hợp ảnh đầu vào Lena 512x512 pixel: a. không mã hoá (BER = 3.72.10-2 và PSNR = 24.55 dB) và b. mã

hoá RS đa chặng 1 nút nguồn (BER = 1.01.10-4 và PSNR = 33 dB)

 Thời gian truyền và tổng số ảnh

Bảng dưới đây là kết quả cho các kịch bản phía trên:

 Trường hợp truyền ảnh với 1 nút nguồn với kích thước ảnh đầu vào là 256 x 256 pixel

Bảng 4-1: Kết quả mô phỏng truyền ảnh vơi 1 nút nguồn

Số nút mạng Thời gian truyền (ms) Số ảnh truyền Năng lượng (nJ)

2000 5,128,273,920 89 185,310,882,921 1800 4,737,272,500 90 175,962,503,575 1500 3,946,163,940 58 138,859,501,804 1000 2,745,687,750 48 90,580,500,158 800 1,911,387,310 30 73,211,364,883 500 1,246,503,760 17 41,916,343,171

Hình 4-6: Thời gian truyền của mạng WSN trong trường hợp sử dụng 1 nút nguồn

Hình 4-7: Số ảnh truyền trong mạng WSN trong trường hợp 1 nút nguồn

0 1.000.000.000 2.000.000.000 3.000.000.000 4.000.000.000 5.000.000.000 6.000.000.000 500 800 1000 1500 1800 2000 Th ời gian t ruyền (m s) Tổng số nút mạng 0 10 20 30 40 50 60 70 80 90 100 500 800 1000 1500 1800 2000 Số ảnh truyển Tổng số nút mạng

Hình 4-8: Năng lượng còn lại trong toàn mạng trong trường hợp 1 nút nguồn

 Trường hợp truyền ảnh với 4 nút nguồn đồng thời với kích thước ảnh đầu

Một phần của tài liệu Ứng dụng mã sửa lỗi cho mạng cảm biến không dây (Trang 49)