Ngày nay, sự phát triển của công nghệ diễn ra rất năng động nên nhu cầu truyền tin trong cuộc sống ngày càng trở nên được chú ý đến nhiều hơn. Thông tin đóng vai trò rất quan trọng trong đời sống, quân sự, ngoại giao….vì vậy việc truyền dẫn thông tin càng phải đặt lên hàng đầu. Đảm bảo an toàn về truyền tin giúp chúng ta thu và nhận thông tin một cách chính xác hơn. Tuy nhiên trong quá trình truyền dẫn sẽ không tránh khỏi lỗi và nhiễu. Do vậy việc sửa lỗi là rất cần thiết. Từ đó có rất nhiều phương pháp sửa lỗi ra đời: Mã chập, mã vòng, mã BCH nhị phân, mã Hamming. Mỗi phương pháp sửa lỗi đều mang những ưu điểm và nhược điểm riêng biệt, vì vậy việc lựa chọn phương pháp sửa lỗi phải phù hợp để hệ thống hoạt động ổn định.
Lời mở đầu Ngày nay, phát triển công nghệ diễn động nên nhu cầu truyền tin sống ngày trở nên ý đến nhiều Thơng tin đóng vai trị quan trọng đời sống, quân sự, ngoại giao….vì việc truyền dẫn thông tin phải đặt lên hàng đầu Đảm bảo an toàn truyền tin giúp thu nhận thơng tin cách xác Tuy nhiên q trình truyền dẫn khơng tránh khỏi lỗi nhiễu Do việc sửa lỗi cần thiết Từ có nhiều phương pháp sửa lỗi đời: Mã chập, mã vòng, mã BCH nhị phân, mã Hamming Mỗi phương pháp sửa lỗi mang ưu điểm nhược điểm riêng biệt, việc lựa chọn phương pháp sửa lỗi phải phù hợp để hệ thống hoạt động ổn định Sau chúng em xin trình bày đề tài: “Mơ phỏng, đánh giá chất lượng hệ thống truyền tin số sử dụng mã Hamming với phương thức điều chế khác nhau” Với hướng dẫn giảng viên: ThS Phạm Mạnh Tồn Trong q trình xây dựng đồ án khó tránh sai sót, mong q thầy bạn dẫn, đóng góp ý kiến để đề tài hoàn thiện Xin trân trọng cảm ơn Sinh viên thực Nguyễn Việt Thắng Phần 1: MÃ HÓA HAMMING SỬ DỤNG TRONG TRUYỀN TIN SỐ 1.1 Tổng quan mã hóa kênh 1.1.1 Khái niệm chung Mã hóa kênh việc đưa thêm bit dư vào tín hiệu số theo quy luật đấy, nhằm giúp cho bên thu phát chí sửa lỗi xảy kênh truyền Tín hiệu truyền qua kênh truyền bị ảnh hưởng nhiễu, can nhiễu, fading… tín hiệu đầu thu bị sai Mã hóa kênh dùng để bảo vệ liệu không bị sai cách thêm vào bit dư thừa Ý tưởng mã hóa kênh gửi chuỗi bit có khả sửa lỗi Mã hóa kênh khơng làm giảm lỗi bit truyền mà làm giảm lỗi bit liệu Mục đích lý thuyết mã hóa kênh truyền tìm mã truyền thơng nhanh chóng, chứa đựng nhiều mã hợp lệ sửa lỗi phát lỗi xảy Các mục đích khơng phụ thuộc vào nhau, loại mã có cơng dụng tối ưu cho ứng dụng riêng biệt Những đặc tính mà loại mã cần tuỳ thuộc nhiều vào xác suất lỗi xảy q trình truyền thơng Hình 1.1 Sơ đồ khối hệ thống truyền tin Mã hóa kênh khâu quan trọng hệ thống thông tin số khơng dây với mã hóa nguồn, ghép kênh, điều chế,… để tạo tín hiệu phù hợp cho việc truyền dẫn vơ tuyến tín hiệu, có khả điều khiển sai bit sửa lỗi xảy có để khơi phục lại gần ngun dạng tín hiệu tin tức mà truyền Vị trí mã hóa kênh truyền hệ thống thông tin truyền qua kênh truyền minh họa hình (Hình1.1) Việc giảm thiểu xác suất sai dựa vào việc phát sai sửa sai dẫn đến việc giảm tỉ số tín hiệu nhiễu cần thiết nhờ giảm cơng suất, tiết kiệm lượng Vai trị mã hóa kênh làm giảm xác suất sai thông tin truyền qua kênh truyền Việc giảm tỉ số tín hiệu nhiễu cần thiết nhờ giảm cơng suất, tiết kiệm lượng Việc sửa sai hữu hiệu cho tín hiệu nhỏ thuận lợi cho việc bảo mật, trải phổ tăng tốc độ xác thơng tin nhận, mục đích quan trọng truyền thơng 1.1.2 Phân loại mã hóa kênh Hiện nay, truyền tin số tồn hai loại mã: Mã khối mã xoắn (liên tục) Trong đề tài quan tâm nghiên cứu mã khối 1.2 Mã Hamming 1.2.1 Giới thiệu Mã Hamming thuộc mã khối Mã khối hình thành sau: Từ chuỗi bit X tin tức (ở dạng nhị phân) có độ dài (như hữu hạn), chia thành khối khối bao gồm k bit (ký hiệu) thông tin, khối cuối không đủ k bit thông tin bổ sung thêm số ký hiệu dạng 100…, để đủ trở thành khối có k ký hiệu, sau giải mã ký hiệu bị loại bỏ Mỗi khối có k bit thơng tin dài n ký hiệu, bao gồm k từ mã, gọi mã khối tuyến tính M(n,k), với điều kiện tất k từ mã hình thành nên không gian bậc k không gian vector bậc n trường nhị phân GF(2) Tập hợp phần tử 1, với phép cộng phép nhân mod2, gọi trường nhị phân ký hiệu GF(2) Đối với trường GF(2) áp dụng tốn tử đại số tuyến tính, có tốn tử ma trận Nói cách đơn giản mã nhị phân gọi tuyến tính, tổng theo modul (mod2) hai từ mã từ mã mã 0⊕0 = 0.0 = 0 ⊕1 = 0.1 = 1⊕ = 1.0 = ⊕1 = 1.1 = Mọi mã khối tuyến tính mã hệ thống Mã khối hệ thống mã khối mà khối bao gồm k bit thông tin r ký hiệu dư thừa, tạo thành khối tách biệt Hình 1.2 Một khối mã(từ mã) mã khối hệ thống Trên sở tốn học, mã khối tuyến tính hệ thống M(n,k) hồn toàn xác định nhờ ma trận sinh G(n,k) G( n ,k ) = E( k , k ) ; R( r ,k) (1) Trong E(k,k) - ma trận đơn vị bậc vị bậc (k*k) • R(r,k) - ma trận đơn vị bậc vị bậc (r*k) • r số ký hiệu dư ( ký hiệu kiểm tra) • k số bit tin từ mã − Trọng số Hamming Trọng số Hamming từ mã nhị phân αi, thường ký hiệu w(αi), số lượng ký hiệu có từ mã Chẳng hạn, có từ mã αi=100101, trọng số Hamming tù mã xác định w(αi)=3 − Khoảng cách Hamming Khoảng cách Hamming hai từ mã αi, αk (có độ dài đều), thường ký hiệu d(αi, αk) số lượng vị trí tương ứng mà chúng có giá trị khác Chẳng hạn, αi=1010011, αk=1000101, khoảng cách Hamming hai từ mã xác định d(αi,αk)=3 Từ đây, có d(αi,αk)= w(αi ⊕ αk), với ký hiệu ⊕ phép cộng theo modul (mod2) − Khoảng cách Hamming tối thiểu Khoảng cách Hamming tối thiểu mã (chỉ áp dụng cho mã đều), thường ký hiệu dmin, d0, xác định d0=min d(αi,αk) với i,k Tham số d0 mã định khả phát hiên lỗi sửa lỗi − Số lỗi Số lỗi phát giải mã, ký hiệu e xác định e=d 0-1 Một mã có d0=1, khơng có khả phát lỗi nào, e=0, gọi mã đầy, hay mã khơng có dư thừa, gC=0 Một mã muốn phát hiên lỗi, e=1, cần d0=2 Các mã có d0≥2 gọi mã vơi, hay mã có dư thừa g C>0 ( gC = − H (X) − n = 1− log 2k k = 1− > ), r=0 gC=0) n k+r − Số lỗi sửa d0 − 1 , Số lỗi sửa giải mã, ký hiệu t xác định t ≤ ký hiệu [x] để phép lấy phần nguyên x Từ công thức ta xác định mã muốn sửa lỗi cần d0≥2t+1 Chẳng hạn, mã muốn sửa lỗi, t=1, cần d0≥3 (trong trường hợp phát lỗi) Trong loại mã khối mã khối trường nhị phân GF(2), mã khối trường GF(2m) Mã Hamming mã sửa lỗi tuyến tính, mã phát bit hai bit bị lỗi Mã Hamming cịn sửa lỗi bit bị sai gây Các mã có tham số với m≥3 gọi mã Hamming G( n, k ) = E( k , k ) ; R( r ,k) • Chiều dài từ mã: n= 2m-1 • Chiều dài phần tin: k=n-m • Số ký hiệu dư: r=m • Khả sửa sai: t=1 Khoảng cách Hamming hai từ mã ký hiệu d số lượng vị trí tương ứng mà chúng có giá trị khác Khoảng cách Hamming cực tiểu mã ký hiệu d0 Tham số d0 mã định khả phát lỗi sửa lỗi − d0=1+ số ký hiệu hàng có ký hiệu (trong ma trận R(r,k) − Số lỗi phát giải mã, ký hiệu e: e=d0-1 1.2.2 Thuật tốn mã hóa mã Hamming − Các bit thơng tin có dạng: I= (m0,m1,m2,…mk) − Từ mã V xác định dạng: V=(v0, v1, v2, v3, v4, v5,…, vn-1) − Thuật tốn mã hóa xác định theo cơng thức V=I × G(n,k), hay: (v0, v1, v2, v3, v4, v5,…, vn-1)= (m0,m1,m2,…mk)× G(n,k) 1.2.3 Ma trận kiểm tra mã Hamming Ma trận kiểm tra H(n,k) có đặc tính sau: Tích từ mã V với ma trận kiểm tra H(n,k) chuyển vị, cho kết 0, tức là: T V × H (n,k) ≡0 (1.1) T: phép chuyển vị ma trận Với đặc tính ma trận kiểm tra H(n,k) xác định theo ma trận sinh G(n,k) với dạng biểu diễn sau: H ( n ,k ) = [R(Tr ,k ) , E( r ,r) ] (1.2) 1.2.4 Thuật toán giải mã Hamming Ma trận kiểm tra H(n,k) cho phép kiểm tra từ mã có phải từ mã mã xét hay không Đặc biệt thu từ mã, ký hiệu P, kiểm tra từ T mã có mắc lỗi hay khơng thuật tốn S = P × H ( n ,k ) Trong công thức S gọi vector Syndrome, có r ký hiệu Nếu S=0, từ mã P khơng có lỗi, cịn ngược lại, S ≠0, từ mã P có lỗi Cơng thức gọi thuật tốn giải mã phát sai Ma trận sau : H (Tn ,k ) biểu diễn theo ma trận thành phần ma trận sinh G(n,k) R( r , k ) H (Tn,k ) = E( r ,r ) (1.3) 1.3 Điều chế giải điều chế hệ thống thông tin số Điều chế kỹ thuật gắn tin tức vào sóng mang cao tần, làm cho thông số: tần số, pha, biên độ sóng mang thay đổi theo tín hiệu tin tức Điều chế xem não hệ thống xuất tất hệ thống thơng tin Vì vậy, xem xét đánh giá chất lượng hệ thống thông tin, ta tách rời khỏi kỹ thuật điều chế Trong phần đồ án thực đánh giá chất lượng hệ thống thông tin sử dụng loại kỹ thuật điều chế sử dụng không sử dụng mã Hamming để phát sửa lỗi Bởi vậy, phần xem xét kỹ thuật điều chế BPSK, QPSK, – PSK, 16 – PSK 1.3.1 Điều chế BPSK Giả sử có sóng mang biểu diễn: x0 (t ) = A cos(ω0t + ϕ ) (1.4) Biểu thức tín hiệu gốc: s(t) tín hiệu nhị phân(0,1) chuỗi NRZ Ta có: Khi s(t)=1: P(t) = Acos ω0t (1.5) Khi s(t)=0: P (t) = Acos(ω0t +180 ) (1.6) Đối với khóa dịch pha PSK, thông tin chứa pha tức thời sóng mang điều chế Thường pha ấn định so sánh tương thích với sóng mang pha biết PSK kết hợp Đối với PSK nhị phân, trạng thái pha 0 1800 sử dụng Nguyên tắc: Các tín hiệu nhị phân tác dụng lên sóng mang làm thay đổi pha sóng mang Cụ thể là: − Bit 1: pha sóng mang 00 − Bit 0: pha sóng mang 1800 Các giá trị ngược lại nguyên tắc chung có đảo bit pha sóng mang lệch 1800 Bảng chân lý tín hiệu điều chế BPSK Nhị phân đầu vào Pha đầu Logic 1800 Logic 00 Có thể thấy rõ ràng cách biểu diễn đồ thị thời gian trạng thái tín hiệu BPSK (Hình 2.2) Điều chế khóa dịch pha nhị phân BPSK (Hình 2.3): Với n=2, ∆Φ = π , ta có kiểu điều chế 2-PSK hay BPSK: π P(t ) = cos(ω0t + ϕ + s (t ) ) (1.7) Sơ đồ tín hiệu BPSK dạng sin với hai giá trị tùy thuộc giá trị Data: Khi Data bit=1, tín hiệu BPSK pha với sóng mang Khi Data bit=0, tín hiệu BPSK ngược pha với sóng mang Hình 1.3 Khóa dịch pha nhị phân Hình 1.4 Sơ đồ khối thực điều chế PSK Hình 1.5 Quan hệ pha, thời gian đầu điều chế BPSK theo tín hiệu vào Quá trình giải điều chế BPSK Hình 1.6 Phương pháp giải điều chế PSK Giải điều chế BPSK thực theo sơ đồ hình 1.6 Sơ đồ gồm tái lập sóng mang nhân Bộ giải điều chế BPSK bao gồm: − Sơ đồ lấy bình phương để chuyển tín hiệu khác pha pha − Vòng giữ pha PLL phát lại nhịp với tần số gấp đôi tần số mang − Bộ dịch pha ∆ để hiệu chỉnh pha − Bộ chia hai để đưa tần số tín hiệu tái lập tần số sóng mang − Bộ nhân tín tín hiệu thực nhân sóng điều chế BPSK với sóng mang tái lập Giả sử tần số sóng mang fc , ωc = 2π fc , ta có hai trường hợp: Khi tín hiệu BPSK + sin(ωc t ) ứng với data bit = 1, sóng mang tái lập sin(ωc t ) , sơ đồ nhân cho tín hiệu: sin(ωc t )sin(ωc t ) = sin (ωc t ) = (1 − cos(2ωc t ) = − cos(2ωc t ) 2 (1.8) Trong biểu thức thành phần thứ hai xoay chiều, có tần số gấp đơi tần số sóng mang Khi sử dụng lọc thơng thấp với tần số cắt tần số sóng mang, khử bỏ thành phần xoay chiều dương thành phần chiều thứ giữ lại biểu diễn trạng thái “1” Data bit Khi tín hiệu BPSK − sin(ω ct ) ứng với data bit=0, sơ đồ nhân cho : − sin(ωc t ) sin(ωc t ) = − sin (ωct ) = (1 − cos(2ωc t ) = − + cos(2ωc t ) 2 (1.9) Trong biểu thức thành phần thứ xoay chiều, có tần số gấp đơi tần số sóng mang Khi sử dụng lọc thông thấp với tần số cắt tần số sóng mang, khử bỏ thành phần xoay chiều âm thành phần chiều thứ nhất(-1/2) giữ lại biểu diễn trạng thái “0” data bit Điều chế khóa dịch pha sử dụng rộng rãi hệ thống thông tin quân sự, thương mại, hệ thống vi ba số Phương thức điều chế xem phương thức điều chế hiệu cho ứng dụng truyền tin vơ tuyến đảm bảo xác suất lỗi thấp mức tín hiệu thu khẳng định chu kì tín hiệu 1.3.2 Điều chế QPSK PSK pha cịn gọi PSK vng góc (QPSK : Quadrature PSK) mạch điều chế cho tín hiệu có pha tùy theo trạng thái cặp bit (dibit) liệu vào, độ lệch pha tín hiệu 90° − Mạch chia bit (bit splitter): chuyển dòng liệu vào theo hai ngã I (In-phase) Q (Quadrature) Những bit vào ngã I điều chế sóng mang có pha ban đầu bit vào ngã Q điều chế sóng mang làm lệch pha 90° − Vì liệu vào bit 0, nên tín hiệu ngã mạch nhân I sinωct − sin ωc t ngã Q cosωct − cos ωc t , tín hiệu tổng hợp mạch tổng tín hiệu mơ tả (Hình 1.7) Với bit ngã vào ab=01, tín hiệu ngã − sin ωc t + cos ωc t , tín hiệu thay tín hiệu có pha 135° Bảng 1.1: Tín hiệu từ mạch cân Kênh I Giá trị nhị phân Hiệu + Tín hiệu từ mạch cân sin ωc t - − sin ωc t + - Q π sin(ωc t + ) = cos ωc t π − sin(ωc t + ) = − cos ωct Hình 1.7 Tín hiệu điều chế pha Hình 1.8 Mạch giải mã PSK – pha Mạch phục hồi sóng mang cho lại sóng mang sinωct từ tín hiệu nhận được, tín hiệu cho thẳng vào mạch nhân ngã I làm lệch pha 90° trước vào mạch nhân ngã Q, tín hiệu mạch nhân đưa vào mạch lọc hạ thông để loại bỏ thành phần tần số cao, thành phần DC tổng hợp mạch tổng lại dòng liệu Giả sử tín hiệu vào tín hiệu nhận thí dụ trên: cosωct - sinωct Tín hiệu mạch nhân ngã I là: sinωct ( cos ωc t − sin ωc t ) = 1/2 sin ωct - 1/2(1- cos 2ωc t ) Tín hiệu sau mạch lọc điện dc -, tương ứng bit Tín hiệu mạch nhân ngã Q là: cos ωc t ( cos ωct − sin ωc t ) = -1/2 sin ωct +1/2(1+ cos 2ωc t ) Tín hiệu sau mạch lọc điện dc+, tương ứng bit 1, Mạch tổ hợp bit cho lại liệu phát : 01 (viết theo thứ tự ab) 1.3.3 Điều chế – PSK PSK - pha mạch điều chế cho tín hiệu có pha tùy thuộc trạng thái tổ hợp bit vào (tribits) Mạch chia bit chia tổ hợp bít theo kênh khác Các bit a b theo kênh I Q xác định cực tính tín hiệu mạch biến đổi từ mức, bit c xác định biên độ điện dc Hình 1.9 Sơ đồ khối mạch điều chế PSK - pha Có biên độ dùng 0,34V 0,821V Khi a b bit ngã mạch biến đổi có trị dương, ngược lại a b bit Biên độ tín hiệu từ mạch biến đổi ln ln khác nhau, mạch nhận tín hiệu c (hay tín hiệu có biên độ 0,821 (0,34) mạch nhận tín hiệu đảo lại cho tín hiệu có biên độ 0,34 (0,821)) Vì bit abc độc lập với nên ± 0,821 ± 0,344 luôn giá trị có ngã mạch biến đổi Ở kênh I mạch điều chế sóng mang ban đầu (khơng làm lệch pha) nên giá trị ngã ± 0,821 cos ωc t ± 0,34 cos ωc t ngã Q giá trị ± 10 − Phần tử OR làm việc nhịp 7, để kết thúc q trình mã hóa, hình thành nên từ mã V với ký hiệu Hình 2.1 Mạch điện mã hóa mã Hamming M(7,4) Thuật tốn giải mã: Phía thu nhận từ mã P Xét hai trường hợp: Trường hợp 1: Q trình truyền khơng phát sinh lỗi, P ≡ V Hay S=0 (với giả thiết lỗi e ≤ ) Trường hợp 2: Q trình truyền phát sinh lỗi, P ≠ V Với P=(r0,r1,r2,r3,r4,r5,r6), S=(s0,s1,s2) Ta có: S =P ×H (Tn , k ) 110 011 111 =[ r0 , r1 , r2 , r3 , r4 , r5 , r6 ] ×101 =[ s0 , s1 , s2 ] (2.3) 100 010 001 Thực phép nhân ma trận Ta nhận kết quả: s0 = r0 ⊕ r2 ⊕ r3 ⊕ r4 , s1 = r0 ⊕ r1 ⊕ r2 ⊕ r5 , s2 = r1 ⊕ r2 ⊕ r3 ⊕ r6 (2.4) Đây gọi tổng kiểm tra, để xác định phần tử vector S Thay giá trị thu từ phía thu : s0 = ⊕ ⊕ ⊕ = s1 = ⊕ ⊕ ⊕ = s2 = ⊕ ⊕ ⊕ = (2.5) Như vậy, S=0, kết luận P không mắc lỗi Giả sử S ≠ 0: 14 s0 = ⊕ ⊕ ⊕ = s1 = ⊕ ⊕ ⊕ = s2 = ⊕ ⊕ ⊕ = (2.6) Trường hợp này: S = (011) ≠ , dẫn đến kết luận P mắc lỗi − Vì s0=0 giả thiết P mắc lỗi, nên khẳng định ký hiệu tham gia vào tổng không mắc lỗi ; tức r0,r2,r3,r4 không mắc lỗi − Vì s1=1 giả thiết P mắc lỗi, khẳng định ký hiệu tham gia vào tổng mắc lỗi Kết hợp với kết luần trên, dẫn đến r r5 bị mắc lỗi − Vì s2=1 giả thiết P mắc lỗi, khẳng định ký hiệu tham gia vào tổng mắc lỗi Kết hợp với kết luận trên, dẫn đến r r6 bị mắc lỗi − Kết hợp hai kết luận cuối, với giả thiết P mắc lỗi, dẫn đến kết luận phần tử mắc lỗi r1, điều hoàn toàn hợp lý với giả thiết ban đầu Khi thu có lỗi người ta thường sử dụng ký hiệu : P =V +e (2.7) Trong e vector lỗi e=(0100000) Bảng 2.1 Mối quan hệ S e Vector lỗi e 1000000 0100000 0010000 0001000 Vector Syndrome S=(s0s1s2) 110 011 111 101 Vector S hệ 10 0000100 100 0000010 010 0000001 001 0000000 000 Mạch điện giải mã: Mạch điện giải mã xây dựng dựa thuật toán giải mã Xây dựng mạch điện giải mã cho mã M(7,4) (Hình 2.2) Mạch điện giải mã bao gồm phần tử: − Mạch tính Syndrome, gồm cộng mod2, để tính (s 0,s1,s2) Các đầu vào XOR vẽ dựa thuật toán giải mã − Mạch chuyển đổi (giải mã) vector S từ mã hệ sang hệ 10, đưa mức logic cao “1” đầu tương ứng với số hệ 10; đầu cịn lại có mức logic Mạch điện gọi mạch tạo ký hiệu sửa sai − Mạch điện chứa dấu sửa sai (được đánh số từ đến 3) Phần tử r i mắc lỗi, ô ghi dịch có ghi số tương ứng nạp mức logic 1, cịn lại nạp mức logic 15 − Mạch sửa lỗi XOR, ký hiệu M Ký hiệu thu r i mắc lỗi, sửa nhờ phép cộng mod2: ri* ⊕ = ri (ở ri để sửa sai), nhịp tương ứng Các ký hiệu rj lại không mắc lỗi, không bị ảnh hưởng phép cộng mod2 này: rj ⊕ ≡ r j − Mạch điện giải mã cần làm việc 11 nhịp, nhịp đầu để đưa ký hiệu thu vào ghi đệm, tính Syndrome, chuyển mã hệ sang mã hệ 10, nhịp để sữa lỗi Ở đầu vector P sữa lỗi Hình 2.2 Mạch điện giải mã mã Hamming M(7,4) 2.2 Mô phỏng, đánh giá chất lượng thông tin số 2.2.1 So sánh chất lượng hệ thống sử dụng mã Hamming với phương thức điều chế khác Bài tốn 1: Cho N=720000 bít truyền kênh AWGN, sử dụng mã Hamming (7,4) Đánh giá chất lượng hệ thống thay đổi phương thức điều chế BPSK, Q-PSK, 8-PSK, 16-PSK Xây dựng chương trình: Bước 1: Tạo 720000 bit tin ngẫu nhiên Bước 2: Tạo ma trận sinh G(7,4), ma trận kiểm tra H, ma trận sửa lỗi E Bước 3: Chuyển bit tin mảng chiều thành từ mã có độ dài bit, sau tiến hành mã hóa thành từ mã để truyền đi: V=I × G(7,4) Bước 4: Điều chế 8-PSK: Tạo bit tin thành symbol 3bit, tiến hành điều chế Tạo nhiễu AWGN kênh truyền, sau tiến hành giải điều chế BPSK Tương tự với kỹ thuật điều chế BPSK, QPSK,16PSK Bước 5: Tách symbol thành bit tin Chuyển dạng từ mã 7bit Bước 6: Tính vector Sydrome, tham chiếu vector Sydrome vào vector sửa lỗi E Tiến hành sửa lỗi Bước 7: Tách từ mã nhận thành bit tin Bước 8: Tính tốn lỗi thông qua bit tin nhận so với bit tin phát 16 Chương trình mơ toán cho phụ lục Kết mơ thể hình 2.3 Hình 2.3 BER Eb/No với BPSK, QPSK, 8PSK,16PSK sử dụng mã Hamming Từ kết trên, ta thấy: − Khi sử dụng kỹ thuật mã Hamming không sử dụng kỹ thuật mã Hamming ta thấy đường cong BER BPSK QPSK trùng tức hai có xác suất BER Điều giải thích QPSK xem điều chế bậc BPSK BPSK dễ Ở QPSK bit chẵn (hoặc lẻ) sử dụng để điều chỉnh thành phần pha sóng mang Khi bit lẻ hoắc chẵn sử dụng để điều chỉnh pha thành phần, hay nói cách khác QPSK BPSK sử dụng sóng mang độc lập Do tỉ lệ BER cho hai mơ − Có thể kết luận kỹ thuật mã hóa mã Hamming với BPSK kỹ thuật điều chế tốt cho tỉ lệ Ber thấp cho tất mô Kỹ thuật điều chế 16 – PSK cho xác suất lỗi bit lớn − Khi số mức điều chế tăng, khoảng cách chịm gần nên kéo theo tỷ lệ lỗi bit BER tăng Bài tốn 2: Cho N=720000 bít truyền kênh AWGN, không sử dụng mã Hamming (7,4) Đánh giá chất lượng hệ thống thay đổi phương thức điều chế BPSK, Q-PSK, 8-PSK, 16-PSK Xây dựng chương trình: Bước 1: Tạo 720000 bit tin ngẫu nhiên Bước 2: Điều chế QPSK.Tạo bit tin thành symbol 2bit, tiến hành điều chế Tạo nhiễu AWGN kênh truyền, sau tiến hành giải điều chế BPSK Bước 3: Tách symbol thành bit tin Bước 4: Tính tốn lỗi thơng qua bit tin nhận so với bit tin phát 17 Kết mơ thể hình 2.4 Hình 2.4 BER Eb/No với BPSK, QPSK, 8PSK, 16 PSK không sử dụng mã hóa Hamming Chương trình mơ toán cho phụ lục Từ kết trên, ta thấy: − Có thể kết luận với điều chế BPSK kỹ thuật điều chế tốt cho tỉ lệ Ber thấp cho tất mô Kỹ thuật điều chế 16 – PSK cho xác suất lỗi bit lớn − Vì nhiễu ngẫu nhiên nên với giá trị bit tin làm số bit lỗi khác dẫn đến xác xuất lỗi bit khác − Trong đồ thị hình ta thấy: Nếu tỉ số Eb/No tăng => xác xuất lỗi thấp Bài tốn 3: Mơ kỹ thuật điều chế BPSK, QPSK,8PSK,16PSK theo lý thuyết Chương trình mơ cho phụ lục Hình 2.5 Kết mô theo lý thuyết Từ kết trên, ta thấy: 18 − Kết mô sát với kết theo lý thuyết Tuy nhiên cịn có sai khác bit tin đưa vào ban đầu hàm ngẫu nhiên rời rạc nên dẫn đến kết BER có sai khác so với lý thuyết 2.2.2 Đánh giá chất lượng hệ thống Eb lượng 1bit, tích cơng suất tín hiệu S với độ rộng thời gian 1bit(Tb) Eb=S.Tb [dB] (2.8) N0 mật độ phổ cơng suất phía tạp âm AWGN Hay mật độ phổ công suất nhiễu: N0= Công suất nhiễu(N)/Băng thông(W), hay: N0 = N W (2.9) Eb/N0 Là phiên chuẩn hóa SNR Trong hệ thống analog Tín hiệu liên tục theo thời gian có lượng khơng xác định (khơng xác định tín hiệu khoảng thời gian đấy) Tuy nhiên cơng suất lại xác định Vì vậy, ta đánh giá theo công suất( SNR) không đánh giá theo lượng(Eb/N0) Trong hệ thống digital, tín hiệu xác định khoảng thời gian, 1bit, 1symbol, 1window… khoảng thời gian công suất giá trị Vì vậy, ta phải dùng lượng để đánh giá(Eb/N0) Hiệu phổ điều chế nhiều mức tăng, nên ta tăng tốc độ bit lối vào độ rộng băng cấp phát(quy định sẵn nhà cung cấp) Đầu vào, tốc độ bit tăng lên k lần, nghĩa độ rộng bit giảm k lần, k bit symbol có độ rộng Tb_cũ, tốc độ bit R_mới=k.R_cũ Bề rộng phổ chiếm lại bề rộng phổ chiếm cũ W_mới=1/Tb_cũ=W_cũ Dẫn đến, tăng hiệu sử dụng phổ, đánh giá công thức nhê – ta =R[b/s]/W[Hz], hiệu phổ 1Hz ta truyền tốc độ bit/s Khi ghép kbit tin thành 1symbol, W=1/k.Tb Hệ số nhê – ta = 1 / =k Tb k Tb Dẫn đến truyền tốc độ bit lớn độ rộng băng thơng cho trước Mặt khác,1bit có độ rộng thời gian Tb, ghép kbit=1symbol Ts=kTb Tốc độ symbol lúc Rs=1/Ts [bau] Khi đó: Tốc độ bit Rb=k.bit/Ts=(k.bit)/(k.Tb)=1/Tb (b/s) →Tốc độ bit truyền băng thông không thay đổi Vậy, tăng số mức điều chế →E b/N0 (tại lỗi BER quy định cho hệ thống )→ tăng hiệu sử dụng phổ(giảm băng thông) đạt với độ rộng băng thông cho trước B[Hz] 19 Dung lượng(C) kênh tốc độ bit tối đa mà hệ thống truyền với xác suất lỗi tiến Được thể định lý Shannon C=Blog2(1+S/N) [b/s] (2.10) Trong đó: C: Dung lượng kênh [b/s] B: Băng thơng [Hz] S: Cơng suất tín hiệu [W] N:Cơng suất nhiễu[W] Vậy kết luận hệ thống đạt tới ngưỡng dung lượng, giá trị BER khơng thay đổi kể tăng cơng suất phát gọi giới hạn Shannon Nhận xét: − Phương pháp BBSK cho tỉ lệ lỗi bit nhỏ nhất, phương pháp 16-PSK có tỉ lệ lỗi bit lớn − Khi tăng Eb/N0 phương pháp điều chế, ta thấy tỉ lệ lỗi bit (BER) giảm giảm dần đến giá trị, tỉ lệ lỗi bit BER xác tăng lượng bit − Khi số mức điều chế tăng, khoảng cách Hamming symbol giảm, dẫn đến tỉ lệ lỗi bit tăng − Như hiệu việc mã hóa phát sửa lỗi 20 KẾT LUẬN Sau khoảng thời gian nghiên cứu, tìm hiểu đồ án viễn thơng, đề tài “Mô phỏng, đánh giá chất lượng hệ thống truyền tin số sử dụng mã Hamming với phương thức điều chế khác nhau” hoàn thành Kết đạt được: − Xét giá trị Eb/No(dB) tin mã hóa mã Hamming (7,4) có xác suất lỗi bit thấp so với tin khơng mã hóa − Khi truyền tin theo kênh liên lạc có nhiễu, có phần lượng thông tin bị mát kênh, số liệu thu phát sinh lỗi Nếu số lượng lỗi có giá trị nhỏ, chúng phát sinh với tần số cho phép, sử dụng kĩ thuật mã hóa mã Hamming để chống nhiễu Hạn chế: − Trong mã Hamming M(7,4), q trình mã hóa giải mã cịn số bit bị lỗi, tốn này, vector sửa lỗi E cho sửa lỗi, từ hai lỗi bit trở lên không sửa (xét khung bit) − Trong thực tế tồn xác xuất lỗi khơng phát được, khơng có loại mã hoàn thiện tất mà mức tương đối chấp nhận Việc nghiên cứu giúp em hiểu thêm nhiều kiến thức kỹ thuật mã hóa giải mã bit thông tin, xử lý toán cho trường hợp cụ thể cộng cụ phần mềm Matlab cách sinh động Mặc dù cố gắng vào việc thực đồ án khơng thể khơng có sai sót q trình thực em xin nhận lời góp ý bổ sung cho đồ án hoàn thiện Em xin chân thành cảm ơn ! 21 Phụ lục Bài tốn 1: Cho N=720000 bít truyền kênh AWGN, sử dụng mã Hamming (7,4) Đánh giá chất lượng hệ thống thay đổi phương thức điều chế BPSK, Q-PSK, 8-PSK, 16-PSK %=================================================== clear all close all clc; N=input('Nhap vao so bit N chia het cho 3(8psk,24000)='); SNR = 0:1:10; tinphat=randint(1,N); G=[ 1 0 0110100 1110010 1 0 1]; H=[ 0 1 0101110 0 1 1]; E=[ 0 0 0 0010000 0100000 0000100 1000000 0000001 0001000 0 0 0]; B=reshape(tinphat,4,[])'; x1=mod(B*G,2); dieuche=pskmod(x1,2); for i = 1:length(SNR) Y = real(dieuche); awgnbits = awgn(Y,SNR(i)+0.5); Giai_dieuche=pskdemod(awgnbits,2); s=mod(Giai_dieuche*H',2); v=bi2de(s,'left-msb'); y1=mod(Giai_dieuche+E(v+1,:),2); y2=y1(:,4:7); 22 c=reshape(y2',1,[]); loi=sum(mod(tinphat+c,2)) error1(1,i)=loi; BER1(1,i)=error1(1,i)/N; end %======================================================= t=reshape(x1',1,[]); h=reshape(t,3,[])'; h1=bi2de(h,'left-msb'); dieu_che=pskmod(h1,8); for i=1:length(SNR) nhieu= awgn(dieu_che,SNR(i)+6); sau_dieuche=pskdemod(nhieu,8); ybit=dec2bin(sau_dieuche); for ii=1:3 bit_thu(:,ii)=str2num(ybit(:,ii)); end t2=reshape(bit_thu',1,[]); h2=reshape(t2,7,[])'; s1=mod(h2*H',2); v2=bi2de(s1,'left-msb'); sua_loi=mod(h2+E(v2+1,:),2); tach_tin=sua_loi(:,4:7); tu_mathu=reshape(tach_tin',1,[]); loi2=sum(mod(tinphat+tu_mathu,2)) error2(1,i)=loi2; BER2(1,i)=error2(1,i)/N; end %======================================================= t=reshape(x1',1,[]); h=reshape(t,4,[])'; h1=bi2de(h,'left-msb'); dieu_che=pskmod(h1,16); for i=1:length(SNR) nhieu= awgn(dieu_che,SNR(i)+8); sau_dieuche=pskdemod(nhieu,16); ybit=dec2bin(sau_dieuche); 23 for ii=1:4 bit_thu2(:,ii)=str2num(ybit(:,ii)); end t2=reshape(bit_thu2',1,[]); h2=reshape(t2,7,[])'; s1=mod(h2*H',2); v2=bi2de(s1,'left-msb'); sua_loi=mod(h2+E(v2+1,:),2); tach_tin=sua_loi(:,4:7); tu_mathu=reshape(tach_tin',1,[]); loi2=sum(mod(tinphat+tu_mathu,2)) error2(1,i)=loi2; BER3(1,i)=error2(1,i)/N; end %======================================================= semilogy(SNR,BER1,':ko',SNR,BER1,'b-',SNR, BER2,':r*',SNR, BER3,'g') title('do thi'); xlabel('Eb/No(dB)') ylabel('BER') legend('BPSK-HAMMING','QPSK-HAMMING','8PSK-HAMMING','16PSKHAMMING') grid on Phụ lục Bài tốn 2: Cho N=720000 bít truyền kênh AWGN, không sử dụng mã Hamming (7,4) Đánh giá chất lượng hệ thống thay đổi phương thức điều chế BPSK, Q-PSK, 8-PSK, 16-PSK %===================================================== clear all close all clc N=input('Nhap vao so bit N bit='); tinphat=randint(1,N); %========================================== EbN0=0:1:10; x=pskmod(tinphat,2); 24 for j=1:length(EbN0) Y=real(x); y=awgn(Y,EbN0(j)+3,'measured'); y=pskdemod(y,2); nerr=symerr(tinphat,y); ber2(j)=nerr/N; end %========================================== h=reshape(tinphat,3,[])'; h1=bi2de(h,'left-msb'); x=pskmod(h1,8); for j=1:length(EbN0) y=awgn(x,EbN0(j)+6,'measured'); y=pskdemod(y,8); ybit=dec2bin(y); for ii=1:3 bit_thu(:,ii)=str2num(ybit(:,ii)); end t2=reshape(bit_thu',1,[]); nerr=symerr(tinphat,t2); ber8(j)=nerr/N; end %========================================== h=reshape(tinphat,4,[])'; h1=bi2de(h,'left-msb'); x=pskmod(h1,16); for j=1:length(EbN0) y=awgn(x,EbN0(j)+8,'measured'); y=pskdemod(y,16); ybit=dec2bin(y); for ii=1:4 bit_thu16(:,ii)=str2num(ybit(:,ii)); end t2=reshape(bit_thu16',1,[]); nerr=symerr(tinphat,t2); ber16(j)=nerr/N; end 25 semilogy(EbN0,ber2,':ko',EbN0,ber2,'b-',EbN0,ber8,':r*',EbN0,ber16,'g') title('do thi'); xlabel('Eb/No(dB)') ylabel('BER') legend('BER BPSK','BER QPSK','BER 8-PSK','BER 16-PSK') grid on Phụ lục clear all; clc; EbNo=0:1:10; for i=1:length(EbNo) BERtheory2(i) = berawgn(EbNo(i),'psk',2,'nondiff') BERtheory4(i) = berawgn(EbNo(i),'psk',4,'nondiff') BERtheory8(i) = berawgn(EbNo(i),'psk',8,'nondiff'); BERtheory16(i) = berawgn(EbNo(i),'psk',16,'nondiff'); end %======================================================= semilogy(EbNo,BERtheory2,':ko',EbNo,BERtheory4,'b-',EbNo,BERtheory8,':r*',EbNo ,BERtheory16,'g') title('do thi'); grid on; xlabel('Eb/No(dB)') ylabel('BER') legend('BPSK ly thuyet','QPSK ly thuyet','8-PSK ly thuyet','16-PSK ly thuyet') 26 TÀI LIỆU THAM KHẢO Cơ sở lý thuyết truyền tin – Nguyễn Văn Hậu – Nguyễn Hiếu Minh.NXB Khoa học kỹ thuật Kỹ thuật thông tin số Khoa Điện tử truyền thông – Trường đại học Vinh http://www.dientuvietnam.net/ 27 MỤC LỤC Lời mở đầu Phần 1: MÃ HÓA HAMMING SỬ DỤNG TRONG TRUYỀN TIN SỐ 1.1 Tổng quan mã hóa kênh 1.1.1 Khái niệm chung 1.1.2 Phân loại mã hóa kênh 1.2 Mã Hamming 1.2.1 Giới thiệu 1.2.2 Thuật tốn mã hóa mã Hamming 1.2.3 Ma trận kiểm tra mã Hamming 1.2.4 Thuật toán giải mã Hamming 1.3 Điều chế giải điều chế hệ thống thông tin số 1.3.1 Điều chế BPSK 1.3.2 Điều chế QPSK 1.3.3 Điều chế – PSK 10 1.3.4 Điều chế 16 – PSK 11 1.4 Kênh truyền AWGN 11 1.5 Tỷ lệ lỗi bit BER 11 Phần 2: MÔ PHỎNG, ĐÁNH GIÁ CHẤT LƯỢNG HỆ THỐNG TRUYỀN TIN SỐ SỬ DỤNG MÃ HAMMING VỚI CÁC PHƯƠNG THỨC ĐIỀU CHẾ KHÁC NHAU .13 2.1 Sử dụng mã Hamming M(7,4) cho trình mã hóa giải mã .13 2.2 Mô phỏng, đánh giá chất lượng thông tin số 16 2.2.1 So sánh chất lượng hệ thống sử dụng mã Hamming với phương thức điều chế khác .16 KẾT LUẬN .21 Phụ lục 22 Phụ lục 24 Phụ lục 26 28 ... PHƯƠNG THỨC ĐIỀU CHẾ KHÁC NHAU Trong phần này, thực mô đánh giá chất lượng hệ thống truyền tin số trường hợp sử dụng không sử dụng mã Hamming với phương thức điều chế Mặt khác, đề tài đánh giá hệ thống. .. 2: MÔ PHỎNG, ĐÁNH GIÁ CHẤT LƯỢNG HỆ THỐNG TRUYỀN TIN SỐ SỬ DỤNG MÃ HAMMING VỚI CÁC PHƯƠNG THỨC ĐIỀU CHẾ KHÁC NHAU .13 2.1 Sử dụng mã Hamming M(7,4) cho trình mã hóa giải mã .13 2.2 Mô phỏng, ... thống sử dụng mã Hamming với phương thức điều chế khác Bài tốn 1: Cho N=720000 bít truyền kênh AWGN, sử dụng mã Hamming (7,4) Đánh giá chất lượng hệ thống thay đổi phương thức điều chế BPSK, Q-PSK,