BAITAPLON MATLAB

June 16, 2018 | Author: Hòa Trần | Category: N/A


Comments



Description

CHƯƠNG 1 TÌM HIỂU VỀ MÃ HAMMING 1.Giới thiệu chung về mã hóa kênh Tín hiệu truyền qua kênh truyền sẽ bị ảnh hưởng bởi nhiễu, can nhiễu, fading… là tín hiệu đầu thu bị sai. Mã hóa kênh dùng để bảo vệ dữ liệu không bị sai bằng cách thêm vào các bit dư thừa (redundancy). Ý tưởng của mã hóa kênh là gửi một chuỗi bit có khả năng sửa lỗi. Mã hóa kênh không làm giảm lỗi bit truyền mà chỉ làm giảm lỗi bit dữ liệu. Mục đích của lý thuyết mã hóa trên kênh truyền (channel encoding theory) là tìm những mã có thể truyền thông nhanh chóng, chứa đựng nhiều mã ký (code word) hợp lệ và có thể sửa lỗi (error correction) hoặc ít nhất phát hiện các lỗi xảy ra (error detection). Các mục đích trên không phụ thuộc vào nhau, và mỗi loại mã có công dụng tối ưu cho một ứng dụng riêng biệt. Những đặc tính mà mỗi loại mã này cần còn tuỳ thuộc nhiều vào xác suất lỗi xảy ra trong quá trình truyền thông Sơ đồ mã hóa kênh truyền tin: Hình 1.Sơ đồ mã hóa kênh truyền tin bao gồm lý thuyết tin học. 3. 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). Khoảng cách Hamming được sử dụng trong kỹ thuật viễn thông để tính số lượng các bit trong một từ nhị phân (binary word) bị đổi ngược.Ký hiệu u v S(x) N(x) R(x) R 2. Ví dụ với từ mã 00111010 có trọng số Hamming là 4. Ngược lại với mã của ông.Khoảng cách Hamming. Khoảng . và vì thế. lý thuyết mã hóa. vừa không thể giúp để sửa được các lỗi mà nó phát hiện thấy. và mật mã học. Mã Hamming Định nghĩa Bản tin gốc Mã hóa Tín hiệu truyền Tín hiệu nhiễu Tín hiệu nhận Chuỗi bit giải điều chế Trong viễn thông (telecommunication). Mã Hamming còn có thể sửa các lỗi do một bit bị sai gây ra. mã Hamming là một mã sửa lỗi tuyến tính (linear error-correcting code). Khoảng cách Hamming được định nghĩa là các bít khác nhau giữa hai từ mã. Trước tiên ta tìm hiểu về trọng số Hamming: trọng số Hamming của một từ mã là số số 1 có trong từ mã đó. như một hình thức để ước tính số lỗi xảy ra trong quá trình truyền thông. Mã Hamming có thể phát hiện một bit hoặc hai bit bị lỗi (single and doublebit errors). Việc phân tích trọng số Hamming của các bit còn được sử dụng trong một số ngành. được đặt tên theo tên của người phát minh ra nó. đôi khi nó còn được gọi là khoảng cách tín hiệu (signal distance). Richard Hamming. Ví dụ ta có hai từ mã 0110101 và 1110001 ta có: 0110101 XOR 1110001 ---------------1000100 Vậy khoảng cách Hamming của 2 từ mã trên là 2. Tất cả các bít ở vị trí số mũ của 2 được dùng làm bít chẵn lẻ.Thuật toán. 2. 22. 5 (101). 3. 7 (111).. 7… 4. Có thể tóm tắt các bước cho việc sử dụng mã Hamming như sau: 1. 3… 2. Tất cả các vị trí khác vị trí còn lại sẽ được dùng cho các bit dữ liệu. 9 (1001) . 3. Mã Hamming còn có thể sửa các lỗi do một bit bị sai gây ra. 24… 3. 6. Vd: 1 (1). mã này có thể phát hiện một bit hoặc hai bit bị lỗi. 3 (11). Mỗi bit chẵn lẻ tính giá trị chẵn lẻ cho một số bit trong từ mã theo quy tắc như sau:  Bít chẵn lẻ ở vị trí số 1 (20) sẽ kiểm tra tính chẵn lẻ của các vị trí mà số thứ tự của vị trí đó trong hệ nhị phân có bít ngoài cùng là 1. Các vị trí trong một khối được bắt đầu đánh số từ 1: Bit 1. 21. Vd: 20. Mã Hamming là một mã sửa lỗi tuyến . VD: vị trí thứ 2. 23. 5.cách Hamming giữa hai từ mã được lấy bằng cách dùng toán tử XOR từng bít của hai từ mã với nhau và khoảng cách Hamming là trọng số của kết quả tìm được trong phép XOR trên. . Và với mọi m > 2. 6. ma trận của mã [7. Bít chẵn lẻ ở vị trí số 2 (10) sẽ kiểm tra tính chẵn lẻ của các vị trí mà số thứ tự của vị trí đó trong hệ nhị phân có bít thứ 2 là 1. Mô tả bằng thuật toán. mã Hamming là một mã khối. Vd: 2 (10). Vd: 4. . luôn tồn tại mã Hamming với các thông số sau:  Chiều dài từ mã: n = 2m-1  Chiều dài phần tin: k=2m-m-1  Chiều dài phần kiểm tra: m=n-k  Khả năng sửa sai: t=1  Ma trận kiểm tra H có dạng: H = [Im. 14. 3 (111). 15…  Tương tự với các bít chẵn lẻ ở vị trí cao hơn: 8. 4. các bit kiểm tra xen kẽ với các bit mang tin. 13. Khi đó. với m=3.4] được viết dưới dạng 1 0 0 1 0 1 1 H(3. 6 (110). người ta đổi vị trí các cột trong ma trận H.Q] Trong đó Im là mà trận đơn vị m*m và Q là ma trận [2m-m-1] cột. 12. Ví dụ. bit nhị phân của vị trí AND với các bit vị trí sẽ là một số khác không. 32…  Tóm lại. Như ta đã biết. 16. 7. mỗi bít chẵn lẻ trong mã Hamming sẽ tính giá trị chẵn lẻ mà tại đó.7) = 0 1 0 1 1 1 0 0 0 1 0 1 1 1 Trong thực tế. để việc tạo và giải mã Hamming một cách đơn giản. 10 (1010)…  Bít chẵn lẻ ở vị trí số 4 (100) sẽ kiểm tra tính chẵn lẻ của các vị trí mà số thứ tự của vị trí đó trong hệ nhị phân có bít thứ 3 là 1. 7 (111). 5. mỗi cột là vectơ m chiều có trọng số là 2 hoặc lớn hơn. 1 u3 . thứ hai và thứ tư của các ký hiệu (đối với khối có 4 bit dữ liệu): t=(x. u1.z. u0 . 0 0 0 1 0 =0 1 1 1 1 1   z  u .1 u . u3) = (1 0 1 1) Ta có: x = u0 + u 1 + u 3 = 1 + 0 + 1 = 0 y = u 0 + u2 + u3 = 1 + 1 + 1 = 1 z = u1 + u2 + u3 = 0 + 1 + 1 = 0 .1 u0 . 2… nghĩa là tại các vị trí thứ nhất.1 u2 . z ở các vị trí tương ứng 2i với i=0. u1.1 u0 . y.Ht = | x y u0 z u1 u2 u3 | . u2.1 0  x.Để việc tạo các mã đơn giản.1 u3 .1 z .1 0 1 2 3   y . 1.1 0   z u  u  u 1 2 3    y u  u  u 0 2 3  x u0  u1  u3  Ví dụ: Tin cần phát đi là U = (u0.1 u1 . ta chọn các bit kiểm tra x.1 z . y. u3 ) a) Tạo mã: 0 0 1 0 1 1 1 0 0 1 1 t. u2.1 u . r5.vậy từ mã phát đi sẽ là : t = (0 1 1 0 0 1 1) b) Giải mã tại bên thu : 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 s = r. đổi sang thập phân thì S = 6. r2. S2)     s0  r3  r4  r5  r6   s1  r  r2  r5  r6 1 s  r  r  r  r 0 2 4 5  2  Ví dụ: Tín hiệu thu được là R = (r0. đảo bít này ta thu được chuỗi bít đúng là R = (0 1 1 0 0 1 1). 1 1 1 1 = (S0. r6) = (0 0 1 0 0 1 1) Khi đó: s0=1+0+1+1=1 s1=0+1+1+1=1 s2=0+1+0+1=0 Ta có S = (1 1 0). r4. Ht = |r0 r1 r2 r3 r4 r5 r6| . r3. S1. . tức là bít thứ 6 (tương ứng với r1) bị lỗi. 6. r1. Kết luận. ngoài ra. Tuy nhiên. Mã Hamming có tầm quan trọng cơ bản trong lý thuyết mã hóa và được sử dụng thực tế trong thiết kế máy tính.Có thể nói. số bit kiểm tra ít. mã này hoạt động tốt trong việc phát hiện các lỗi đơn bit và một số trường hợp lỗi hai bit. . lịch sử phát triển của mã sửa lỗi được bắt đầu bằng sự ra đời của mã Hamming và định lý Shannon. mã Hamming không thể sửa được bản tin bị lỗi đa bit. có độ tin cậy cao hơn sau này. Việc ra đời mã Hamming là cơ sở cho việc phát triển thêm nhiều loại mã hóa mới. Ưu điểm của mã này là đơn giản. tạo ra một file mô phỏng mới bằng cách vào File > New > Model (hoặc sử dụng cụm phím tắt Ctrl + N) Tiếp theo.  Tổng số bit nhận. từ cửa sổ Simulink Library Browser. BPSK Modulator Baseband. Khối này sẽ hiển thị ra 3 đại lượng:  Tỉ lệ lỗi / bit  Tổng số bit bị lỗi. BPSK Demodulator Baseband. Hamming Decoder: Khối giải mã Hamming. gõ lệnh simulink để sử dụng công cụ này Sau đó. AWGN Channel: Kênh truyền là AWGN. Ta có sơ đồ khối mô phỏng như sau: . Đầu tiên. Error Rate Calculation: Khối dùng để so sánh lỗi giữa tín hiệu gốc và tín hiệu sau khi qua kênh AWGN có sử dụng mã Hamming. lấy các khối sau: Bernoulli Binary Generator: Khối này để tạo các bit ban đầu.CHƯƠNG 2 MÔ PHỎNG MÃ HÓA KÊNH HAMMING BẰNG MATLAB Sử dụng công cụ Simulink: 1. Hamming Encoder: Khối mã hóa Hamming. Display: Khối dùng để hiển thị. Xây dựng khối. từ cửa sổ của chương trình Matlab. Hình 2: Sơ đồ khối mô phỏng hệ thống sử dụng mã Hamming 2. .Khối Bernoulli Binary Generator: Chức năng:Là khối tạo nguồn dữ liệu nhị phân ban đầu Hình 3: Thiết lập thông số cho khối Bernoulli Binary Generator Trong mục tham số (parameter) gồm: + probability of a zero ( xác suất số 0 xuất hiện) . Thiết lập các thông số cho mỗi khối. + Message Length K (độ dài bản tin) là gfprimfd(3.Khối Hamming Encoder (mã hóa Hamming) và Hamming Decoder (giải mã Hamming) cùng để các tham số: +Codeword Length (độ dài từ mã) N=7.'min'). Hình 4: Thiết lập thông số cho khối BPSK Modulator Baseband và khối BPSK Demodulator Baseband .Khối BPSK Modulator Baseband và khối BPSK Demodulator Baseband cùng để các tham số: + Phase offset = 0 + Samples per symbol = 1. .+ initial seed (số bit của chuỗi đầu) + sample time (thời gian mẫu) + samples per frame (mẫu cho mỗi khung) . Hình 5: Thiết lập thông số cho khối Hamming Encoder (mã hóa Hamming) và Hamming Decoder (giải mã Hamming) . + Tỉ lệ lỗi / bit + Tổng số bit bị lỗi.Khối Display (hiển thị) để mặc định. số lượng bit lỗi khi đạt đến 100 thì quá trình mô phỏng sẽ dừng lại): Gồm các tham số: . + Tổng số bit nhận . kéo to ra để hiển thị hết cả 3 thông số.Khối Error Rate Calculation thiết lập thông số như hình vẽ (Ở đây. Hình 7: Thông số của khối tính toán lỗi. ta tiến hành mô phỏng bằng cách vào Simulation > Start. 3. Mô phỏng. Kết quả được hiển thị trên khối Display như hình sau: . Sau khi thiết lập các thông số như trên. Hình 8b: Mô phỏng đường truyền dữ liệu khi sử dụng mã hóa Hamming và không sử dụng mã hóa Hamming với chiều dài từ mã 15 bit.Hình 8a: Mô phỏng đường truyền dữ liệu khi sử dụng mã hóa Hamming và không sử dụng mã hóa Hamming với chiều dài từ mã 7 bit. Nhận xét: Với việc truyền dữ liệu sử dụng mã hóa Hamming và không sử dụng mã hóa Hamming trên ta có kết quả sau : . -Khi không sử dụng bộ mã hóa Hamming trên đường truyền thì xác suất lỗi bit tăng.006993 0. Sai được t bit nếu d ≥ 2t + 1.4) C(15. r là số bit kiểm tra với chiều dài từ mã n và k bit thông báo thì r=n-k. . Với M là số từ mã tối đa.02689 1 0.02697 7 Chú thích :Có là có sử dụng mã hóa Hamming.i chạy từ 0 đến n. -Vì khả năng sửa lỗi và phát hiện lỗi phụ thuộc vào khoảng cách Hamming Phát hiện sai được t bit nếu d ≥ t + 1. Giới hạn trên: M <= 2 mũ n / (tổng xích ma của tổ hợp chập i của n) trong đó i chạy từ 0 đến t. Không là không sử dụng mã hóa Hamming.t là số lượng bit có thể sửa sai.Giới hạn dưới: 2 mũ r >= tổng xích ma tổ hợp chập i của n . -Khi sử dụng các bộ mã có độ dài từ mã lớn hơn thì tỉ lệ lỗi bit tăng lên ngay cả khi sử dụng mã Hamming nhưng tốc độ mã hóa cũng tăng lên.n là chiều dài từ mã. số bít lỗi/số bit truyền tăng (trong cả trường hợp đặt trước lỗi và không đặt trước số lỗi).000996 0.Bảng kết quả Mã Hamming Chiều dài từ mã (bit) Có C(7.11) 7 15 Không Có Không Có 27 27 1000 1000 Không 1000 1000 Xác suất lỗi bit (bit) Số bit lỗi (bit) Tổng số bit truyền (bit) 0.
Copyright © 2025 DOKUMEN.SITE Inc.