(Luận văn thạc sĩ) điều chế mã hoá mạng lưới và ứng dụng trong truyền dẫn với kênh RAYLEIGH luận văn ths kỹ thuật điện tử viễn thông 2 07 00

73 46 0
(Luận văn thạc sĩ) điều chế mã hoá mạng lưới và ứng dụng trong truyền dẫn với kênh RAYLEIGH  luận văn ths  kỹ thuật điện tử viễn thông 2 07 00

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Lê Minh Hiếu ĐIỀU CHẾ MÃ HÓA MẠNG LƢỚI VÀ ỨNG DỤNG TRONG TRUYỀN DẪN VỚI KÊNH RAYLEIGH LUẬN VĂN THẠC SĨ Hà Nội – Năm 2005 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Lê Minh Hiếu ĐIỀU CHẾ MÃ HÓA MẠNG LƢỚI VÀ ỨNG DỤNG TRONG TRUYỀN DẪN VỚI KÊNH RAYLEIGH Chuyên ngành: Kỹ thuật vô tuyến điện tử thông tin liên lạc Mã số: 2.07.00 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS.TS Nguyễn Viết Kính HÀ NỘI - 2005 LỜI NÓI ĐẦU Gần 60 năm từ Shannon công bố nghiên cứu “Lý thuyết truyền tin” năm 1948, lĩnh vực truyền thông số phát triển liên tục khơng ngừng Trong đó, kỹ thuật điều chế mã lưới TCM (trellis-coded modulation) sử dụng để phát triển nhiều hệ thống quan trọng trước modem truy cập internet tốc độ cao, truyền thông vệ tinh … , tiếp tục ứng dụng cho nhiều hệ thống mạng CDMA 3G, truyền thông vệ tinh TCM Ungerboeck giới thiệu sơ lược lần đầu vào năm 1976 sau báo cáo chi tiết năm 1982 công bố diễn bùng nổ nghiên cứu lý thuyết áp dụng thực tế kỹ thuật TCM tận ngày Mục đích luận văn tìm hiểu kỹ thuật điều chế mã lưới TCM ứng dụng truyền thơng qua kênh fading Rayleigh Khóa luận gồm chương:  Chương tóm tắt lý thuyết mà TCM dựa mã chập, giải mã Viterbi kênh fading Rayleigh  Chương trình bày chi tiết kỹ thuật TCM  Chương phân tích hệ thống TCM điều chế 8PSK cho kênh Rayleigh, kỹ thuật cho phép tạo nên modem truyền số liệu tốc độ cao trước  Chương trình bày hệ thống CDMA dùng TCM gần đồng QS-TCCDMA, thử nghiệm áp dụng cho hệ thống CDMA hệ thứ  Chương kết thu giả lập kỹ thuật TCM chương trình Matlab vài đánh giá nhận xét cuối MỤC LỤC CHƢƠNG 1: MỞ ĐẦU 1.1 Mã chập Error! Bookmark not defined 1.2 Giải mã chập – thuật toán Viterbi Error! Bookmark not defined 1.2.1 Thuật toán Viterbi Error! Bookmark not defined 1.2.2 Giải mã Viterbi định cứng định mềm Error! Bookmark not defined 1.2.2.1 Giải mã Viterbi định cứng Error! Bookmark not defined 1.2.2.2 Giải mã Viterbi định mềm Error! Bookmark not defined 1.2.2.3 Độ sâu giải mã Viterbi Error! Bookmark not defined 1.3 Kênh fading Rayleigh Error! Bookmark not defined 1.3.1 Kênh fading Error! Bookmark not defined 1.3.1.1 Fading rộng Error! Bookmark not defined 1.3.1.2 Fading hẹp Error! Bookmark not defined 1.3.2 Các kỹ thuật chống fading lựa chọn tần số Error! Bookmark not defined 1.3.3 Các kỹ thuật chống fading nhanh Error! Bookmark not defined CHƢƠNG 2: ĐIỀU CHẾ MÃ LƢỚI TCM 2.1 Tổng quan Error! Bookmark not defined 2.1.1 Mã sửa lỗi truyền thống Error! Bookmark not defined 2.1.2 Kỹ thuật điều chế mã lưới TCM 16 2.1.3 Mã lưới trạng thái điều chế PSK Error! Bookmark not defined 2.1.4 Mã lưới trạng thái Error! Bookmark not defined 2.1.5 Các mã lưới phức tạp Error! Bookmark not defined 2.2 Mã lưới TCM Error! Bookmark not defined 2.2.1 Thiết kế hệ thống TCM Error! Bookmark not defined 2.2.1.1 Sắp xếp tập tín hiệu Error! Bookmark not defined 2.2.1.2 Các mã chập cho hệ thống điều chế mã lưới TCM Error! Bookmark not defined 2.2.1.3 Tìm mã TCM tối ưu Error! Bookmark not defined 2.2.1.4 Hai mã hóa điển hình Error! Bookmark not defined 2.2.2 Tác động dịch pha sóng mang Error! Bookmark not defined 2.2.2.1 Sự suy giảm Error! Bookmark not defined 2.2.2.2 Hoạt động vịng tìm pha sóng mang .28 2.2.2.3 Sự bất biến mã TCM chiều có quay pha 29 2.2.3 Các mã lưới nhiều chiều Error! Bookmark not defined 2.2.3.1 TCM chiều 30 2.2.3.2 TCM chiều 31 2.2.4 Đánh giá chung Error! Bookmark not defined 2.3 Các bảng mã tối ưu cho kênh AWGN Ungerboeck đề xuất Error! Bookmark not defined CHƢƠNG 3: ĐIỀU CHẾ MÃ LƢỚI TCM CHO KÊNH RAYLEIGH 3.1 Hệ thống Error! Bookmark not defined 3.2 Hệ thống mã gần tối ưu Error! Bookmark not defined 3.3 Tỷ lệ lỗi hệ thống Error! Bookmark not defined CHƢƠNG 4: HỆ THỐNG CDMA MÃ LƢỚI GẦN ĐỒNG BỘ 4.1 Tổng quát Error! Bookmark not defined 4.2 Điều chế chuỗi tín hiệu mặt phẳng trực giao Error! Bookmark not defined 4.3 Mơ hình hệ thống Error! Bookmark not defined 4.4 Hoạt động hệ thống Error! Bookmark not defined 4.4.1 Hệ CDMA đồng hoàn toàn dựa OPSM Error! Bookmark not defined 4.4.2 Hệ thống CDMA gần đồng dựa OPSM Error! Bookmark not defined 4.5 Các kết tính tốn Error! Bookmark not defined 4.6 Kết luận Error! Bookmark not defined CHƢƠNG 5: KẾT QUẢ MÔ PHỎNG 5.1 Xây dựng giản đồ lưới Matlab 7.0.1 Error! Bookmark not defined 5.2 Xây dựng điều chế mã lưới TCM Error! Bookmark not defined 5.3 Các tỷ lệ lỗi kết mô Error! Bookmark not defined 5.4 Các kết khác Error! Bookmark not defined MỞ ĐẦU Để thuận tiện nghiên cứu nội dung kỹ thuật điều chế mã lưới TCM phần sau, chương trình bày vắn tắt nội dung: mã chập, thuật toán Viterbi kênh fading Rayleigh Mã chập [1] Như biết, hệ thống thông tin, khơng hồn thiện kênh truyền nên nơi thu tín hiệu bị lỗi Mã kênh nhằm sửa lỗi mắc phải truyền tin kênh Về chia làm loại mã khối mã chập Khác với mã khối, mã chập loại mã có nhớ, nghĩa liệu lối phụ thuộc liệu lối vào thời điểm xét liệu lối vào trước Hình 0.1 Bộ mã chập Tổng quát mã chập xây dựng từ ghi dịch cộng mơđun hình 1.1 Thanh ghi dịch tuyến tính có số trạng thái hữu hạn Như hình 1.1, hệ thống gồm K nhịp, nhịp có k bit Các cộng mơđun đóng vai trò tạo hàm đại số tuyến tính Thơng tin nhị phân vào mã hóa nhịp k bit, đầu tương ứng n bit Ta định nghĩa tốc độ mã hóa RC = k/n, K gọi độ dài ràng buộc mã chập Xét ví dụ mã chập hình vẽ 1.2 với K=3, k=1 n=3 Tại thời điểm ban đầu, liệu ghi dịch bit Giả sử, bit lối vào bit lối 111 Bit thứ vào bit tương ứng 001 Bit lối vào thứ bit 100 Hình 0.2 Bộ mã chập K=3, k=1, n=3 Mỗi nhịp, bit lối vào lưu ghi dịch, bit lại xác định trạng thái mã chập Các trạng thái ký hiệu a:00, b:01, c:10, d:11 Có nhiều phương pháp để mơ tả mã chập Cách đơn giản để biểu diễn mã chập dùng biểu đồ mã hình 1.3 Để thuận tiện ta quy ước, lối vào bit ứng với nhánh phía bit biểu diễn nhánh Cấu trúc đơn giản không thuận tiện Mã chập biểu diễn theo hàm tạo mã Trong ví dụ trên, bit lối vào ta có bit lối Ta có hàm tạo mã g1 = [100], g2 = [101], g3 = [111] ứng với bit lối 1, Các bit hàm tạo mã ứng với bit có đường nối với cộng mơđun Các hàm thường biểu diễn dạng số 8, ví dụ (4,5,7)8 Trong Matlab, mã chập biểu diễn theo cách Ngoài cách trên, ta cịn biểu diễn mã chập theo giản đồ lưới hình 1.4 giản đồ trạng thái hình 1.5 Hình 0.3 Cấu trúc mã mã chập K=3, RC = 1/3 Hình 0.4 Giản đồ lưới mã chập K=3, RC=1/3 Hình 0.5 Giản đồ trạng thái mã chập K=3, RC=1/3 Trong mã chập, ta dùng hàm truyền để miêu tả mối quan hệ lối vào lối Hàm cho biết tổng trọng số Hamming đường tín hiệu lối so với đường toàn bit Định nghĩa Di với i khoảng cách Hamming dãy tạo tới dãy tồn Ví dụ từ trạng thái a sang trạng thái c chuỗi tạo 111 khoảng cách Hamming 3, ký hiệu D3 Từ ta có phương trình trạng thái là: Xb = D.XC + D.XD ; Xc = D3 Xa + D.Xb ; Xd = D2 Xc + D2 Xd Ứng với bước chuyển trạng thái tồn ta có: Xe = D2 Xb Hàm truyền mã chập định nghĩa là: T(D) = Xe/Xa Giải mã chập – thuật toán Viterbi Thuật toán Viterbi [2] Thuật toán Viterbi A.J.Viterbi cơng bố vào tháng năm 1967 tạp chí IEEE Từ đến nay, thuật tốn trở nên tiếng ứng dụng nhiều lĩnh vực thuộc ngành viễn thông công nghệ thông tin, gồm hệ thống điều chế mã lưới TCM Sau nội dung thuật tốn Xét K hàm vô hướng, giá trị thực: , , k k biến Tổng K hàm xác định sau: k , 1, k i (1.1) i i Giá trị nhỏ hàm (.) xác định : k- å m = {t t k - 1} i= l i (t i ) (1.2) Nếu biến i độc lập với phương trình thành: k- m= å i= l i (t i ) (1.3) ti Nghĩa là, cực tiểu hàm K biến thành cực tiểu K hàm biến Như vậy, mặt lý thuyết ta ln tìm giá trị cực tiểu dù biến độc lập hay phụ thuộc Tuy nhiên, biến độc lập, số phép tính cần thực lớn, đó, cần có phương pháp khác để xác định hiệu Thuật tốn tối thiểu hóa liên tiếp Nếu biến thiết 0 , 1, , K không độc lập, ta tối thiểu hóa (.) với giả độc lập, kết thu phụ thuộc vào biến Cơng việc tìm tương đương với việc tìm hàm cực tiểu Tiếp theo, ta cực tiểu hóa với giả thiết 1 , , K 1 i , , K , , K 1 độc lập, việc liên quan tới Lặp lại trình nhiều lần hàm 1 K độc lập, phép cực tiểu hóa cuối để thu Ta có phương trình: {t i | t i+1 , , t k- }= {t |t , ,t i {t i | t i+ 1, , t k- }= {t |t , ,t i i+ i+ l (t ) } k- émi- (t i- , , t k- )+ l i- (t k- )ù û ë k - 1} (1.4) m = mk- (t k- ) {t k- 1} Thuật tốn Viterbi Có thể đơn giản hóa thuật tốn tối thiểu hóa liên tiếp cơng thức (1.4) nhờ việc xét cấu trúc tập i | i , , i | K i Tình đơn giản khi: , , K i với: i (K-2) (1.5) giá trị i nhận không bị ảnh hưởng l+1 K-1 , biến độc lập phương trình (1.4) trở thành phương trình (1.3) nói Tiếp đến, ta xem xét trường hợp đơn giản thứ Ta có: | i nghĩa giá trị i i , , K i i+1 , phụ thuộc vào i i | i , , i | i (K-2) (1.6) phương trình (1.4) đơn giản hóa thành: K i i i 1| i với: i | i i i K i (1.7) K K Đây nguyên tắc thuật tốn Viterbi Thuật tốn Viterbi giải tốn cực tiểu hóa hiệu Hình 0.6: Tạo trạng thái ghi dịch Sau đây, ta xem xét việc áp dụng thuật tốn Viterbi việc giải mã chập Q trình giải mã thực chất việc tìm đường ngắn qua lưới Xét trường hợp tổng quát, nguồn tin tạo chuỗi hữu hạn ký hiệu độc lập , 1, , K Các ký hiệu mang giá trị xác định tập M giá trị hữu hạn Các ký hiệu tới hệ thống có i lối Gọi x i hàm phụ thuộc lối vào L lối vào trước đó: xi g i , i , , (1.8) i L Chuỗi x i coi tạo từ ghi dịch hình 1.6 Trạng thái ghi dịch thời điểm xuất ký hiệu i thường biểu diễn thông qua vectơ, ký hiệu i: i i Lối x i phụ thuộc vào lối vào xi Khi nguồn tin xuất ký hiệu i i , i , , i L i , , trạng thái g i , (1.9) i L i ghi dịch: (1.10) i ghi dịch chuyển sang trạng thái i+1 Ta định nghĩa chuyển đổi hai trạng thái là: i i , (1.11) i Trong giản đồ lưới, giá trị i+1 tương ứng với bước chuyển trạng thái từ i( i) phương trình 1.7 thể độ dài hay số đo nhánh i tới i+1 , giá trị Kết luận Chương giới thiệu phương pháp điều chế tín hiệu mặt phẳng trực giao (OPSM) hệ thống QS-TC-CDMA dựa phương pháp OPSM cho phép cải thiện cơng suất và/hoặc tính hiệu băng thơng hệ thống CDMA, mà dung lượng người dùng nhỏ độ lợi xử lý Với độ lợi xử lý độ phức tạp giải mã, độ tăng ích OPSM so với hệ thống S-TC-CDMA thông thường 1.2 dB hiệu suất phổ bit/s/Hz 3.0 dB tốc độ bit/s/Hz Khi so sánh với hệ thống S-TC-CDMA đa mã dựa khơng gian tín hiệu chiều có L kênh mã cho symbol, tỷ lệ BER sơ đồ đề xuất tốt Với OPSM, tốc độ liệu tăng tăng SNR lên nhiều so với hệ thống trước Hơn nữa, dựa điều kiện động kênh, OPSM cho phép chọn sơ đồ tốt nhất, phương diện khoảng cách, nhiều phương án cho tốc độ liệu, ta không cần thay đổi cấu trúc hệ thống Do đó, hệ thống mạnh KẾT QUẢ MÔ PHỎNG KỸ THUẬT tcm Chương kết tác giả thực mô hệ thống điều chế mã lưới TCM chương trình Matlab7.0.1 Q trình mơ gồm nội dung sau: o Xây dựng giản đồ lưới cho mã Ungerboeck cuối chương o Xây dựng hệ thống điều chế mã lưới dựa mã o Tính tỷ lệ lỗi BER hệ thống so sánh với hệ thống không mã tương đương môi trường nhiễu AWGN Xây dựng giản đồ lƣới Matlab 7.0.1 Như nói chương 2, hệ thống điều chế mã lưới TCM gồm mã chập điều chế, khác với hệ thống truyền thống, mã mã hoá thiết kế đặc biệt nhằm tối đa hoá khoảng cách Ơclit tín hiệu tạo từ điều chế Hình 0.1: Mơ hình tổng qt hệ thống Trong Matlab, để xây dựng mã chập, ta phải xây dựng giản đồ lưới cho mã Chương trình cung cấp sẵn hàm convenc(input,trellis) Hàm có đối số: input chuỗi bit lối vào dạng nhị phân trellis có dạng cấu trúc structure, mơ tả giản đồ lưới mã Các giản đồ lưới xây dựng trực tiếp hàm poly2trellis() Nhược điểm hàm sử dụng cách biểu diễn dạng hàm mũ mã không cho phép xây dựng mã hệ thống có phản hồi (trong tất mã Ungerboeck lại có dạng này) Do đó, tác giả xây dựng hàm tạo lưới riêng cho loại mã Ở xin trình bày chương trình tạo lưới cho mã: trạng thái (tập tín hiệu điều chế PSK), số bit lối vào m=2 số lối vào  =2, hệ số kiểm tra chẵn lẻ: h2 =4, h1=2, h0 =5 Sau nội dung hàm mã hoá m tcm8psk2() function [Trellis]=tcm8psk2(), clear Trellis; k=2; % số bit lối vào n=k+1; % số bit lối v=3; % độ dài ràng buộc mã state=2^v; % số trạng thái for row=1:state % Chạy từ trạng thái đầu đến trạng thái cuối % xác định giá trị bit trạng thái ban đầu s=de2bi((row-1),v); % ứng với bit lối vào, x/đ trạng thái for col=1:(2^k) % xác định bit lối vào ứng với cột x=de2bi((col-1),k); % x/đ bit trạng thái % pt sau phụ thuộc vào cấu trúc mã nexts(1)= xor(s(1),x(1)); % s0,n+1 = (s1,n xor x1,n) nexts(2)= xor(x(2),s(2)); % s1,n+1 = (s2,n xor x0,n) nexts(3)= s(1); % s2,n+1 = (s0,n) %Biểu diễn dạng số 10 nextStates(row,col) = bi2de(nexts); % Tạo ma trận lối outputs % chung cho tất hệ thống + feedback % y0,n+1 = s0,n out(1)=s(1); % y1,n+1->yk = x1,n+1->xn,n+1 for i=2:n out(i)=x(i-1); end % dec2oct biến đổi thập phân -> số outputs(row,col)=dec2oct(bi2de(out)); end end % số symbol lối vào Trellis.numInputSymbols=2^k; % số symbol lối Trellis.numOutputSymbols=2^n; % số trạng thái Trellis.numStates=2^v; % ma trận xác dinh trạng thái Trellis.nextStates=nextStates; % ma trận xác định lối Trellis.outputs=outputs; end Để kiểm tra kết ta dùng hàm istrellis(tcm16qam), hàm trả giá trị 1, không báo nguyên nhân lỗi Với hàm tcm8psk2() ta có giản đồ lưới sau: o Dùng lệnh conv_plotNextStates(trellis.nextStates) xác định ma trận trạng thái  =m=2, Hình 0.2: Giản đồ chuyển trạng thái mã v=2, m Hình 0.3: Giản đồ lối mã v=2, m =m=2, h 2=4, h1=2, h 0=5 h2 =4, h1 =2, h0=5 o Dùng lệnh conv_plotOutputs(trellis.outputs, trellis.numOutputSymbols ) để xác định ma trận lối Kết hình 5.3 Chú ý mã khác có cấu trúc khác nên mã cần phải xây dựng khác Công việc địi hỏi lượng cơng việc lớn Chương trình tổng qt hố q trình xây dựng mã, cung cấp khả linh hoạt cao cần thay đổi giá trị lối vào phương trình tạo trạng thái  =2 thực Các mã hoá phức tạp mã 32 trạng thái (v=5), m=4, m tương tự với phương trình tạo trạng thái sau: nexts(1)= xor(s(2),x(1)); nexts(2)= xor(s(3),x(1)); nexts(3)= xor(x(2),s(4)); nexts(4)= s(5); nexts(5)= s(1); % s0 % s1 % s2 % s3 % s4 Kết thu được biểu diễn qua hình sau: o Kiểm tra ma trận chuyển trạng thái: conv_plotNextStates(trellis.nextStates) Hình 0.4: Giản đồ chuyển trạng thái mã v=5, m =2, m=4, h2 =10, h1 =06, h0=41 o Kiểm tra ma trận lối lệnh: conv_plotOutputs(trellis.outputs, trellis.numOutputSymbols ) Các kết thu hồn tồn xác theo lý thuyết, khoảng cách tập giống kết tính tốn Ungerboeck mục 2.3 Hình 0.5: Giản đồ lối mã v=5, m =2, m=4, h2 =10, h1 =06, h0=41 Xây dựng điều chế mã lƣới TCM Dựa trellis vừa tạo trên, ta dùng lệnh convenc(bit_input,trellis) Để so sánh đánh giá loại mã, tác giả xây dựng hàm cho sơ đồ không mã, mã lưới – định cứng mã lưới – định mềm Cấu trúc hệ thống không mã đơn giản điều chế Hàm sau trả tỷ lệ lỗi hệ thống không mã kênh chịu nhiễu AWGN, với giá trị lối vào kiểu điều chế giá trị SNR tín hiệu so với nhiễu Hàm tự động tạo liệu đầu vào, biến đổi, đ iều chế mơ thu, sau tự động giải điều chế tính tốn tỷ lệ lỗi Sau nội dung hàm beruncode(nsym,mod,snr): nsym số điều chế, mod dạng điều chế „qam‟ „psk‟, snr tỷ số SNR function [NE BER]=beruncode(nsym,mod,snr), n=log2(nsym); d0=randint(1,64000*n); d1=reshape(d0,n,[]); d2=bi2de(d1','left-msb'); d3=d2'; if mod=='psk', d4 = pskmod(d3,nsym); d5 = awgn(d4,snr); d6 = pskdemod(d5,nsym); d7 = de2bi(d6,'left-msb'); d8 = reshape(d7',1,[]); [NE BER]=biterr(d0,d8); else if mod=='qam', d4 = qammod(d3,nsym); d5 = awgn(d4,snr); d6 = qamdemod(d5,nsym); d7 = de2bi(d6,'left-msb'); d8 = reshape(d7',1,[]); [NE BER]=biterr(d0,d8); end end end Ví dụ, để tính tỷ lệ lỗi hệ không mã điều chế 8PSK với tỷ lệ SNR =10 ta thực lệnh: beruncode(8,’psk’,10) Trong hệ thống mã lưới, mã chập thêm vào đằng trước điều chế Các mã chập dùng mã Ungerboeck tối ưu theo khoảng cách Ơclit Khi mô hệ thống mã lưới định cứng, Matlab có sẵn hàm giải mã vitdec(input,trellis,tb,’cont’,’hard’) Trong đó, input lối vào cần giải mã dạng nhị phân, trellis giản đồ lưới, tb (traceback) độ sâu giải mã (thông thường năm lần độ dài ràng buộc), „cont‟ „hard‟ nhằm xác định chế độ giải mã định cứng liên tục Sau nội dung hàm mà tác giả thực hiện: berhard(trl,mod,snr,tb) Trong đó, trl giản đồ lưới, tạo từ lệnh poly2trellis() Matlbab chương trình tcm8psk trên; mod: dạng điều chế „psk‟ „qam‟, snr tỷ số SNR tín hiệu so với nhiễu, tb độ sâu giải mã function [NE BER]=berhard(trl,mod,snr,tb), %tách thông số lưới ksym = trl.numInputSymbols; % số symbol lối vào nsym = trl.numOutputSymbols; % số symbol lối k n state v %tạo d0 = d1 = d2 = d3 = d4 = = = = = log2(ksym); log2(nsym); trl.numStates; log2(state); % % % % số số số độ bit lối vào bit lối trạng thái dài ràng buộc liệu, mã hóa điều chế randint(1,10000*k); convenc(d0,trl); reshape(d1,n,[]); bi2de(d2','left-msb'); d3'; if mod=='psk', d5 = pskmod(d4,nsym); d6 = awgn(d5,snr); d7 = pskdemod(d6,nsym); d8 = de2bi(d7,'left-msb'); d9 = reshape(d8',1,[]); else if mod=='qam', d5 = qammod(d4,nsym); d6 = awgn(d5,snr); d7 = qamdemod(d6,nsym); d8 = de2bi(d7,'left-msb'); d9 = reshape(d8',1,[]); end end %giải mã viterbi định cứng tính BER d10=vitdec(d9,trl,tb,'cont','hard'); [NoE BER]=biterr(d0(1:end-k*tb),d10(k*tb+1:end)); end Ví dụ để tính tỷ lệ lỗi BER hệ thống mã lưới điều chế 8PSK, SNR=10, tb=10, ta thực lệnh: berhard(8,’psk’,10,10) Đối với hệ thống mã lưới – định mềm, chương trình Matlab khơng cung cấp sẵn hàm giải mã để mô ta phải tự xây dựng hàm giải mã Dựa thuật toán Viterbi trình chương 1, sau nội dung hàm bersoft(trellis,mod,snr) Trong đó, trellis cấu trúc lưới, mod chế độ điều chế, snr tỷ số SNR tín hiệu so với nhiễu awgn Ví dụ, để tính tỷ lệ lỗi hệ thống mã lưới với mã có cấu trúc lưới trellis, điều chế PSK tỷ số SNR=10 ta thực lệnh bersoft(trellis,’psk’,10) Trong hàm này, số điều chế tự động điền vào dựa số symbol lối mã hoá Trong hàm sử dụng hàm edist() để tính khoảng cách Ơclit function [BER] = bersoft ( trl, mod, snr), clc; N=64000; % số symbol chuỗi liệu %tách giá trị từ cấu trúc trellis ksym = trl.numInputSymbols; nsym = trl.numOutputSymbols; k = log2(ksym); n = log2(nsym); state = trl.numStates; win = 5*k; % % % % số số số số symbol lối vào symbol lối bit lối vào bit lối %tạo liệu + mã hóa + điều chế: d0 = randint(1,N*k); d1=convenc(d0,trl); d2=reshape(d1',n,[ ]); d3=bi2de(d2','left-msb'); d4=d3'; if mod=='psk',d5 = pskmod(d4,nsym); else if mod=='qam',d5 = qammod(d4,nsym); end end msg = awgn(d5,snr); %khởi tạo ma trận nhớ để giải mã Viterbi INF=9e9; % ma trận nhớ ED metr = zeros(state,win+1)+INF;metr(1,1) = 0; % ma trận nhớ đường survivor surv = zeros(state,win+1); %độ dài giải mã ndec = floor(length(msg)/win); for i = 1:ndec, % trỏ cửa sổ trượt msg %forward for fw=1:win, sigin=msg((i-1)*win+fw); %tín hiệu thu % xét theo trạng thái: for s = 1:state, for j = 1:ksym, % trang thai ke tiep sau chuyen nxtSt = trl.nextStates(s,j)+1 ; % loi chuyen trang thai sig = oct2dec(trl.outputs(s,j)); % tính khoảng cách ơclit tổng dồn ed = edist(sigin,sig,nsym,mod); mtr = ed + metr(s,fw); % so sánh để chọn đường có tổng dồn nhỏ if( mtr < metr(nxtSt,fw+1)), metr( nxtSt,fw+1 )= mtr; surv( nxtSt,fw+1 )= s; inpt( nxtSt,fw+1 )= j-1; end end end end % backward % chọn trạng thái có tổng dồn nhỏ [mtr,sur] = min( metr( :,win+1) ); % trang thai co tong do`n nho nhat stahis(win+1)=sur; for tb=win:-1:1 % lưu vào nhớ: state history stahis(tb)=surv(stahis(tb+1),tb+1); end % dựa vào state history xác định lối tương ứng for index=1:win, out(i*win+index)=inpt(stahis(index+1),index+1); end %reset mảng biến trước trượt cửa sổ metr(:,1)=metr(:,win+1);metr(:,2:win+1)=INF; surv(:,1)=surv(:,win+1);surv(:,2:win+1)=0; clear stahis; end % Biến đổi tạo lối bit giải mã tmp=de2bi(out,'left-msb'); tmp2=reshape(tmp',1,[]); binout=tmp2((k*win+1):end); % Tính tốn tỷ lệ lỗi [NE BER]=biterr(binout,d0); end Chú ý số lượng tính tốn giải mã Viterbi định mềm lớn, nên tác giả đề xuất lấy giá trị N nhỏ Các tỷ lệ lỗi kết mơ Như nói trên, sơ đồ mô dựa mã Ungerboeck Các tính tốn đơn giản độ tăng ích khoảng cách tự Ungerboeck đưa Tỷ lệ lỗi thu theo hàm hệ thống điều chế mã lưới định mềm tốt hệ thống điều chế mã lưới định cứng hệ thống không mã Tỷ lệ lỗi hệ không mã điều chế 8PSK Để so sánh, ta xác định tỷ lệ lỗi BER hệ thống không mã Đối với hệ không mã điều chế 8PSK, kết thu kênh nhiễu Gauss bảng sau SNR BER 0.2544 SNR 13 BER 0.0096 0.2261 0.1950 14 15 0.0038 0.0015 0.1625 0.0273 0.1003 16 17 0.0003 10 0.0741 0.0506 11 12 0.0320 0.0184 Tỷ lệ lỗi hệ thống điều chế mã lƣới TCM Các kết cho mô hệ thống điều chế mã lưới TCM thực thực theo mã khác nhau, trường hợp, tỷ lệ lỗi giải mã làm việc chế độ định cứng định mềm đồng thời Chú ý dấu (*) ứng với giải mã định cứng Trƣờng hợp Mã chập có thông số: v=3, m= m =2, h2 =4, h1 =2, h0 =11 Ta có kết giả lập hai trường hợp: giải mã định cứng giải mã định mềm SNR BER 0.1520 0.1216 0.0817 BER* 0.2272 0.2018 0.1704 10 11 12 0.0529 0.0273 0.0103 0.0030 0.0013 0.0003 0.1501 0.1272 0.0966 0.0790 0.0547 0.0319 0.0208 Như vậy, hệ thống điều chế mã lưới định mềm vượt trội, có tỷ lệ lỗi BER thấp nhiều lần (15 17dB) so với hệ thống không mã tương đương Trong khi, hệ thống mã lưới định mềm có tỷ lệ lỗi BER nhỏ khơng đáng kể Điều hoàn toàn phù hợp với lý thuyết, giải mã định dựa khoảng cách Hamming mã lại thiết kế để tối ưu theo khoảng cách Ơclit Trƣờng hợp Ta lặp lại bước với mã: v=5 (32 trạng thái), m =2, m=4, h2 =34, h1 =16, h0 =45 Ta có bảng kết sau: SNR BER 0.2093 0.1731 0.1316 BER* 0.2710 0.2508 0.2266 10 11 12 0.0902 0.0340 0.0055 0.0045 0.0010 0.0001 0.2015 0.1793 0.1545 0.1091 0.0487 0.0288 0.0125 Như vậy, tỷ lệ lỗi hệ thống có số trạng thái tăng (v=5) tỷ lệ lỗi cải thiện Trƣờng hợp Khác với trường hợp trên, tập tín hiệu trường hợp 32CROSS có dạng Z2 , với điều chế QAM Mã dùng loại: v=5 (32 trạng thái), m =2, m=4, h2=10, h1 =06, h0 =41 Ta có bảng kết sau: SNR BER 0.0048 BER* 0.2710 0.0022 0.0006 0.0004 0.0001 0.2508 0.2266 0.2015 0.1793 0.1545 Như trên, kết hệ thống cải thiện tỷ lệ BER nhiều lần so với hệ thống trước Nhưng hệ thống có độ phức tạp cao, lượng tính tốn lớn nên ta phải trả giá độ trễ giải mã Các kết khác Ngoài kết giả lập hệ thống điều chế mã lưới kênh AWGN trên, tác giả thực số tính tốn cho kênh fading Rayleigh chương Để đơn giản hoá, ta coi độ dịch pha qua kênh Rayleigh bù trừ kỹ thuật bám pha Khi kênh mơ có trọng số đường ngẫu nhiên thời điểm, trọng số chuẩn hoá để tuân theo luật phân bố Rayleigh Để thực mô kênh Rayleigh, Matlab cung cấp sẵn hàm rayleighchan() Tuy nhiên thực mô kênh theo hàm này, kết xấu, không phù hợp với lý thuyết Để kiểm tra, tác giả viết hàm khác để tạo trọng số trễ: Cách 1: function [chan_taps]=chanray(len,c_strength,Tc,Rb,MM) %vd: %taps=chanray(10000,[0.8 0.8 0.6 0.4 0.2 0.2 0.2],1000,1,2) N=length(c_strength); L=len; M=24; NumPaths =4*M+2; fm = Rb/(Tc*log2(MM)); wm = * pi * fm; w = wm * cos(2 * pi *[1:M]/NumPaths); t = 1:L; for i = : N phi = * pi * rand(1,2*M+2); r = sqrt(2)*sum(exp(-j*(w'*t+phi(1:M)'*ones(1,L)))+ + exp(j*(w'*t+phi(M+1:2*M)'*ones(1,L)))) + + exp(-j*(wm*t+phi(2*M+1))) + exp(j*(wm*t+phi(2*M+2))); r=r/sqrt(mean(r.*conj(r))); channel_taps(i,:) = c_strength(i) * real(r(t)); end Cách 2: function [newchan] = newchanray(L); N=64; for i=1:L g(i)=2*sqrt(1/L)*(rand-0.5+j*(rand-0.5)); end; chanmoi=fft([g';zeros(N-L,1)]); Tuy nhiên, kết thu theo cách dù có cải thiện so với chương trình khơng phù hợp KẾT LUẬN Các kỹ thuật phát sửa lỗi vấn đề quan trong hệ thống truyền thông Kỹ thuật điều chế mã lưới TCM kết hợp trình mã hố điều chế, có mở rộng tập tín hiệu Kỹ thuật TCM cho phép cải thiện đáng kể độ tăng ích mà khơng cần thay đổi độ rộng băng thông hay giảm tốc độ liệu Sau Ungerboeck giới thiệu chi tiết lần đầu năm 1982, kỹ thuật áp dụng nhiều hệ thống viễn thơng Luận văn “Điều chế mã hố mạng lưới cỏc ng dng trờn kờnh truyn Tài liệu tham khảo Tiếng Việt: Đặng Văn Chuyết, Nguyễn Tuấn Anh (2000),“C¬ së lý thut trun tin - tËp 1”, tr 3292, NXB Giáo dục, Hà nội Đặng Văn Chuyết, Nguyễn Tn Anh (2000), “C¬ së lý thut trun tin – tập 2, tr 71 79, NXB Giáo dục, Hà néi TiÕng Anh: 10 11 12 13 14 15 16 17 18 19 Bernard Sklar (1997), “Rayleigh Fading Channels in Mobile Digital Communication Systems, Part I: Characterization”, IEEE, July 1997 Bernard Sklar (1997), “Rayleigh Fading Channels in Mobile Digital Communication Systems, Part II: Mitigation”, IEEE, July 1997 Boudreau.G.D, Falconer.D.D, Mahmoud.S.A (1990), “A comparison of trellis coded versus convolutionally coded spread-spectrum multiple-access systems”, IEEE, Vol.8, No.4 Boudreau.G.D (1989), “Analysis of the application of trellis coding to spread spectrum multiple access systems” Ph.D dissertation, Carleton Univ Choe.S (2002), “Multi-Sequence signaling based trellis-coded CDMA system in rayleigh fading channels”, IEEE Divsalar.D vµ Simon.M.K (1987), “Trellis coded modulation transmission over a fading mobile satellite channel”, IEEE, Vol SAC-5 Ephraim Zehavi (1992), “8-PSK trellis codes for a Rayleigh Channel”, IEEE, Vol 40, No.5 Gaudenzi R.D, Giannetti.F (1995), “Analysis and performance evaluation of synchronous trellis-coded CDMA for satellite applications”, IEEE Trans., Vol.43, tr 1400-1408 Ghauri.I, Iltis.RA (1997), “Capacity fo the linear decorrelating detector for QSCDMA”, IEEE Trans, Vol 45, tr.247-256 Hanly.S.V (1996), “Capacity and power control in spread spectrum macrodiversity radio networks”, IEEE Trans, Vol.44, tr 247-256 Jansen.M.G, Prasad.R (1995), “Capacity, throughput, and delay analysis of a cellular DS CDMA system with imperfect power control and imperfect sectorization”, IEEE Trans Vol.42, tr 67-75 Massey.J.L., Mittelholzer.T (1993), “Welch’s bound and sequence sets for codedivision multiple access systems”, Springer-Verlag Ungerboeck.G (1987), “Trellis-Coded Modulation with redungant signal sets, PartI: Introduction”, IEEE, Vol 25, No2 Ungerboeck.G (1987), “Trellis-Coded Modulation with redungant signal sets, Part II: State of the Art”, IEEE, Vol 25, No.2 Viterbi.A.J (1995), “CDMA principles of spread spectrum communication”, Addison-Wesley Publishing Company Viterbi.A.J, Zehavi.E, Padovani.R, Wolf.J.K (1989), “ On the performance of trellis codes”, IEEE Trans , vol IT-33 Yamamura.H, Kohno.R (1995), “Analysis of CDMA with multidimensional coded modulation in fading channel”, Proc IEEE ICUPC ’95, Tokyo Danh mơc b¶ng biĨu B¶ng 2.1: 35 B¶ng 2.2: 35 B¶ng 3.1: 41 B¶ng 3.2: 43 Mục lục ... Minh Hiếu ĐIỀU CHẾ MÃ HÓA MẠNG LƢỚI VÀ ỨNG DỤNG TRONG TRUYỀN DẪN VỚI KÊNH RAYLEIGH Chuyên ngành: Kỹ thuật vô tuyến điện tử thông tin liên lạc Mã số: 2. 07. 00 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA... 16 32 64 128 25 6 1 1 1 374 04 04 10 024 024 176 13 23 45 103 20 3 427 1. 324 1.476 1. 628 1.910 2. 000 * 2. 000 * 2. 085 - 3.54 4.01 4.44 5.13 5.33 5.33 5.51 2. 3 5.3 0.5 1.5 4 8 2 8.0 ĐiỀU CHẾ MÃ LƯỚI... GC/U Gfree d 2free / 02 G4AM/2AM G8AM/4AM h1 h0 (m=1) (m =2) (m→ ) (m→ ) 2v m 16 32 64 128 25 6 2 2 2 04 16 34 066 122 130 02 04 16 030 054 0 72 11 23 45 103 27 7 435 4 .000 * 4.586 5.1 72 5.758 6.343

Ngày đăng: 05/12/2020, 10:34

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • MỤC LỤC

  • MỞ ĐẦU

  • Mã chập [1]

  • Giải mã chập – thuật toán Viterbi

  • Thuật toán Viterbi [2]

  • Thuật toán tối thiểu hóa liên tiếp

  • Thuật toán Viterbi

  • Giải mã Viterbi quyết định cứng và quyết định mềm [2]

  • Giải mã Viterbi quyết định cứng

  • Giải mã Viterbi quyết định mềm

  • Độ sâu giải mã Viterbi

  • Kênh fading Rayleigh [3]

  • Kênh fading

  • Fading rộng

  • Fading hẹp

  • Các kỹ thuật chống fading lựa chọn tần số [4]

  • Các kỹ thuật chống fading nhanh [4]

  • Các kỹ thuật chống tổn hao SNR [4]

  • ĐIỀU CHẾ MÃ LƯỚI TCM

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

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

Tài liệu liên quan