Thiết kế modul mã hoá và giải mã mã chập

59 1.4K 4
Thiết kế modul mã hoá và giải mã mã chập

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

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

Thông tin tài liệu

Thiết kế modul mã hoá và giải mã mã chập

1 LỜI MỞ ĐẦU hoá giải đã xuất hiện từ rất sớm đặc biệt là trong quân sự. Các yêu cầu với một loại là phải có tính bảo mật cao, khả năng phát hiện sửa lỗi trong qua trình truyền. Để tìm ra được một loại thực sự hiệu quả là không đơn giản. Trong các loại chập ra đời từ những năm 1955 cùng thời với nhiều loại như vòng, BCH chập là loại có khả năng khôi phục dữ liệu rất tốt, song khi mới ra đời do chưa tìm được giải thuật giải khả thi nên ít được quan tâm. Mãi đến năm 1967 Viterbi đã đưa ra một giải thuật giải tối ưu gọi là giải thuật Viterbi. Với giải thuật Viterbi cùng với sự tiến bộ KHKT với công nghệ sản xuất các mạch tổ hợp cỡ lớn sự phát triển của công nghệ sản xuất bộ nhớ, chập ngày càng được ứng dụng rộng rãi trong công nghệ viễn thông. Mặc dù đã xuất hiện từ rất lâu song hoá vẫn là một môn học khá mới. Với mong muốn tạo một bộ thí nghiệm về hoá giải phục vụ cho việc học tập, đề tài : nghiên cứu “ Thiết Kế Modul hoá Giải Chập“. Nội dung của đề tài là nghiên cứu hiện thực thuật toán hoá chập giải thuật giải của Viterbi. Mặc dù có nhiều cố gắng, nhưng do kiến thức hạn chế thời gian thực hiện đề tài không nhiều nên đề tài vẫn còn nhiều hạn chế sai sót. Em rất mong nhận được sự đánh giá nhận xét của các thầy giáo các bạn. Nhân đây em muốn nói lời cảm ơn sâu sắc tới các thầy giáo trong khoa đặc biệt là thầy giáo hướng dẫn Ths Nguyễn Phương Lâm đã nhiệt tình quan tâm giúp đỡ em hoàn thành đồ án. Đồng thời em cũng muốn gửi lời cảm ơn tới gia đình các bạn đã động viên, giúp đỡ em trong quá trình hoàn thành đồ án tốt nghiệp. Hải Phòng, ngày 9 tháng 12 năm 2008 Sinh viên : Vũ Xuân Hiệp 2 Chương I. TỔNG QUAN VỀ HOÁ I.1. CÁC KHÁI NIỆM CƠ BẢN VỀ HOÁ I.1.1.Định nghĩa hoá hoá nguồn tin X theo bộ M là phép ánh xạ 1:1 biến đổi một tin x i  X thành một tổ hợp các kí hiệu của bộ M. Nguồn X = {x 1 ,x 2 ,x 3 , ,x n } Bộ M = {m 1 ,m 2 , ,m k } Trong đó k là cơ số của bộ mã. Nếu k=2 là nhị phân, k=10 là thập phân, k=8 là bát phân Một tin x i được hoá thành x i  m r1 m r2 m rL Trong đó L là số kí hiệu của bộ dùng để biểu diễn x i , đồng thời L cũng là độ dài của từ mã. Ví dụ: Ta có nguồn tin X = {x 1 ,x 2 ,x 3 ,x 4 }. Nguồn này được hoá với bộ nhịu phân M={0,1}. hoá x 1 = 00, x 2 = 01, x 3 = 11, x 1 = 10. I.1.2. Một số khái niệm cơ bản về hoá a) Chiều dài từ Chiều dài từ là số kí hiệu của bộ dùng để hoá cho từ đó. Ví dụ: từ 10101110 được hoá bằng 8 kí hiệu của bộ nhị phân nên có chiều dài là 8. b) Trọng lượng từ Trọng lượng từ là tổng số các kí hiệu khác 0 của từ mã. Kí hiêu: w(x i ) là trọng lượng của từ x i Ví dụ: từ 01010111 có trọng lượng là 5. c)Quãng cách Quãng cách là số kí hiệu khác nhau tính theo vị trí tương ứng của 2 từ có chiều dài bằng nhau. Kí hiệu quãng cách d(x 1 ,x 2 ) = w(x 1  x 2 ). Trong đó  là phép toán cộng modul 2. 3 Ví dụ: có 2 từ x 1 = 01011011, x 2 = 10101110 Quãng cách d(x 1 ,x 2 ) = 2. Quãng cách của một bộ được dịnh nghĩa là quãng cách tối thiểu của 2 từ bất kì của bộ mã. I.2.MỤC ĐÍCH HOÁ CÁC ĐIỀU KIỆN KHI LẬP M Ã Một số mục đích việc hoá nhằm tới ; - Phối hợp nguồn tin nơi nhận tin - Tăng hiệu suất thông tin. - Tăng độ tin cậy truyền tin. - Bảo mật thông tin. Khi thiết lập một nào đơ ta cần tuân theo một số điều kiện sau: a)Điều kiện chung. Đảm vảo tính đơn trị, nghĩa là khi nhận được một dãy tín hiệu thì phải tách ra được thành từng từ một phép tách này phải duy nhất. b) Điều kiện riêng. Đối với phương pháp xây dựng thống tối ưu (mã nén) thì phải làm sao cho độ dài trung bình của là nhỏ nhất, còn đối với có thể phát hiện sửa sai thì phải cho phép phát hiện sửa được lỗi càng nhiều càng tốt. I.3.CÁC CÁCH PHÂN LO ẠI Có nhiều cách để phân loại mã, dưới đây là một số phương pháp tiêu biểu [1]: I.3.1. Phân loại theo trọng lượng của từ mã. - có trọng lượng không đổi - có trọng lượng thay đổi I.3.2. Phân loại theo chiều dài của từ mã. - có chiều dài không đổi - có chiều dài thay đổi 4 I.3.3. Phân loại theo hiệu suất thông tin - tối ưu - chưa tối ưu I.3.4. Phân loại theo độ tin cậy -Mã có khả năng phát hiện sửa sai -Mã không có khả năng phát hiện sửa sai I.3.5. Phân loại theo cơ số của bộ Có thể xây dựng bộ với cơ số bất kì, trong đó nhị phân là phổ biến nhất. I.3.6. Phân loại theo các cột số trong từ m ã - có trọng số: Thứ tự các cột số có ảnh hưởng đến nội dung từ mã. - khôg có trọng số: Thứ tự các cột số không ảnh hưởng đến nội dung từ mã. I.3.7. Phân loại theo mục đích sử dụng m ã - số. - kí tự. I.3.8. Phân loại theo quãng cách giữa hai từ kế cận - d  const : vòng. - d = const : Gray, Johnson. I.3.8. Phân loại theo cách tạo mã. Trong việc truyền tin có hai loại được sử dụng phổ biến là khối (Block Code) chập (Convolutional Code). a) khối Bộ hoá của khối sẽ chia dòng thông tin thành những khối tin có k bit. Mỗi tin được biẻu diễn thành một khối k thành phần nhị phân u = {u 1 ,u 2 , ,u k }, u được gọi là vector thông tin. Có tổng cộng 2 k vector thông tin khác nhau. Bộ hoá sẽ chuyển vector thông tin u thành một bộ n thành phần v = {v 1 ,v 2 , ,v n }, v được gọi là từ mã.Như vậy ứng với 2 k vector thông tin sẽ có 2 k từ khác nhau. Tập hợp có 2 k từ có chiều dài n được gọi là một khối (n,k). 5 Gọi R = k/n là tỉ số mã. R chính là số bít thông tin đưa vào bộ giải trên số bít được truyền. Do n bít ra chỉ phụ thuộc vào k bit thông tin vào nên bộ hoá giải không có nhớ có thể thực hiện được bằng mạch logic tổ hợp. b) chập Bộ hoá của chập giống như bộ hoá của khối, cũng nhận k bít thông tin u tạo thành từ v là những khối n bít. Nhưng n bít của từ v không chỉ phụ thuộc vào k bít thông tin còn phụ thuộc vào m bít thông tin trước đó. Do đó bộ hoá có bộ nhớ m bít. Tập hợp dòng hoá n bit tạo bởi k bít thông tin m bít nhớ được gọi là chập (n,k,m). Tỉ số R=k/n được gọi là tốc độ lập mã. Do tính có nhớ của chập nên nó phải được thực hiện bằng mạch dãy. 6 CHƯƠNG II. HOÁ GIẢI CHẬP II.1.TỔNG QUAN VỀ CHẬP II.1.1.Cấu trúc bộ hoá Cũng giống như nhiều loại sửa lỗi khác, hoá chập đưa vào dòng dữ liệu một lượng dư thừa bằng cách sử dụng thanh ghi dịch tuyến tính. Sơ đồ của một bộ hoá chập được cho trong hình vẽ sau: Hình 2.1.Sơ đồ bộ hoá chập (3,2,3) Trong sơ đồ trên các có kí hiệu D biểu thị một khâu trễ. Các bít thông tin được đưa lần lượt vào thanh ghi dịch, các bít hoá được tạo bởi các bộ cộng modul 2 giữa bít vào các bít lưu trong thanh ghi dịch. Đường nối giữa bộ cộng modul 2 các bít trong thanh ghi dịch được cho bởi các đa thức sinh. II.1.2.Các tham số của bộ hoá chập Một bộ hoá chập thường được xác định thông qua các tham số (n,k,m). trong đó : n: số bít ra tại tại một thời điểm k: số bít vào bộ hoá tại tại một thời điểm m: độ dài lớn nhất của thanh ghi dịch. D D D D D + + + X 1 X 2 C 1 C 2 C 3 7 Tốc độ lập mã: k r n  Độ dài ràng buộc (Constrain Lenght) K. Đây là một thông số rất quan trọng của bộ chập. Với bộ tạo mã, độ dài ràng buộc xác định có bao nhiêu bít tại các thời điểm trước có ảnh hưởng đến bít hiện tại. Với bộ giải mã, độ dài ràng buộc xác định khi nào có thể quyết định được bít giải mã. Trong chập, độ dài ràng buộc càng lớn thì khả năng sửa lỗi càng tốt. Độ dài ràng buộc được tính theo biểu thức: K = m+1 Ứng với tốc độ lập r=1/2 ta có một số đa thức sinh [3]: Độ dài ràng buộc K G 1 (D) G 2 (D) G 1 (D) (HEX) G 2 (D) (HEX) 3 1 + D 2 1 + D + D 2 0x05 0x07 4 1 + D + D 3 1 + D + D 2 + D 3 0x0B 0x0F 5 1 + D 3 + D 4 1 + D + D 2 + D 4 0x19 0x17 6 1 + D 2 + D 4 + D 5 1 + D + D 2 + D 3 + D 5 0x35 0x2F 7 1 + D 2 + D 3 + D 5 + D 6 1 + D + D 2 + D 3 + D 6 0x6D 0x4F 8 1 + D 2 + D 5 + D 6 + D 7 1 + D + D 2 + D 3 + D 4 + D 7 0XE5 0x9F 9 1 + D 2 + D 3 + D 4 + D 8 1 + D + D 2 + D 3 + D 5 + D 7 + D 8 8 Với bộ hoá trong hình 2.1 ta có thể xác định các tham số: n = 3 , k = 2 , m = 3. Tốc độ r = 2/3 . Độ dài ràng buộc K = 4. II.2. CÁC PHƯƠNG PHÁP BI ỂU DIỄN CHẬP Bộ của chập có thể được biểu diễn bằng các phương pháp sau: - Đồ hình trạng thái (state Diagram) - Đồ hình cây (Tree Diagram) - Đồ hình đồ hình lưới (Trellis Diagram) Ví dụ ta có sơ đồ bộ hoá như sau: Hình vẽ 2.2. Sơ đồ bộ hoá chập (2,1,2) II.2.1. Đồ hình trạng thái Đồ hình trạng thái của (2,1,2) cho trong hình 2.1 được biểu diễn như hình vẽ dưới. Các kí hiệu trong mỗi vòng tròn biểu diễn trạng thái hi ện thời của thanh ghi dịch, tại mỗi thời điểm bộ hoá sẽ ở một trong số các trạng thái đó. Các đường nối biểu diễn sự chuyển đổi trạng thái khi có một bít vào. Các kí hiệu ghi trên các đường nối biểu diễn bít vào/ các bít ra của bộ hoá, ví dụ: kí hiệu 0/10 ghi trên đường nối từ trạng thái 10 đến trạng thái 01 nghĩa là khi có bít 0 vào bộ hoá trạng thái thanh ghi dịch là 10 thì trạng thái của thanh ghi dịch sẽ chuyển sang 01 cặp bít sau hoá là 10. D D X 1 + + C 2 C 1 MUX 9 Hình 2.3a.Đồ hình trạng thái của bộ (2,1,2) Thông thường, bộ hoá sẽ bắt đầu từ trạng thái 0. Lấy 1 ví dụ, khi dãy bít vào bộ hoá là x = { 1011} (với trạng thái đầu của thanh ghi dịch là 0) thì dãy chuyển đổi trạng thái là s = {00,10,01,10,11} dãy bít sau hoá là c = {11,10,00,01}. Hình dưới biểu diễn sự chuyển đổi trạng thái của bộ hoá với dãy bít vào cho trên (đường in đậm. Hình 2.3b. Sự chuyển trạng thái với chuỗi bit vào x = { 1011} II.2.2. Đồ hình cây. Đồ hình dạng cây biểu diễn theo thời gian tất cả các khả năng ta có thể đi tới theo chiều sâu của các nhánh. 10 Hình 2.4. Đồ hình cây của bộ hoá (2,1,2) Trong đồ hình cây, các đường nét liền biểu diễn nhánh khi có bít vào là 0, các đương nét đứt biểu diễn nhành khi có bít 1 vào. các bít sau hoá được biểu diễn ở trên mỗi nhánh cây. Với một chuỗi bít vào sẽ xác định một đường đi nhất định từ trái sang phải trên đồ hình. Ví dụ với chuỗi bít vào x = {1011} (với trạng thái đầu của thanh ghi dịch là 0) . Ta sẽ thực hiện việc dịch chuyển trên đồ hình như sau: đầu tiên tại nhánh 1 ta đi xuống, cặp bít hoá là 11 trạng thái thanh ghi dịch l à 10. Tiếp theo ta thu được bít 0, do đó ta tiếp tục đi lên , cặp bít hoá là 10 trạng thái thanh ghi dịch là 01. Bít thu được tiếp theo là 1, ta đi xuống, cặp bít hoá là 00 trạng thái thanh ghi dịch là 10. Cuối cùng ta thu được bít 1, ta đi xuống, cặp bít hoá là 00 trạng thái thanh ghi dịch l à 10. Cuối cùng chuỗi thông tin ra là: c = {11,10,00,00}. II.2.3. Đồ hình lưới Đồ hình lưới phức tạp hơn các dạng đồ hình khác, tuy nhiên nó lại được sử dụng nhiều hơn vì nó thể hiện được sự thay đổi theo thời gian của chuỗi bít vào. Đồ hình lưới biểu diễn tất cả các trạng thái chuyển đổi có thể xảy ra tại mỗi thời điểm. Trong đó [...]... hình lưới của bộ tạo (2,1,2) với chuỗi bít vào 1011 11 II.3 CÁC PHƯƠNG PHÁP GIẢI CHẬP Có một số phương pháp giải chập, chúng được gộp lại thành 2 phương pháp chính: - Giải theo từng chuỗi (Sequential Decoding) dựa vào giải thuật của Fano - Giải dựa vào kết quả so sánh sự giống nhau giữa các từ (Maximmum Likely-hood Decoding), dựa vào giả thuật của Viterbi Cả 2 phương pháp trên... TOÁN GIẢI VITERBI III 1 CƠ SỞ TOÁN HỌC CỦA GIẢI THUẬT VITERBI III.1.1.Thuật toán giải Viterbi quyết định cứng (Hard_Decison Viterbi Algorithm-HDVA) Với hoá chập, dòng bít vào là x sẽ cho chuỗi thông tin ra l à c Chuỗi bít c sẽ được phát đi qua kênh thông tin có nhiễu khi đến phía giải sẽ thu được chuỗi bit r Nhờ tính có nhớ của chập nên phía giải có thể căn cứ vào các từ thu... Delay 3 ms Giải Request ‘d’ gửi byte giải Hình 4.2 Thủ tục bắt tay giữa các mạch máy tính 34 IV.2 MẠCH HOÁ THUẬT TOÁN HOÁ IV.2.1 Mạch hoá Hình 4.3 Mạch hoá Mạch hoá được thiết kế sử dụng vi điều khiển ATMega16, đây là 1 dòng vi điều khiển khá phổ biến hiện nay nhất là với sinh viên AVR là một dòng vi điều khiển có nhiều tính năng nổi trội như khả năng chương trình hoá dễ dàng,... hoágiải có thể nhận các byte dữ liệu từ máy tính hoặc từ bàn phím Trong mỗi lần nhập dữ liệu mạch hoá sẽ thu vào 2 byte liên tiếp, sau đó sẽ tiến hành hoá tạo ra 4 byte phát đến mạch giải (theo thủ tục bắt tay bên dưới) Người sử dụng sẽ nhập vào máy tính phát một đoạn văn bản, máy tính phát sẽ phát 2 byte trong 1 lần phát theo yêu cầu của mạch hoá, trong đó có 1 byte dữ liệu và. .. dịch về trạng thái đầu Mạch giải sẽ nhận 4 byte từ mạch hoá, sau khi giải tạo lại 2 byte dữ liệu Trong trường hợp giải đúng trong 2 byte giải sẽ có 1 byte dữ liệu 1 byte 0, sau đó mạch giải sẽ phát trở lại máy tính thu đồng thời hiển thị trên LCD Sau đây là lưu đồ thủ tục bắt tay trong hệ thống: 33 PC1 encoder PC2 decoder Request ‘a’ gửi 1 byte Stanby hoá Delay 50 ms Stanby Sẵn... hình ta chỉ xét với giải thuật giải Viterbi quyết định cứng Ta sẽ trình bày thông qua một ví dụ, để thấy rõ giải thuật giải Viterbi hoạt động như thế nào Một cách mô tả dễ hiểu nhất thuật toán giải Viterbi là sử dụng đồ hình lưới Đồ hình lưới dưới đây cho ví dụ với sơ đồ hoá (2,1,2) cho trong hình 2.2, với bản tin vào có độ dài 15 bít: Hình 3.2.1 Đồ hình lưới của bộ hoá (2,1,2) với 17... *> Nhận xét: - Trước hết ta nhận thấy giải thuật HDVA đơn giản, dễ thực hiện hơn giải thuật SDVA - Trong giải thuật HDVA ta thu vào xử lí với từng từ mã, trong giải thuật SDVA ta thu vào xử lí với cả chuỗi thông tin - Theo tính toán hệ số tăng ích của (Coding Gain) trong gi ải thuật SDVA lớn hơn so với giải thuật HDVA 3Db III.2.PHÂN TÍCH THUẬT TOÁN GIẢI VITERBI QUYẾT ĐỊNH CỨNG Do điều kiện... quan)(SDVA2) a)Thuật toán giải Viterbi quyết định mềm_ phương pháp 1 (SDVA1) Vởi thuật toán giải quyết định mềm ta không cần xác định rõ từng bít thu vào là 0 hay 1, ta thu vào từng khối nhiều bit (hữu hạn hoặc vô hạn) Ý tưởng của thuật toán là, chuỗi thu vào r có nhiều bít (vô hạn) sẽ được đưa trực tiếp vào giải Phương pháp này cũng giống với thuật toán giải quyết định cứng, nhưng nó... trị p hoặc (1-p) Bảng sau mô tả ma trận bit theo cách thông thường : M (ri (j) | yi( j ) ) Bít thu vào ri ( j ) Bít giải yi( j ) ri ( j ) 0 1 1 1 0 0 Bít giải yi( j ) 0 Bít thu vào 1 Ma trận bít cho ta biết giá trị (trọng số) của bít thu được bít sau khi giải Ví dụ, nếu bít giải là yi(j) = 0 bít thu được là ri(j) = 0 thì giá trị sẽ là M ri ( j ) | yi( j ) 1 Ta có nhận xét, nó có quan... quay trở lại bước 2 Kết quả của thuật toán Viterbi là toàn bộ đường đi giữa các trạng thái trong đồ hình lưới tương ứng với từ đúng nhất III.1.2.Thuật toán giải Viterbi quyết định mềm (Soft_Decison Viterbi Algorithm) Thuật toán giải Viterbi quết định mềm có thể giải với từng khối nhiều bít Cũng giống như với thuật toán giải quyết định cứng nhưng với thuật toán giải quyết định mềm ta . về mã hoá và giải mã phục vụ cho việc học tập, đề tài : nghiên cứu “ Thiết Kế Modul Mã hoá và Giải mã Mã Chập . Nội dung của đề tài là nghiên cứu và hiện thực thuật toán mã hoá mã chập và giải. là mã chập (n,k,m). Tỉ số R=k/n được gọi là tốc độ lập mã. Do tính có nhớ của mã chập nên nó phải được thực hiện bằng mạch dãy. 6 CHƯƠNG II. MÃ HOÁ VÀ GIẢI MÃ MÃ CHẬP II.1.TỔNG QUAN VỀ MÃ CHẬP II.1.1.Cấu. giải mã không có nhớ và có thể thực hiện được bằng mạch logic tổ hợp. b) Mã chập Bộ mã hoá của mã chập giống như bộ mã hoá của mã khối, cũng nhận k bít thông tin u và tạo thành từ mã v là những khối

Ngày đăng: 20/05/2014, 09:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan