Đ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

88 31 0
Đ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 QSTC-CDMA, 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.2 Tác động dịch pha sóng mang 2.2.2.2 Hoạt động vòng tìm ph 2.2.2.3 Sự bất biến mã TCM 2.2.3 Các mã lưới nhiều chiều 2.2.3.1 TCM chiều 2.2.3.2 TCM chiều 2.2.4 Đánh giá chung 2.3 Các bảng mã tối ưu cho kênh AWGN Ungerboeck đề xuất defined CHƢƠNG 3: ĐIỀU CHẾ MÃ LƢỚI TCM CHO KÊNH RAYLEIGH 3.1 Hệ thống 3.2 Hệ thống mã gần tối ưu 3.3 Tỷ lệ lỗi hệ thống CHƢƠNG 4: HỆ THỐNG CDMA MÃ LƢỚI GẦN ĐỒNG BỘ 4.1 Tổng quát 4.2 Điều chế chuỗi tín hiệu mặt phẳng trực giao 4.3 Mô hình hệ thống 4.4 Hoạt động hệ thống 4.4.1 4.4.2 4.5 Các kết tính tốn 4.6 Kết luận CHƢƠNG 5: KẾT QUẢ MÔ PHỎNG 5.1 Xây dựng giản đồ lưới Matlab 7.0.1 Bookmark not defined 5.2 Xây dựng điều chế mã lưới TCM Bookmark not defined 5.3 Các tỷ lệ lỗi kết mô Bookmark not defined 5.4 Bookmark not defined Các kết khác 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 Ngồ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 Trong mã chập, ta dùng hàm truyền để miêu tả mối quan hệ giữ a 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 i Định nghĩa D 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 3 D Từ ta có phương trình trạng thái là: Xb = D.XC + D.XD ; Xc = D Xa + D.Xb ; Xd = 2 D Xc + D Xd Ứng với bước chuyển trạng thái tồn ta có: Xe = D 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 tốn Viterbi [2] Thuật tố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: 0 , 1 , k 1k hàm xác định sau: k , , k (1.1) i Giá trị nhỏ hàm (.) xác định : m = (1.2) Nếu biến i độc lập với phương trình thành: m= i= 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 Cơng việc tìm Tiếp theo, ta cực tiểu hóa với giả thiết i , , i 1, , phép cực tiểu hóa cuối để thu i { + |1 t t { t i+1 k-1 } = , , t t |t {i m = mk - (t k- ) Thuật toán Viterbi Có thể đơn giản hóa trúc tập i | {t k- 1} 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 K i | i1 Tình đơn giản khi: , , K 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ó: 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 mã hoá m =2, hệ số kiểm tra chẵn lẻ: h =4, h =2, h =5 Sau nội dung hàm tcm8psk2() function [Trellis]=tcm8psk2(), clear Trellis; k=2; n=k+1; v=3; state=2^v; 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 Hình 0.2: Giản đồ chuyển trạng thái mã v=2, m =m=2, Hình 0.3: Giản đồ lối mã v=2, m =m=2, h2=4, h1=2, h0=5 h =4, h =2, h =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 Các mã hoá phức tạp mã 32 trạng thái (v=5), m=4, m =2 thực tương tự với phương trình tạo trạng thái sau: % s0 nexts(1)= xor(s(2),x(1)); % s1 nexts(2)= xor(s(3),x(1)); % s2 nexts(3)= xor(x(2),s(4)); % s3 nexts(4)= s(5); nexts(5)= s(1); % 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, h =10, h =06, h =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, h =10, h =06, h =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 else if mod=='qam', [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 beruncode(8,’psk’,10) ta thực lệnh: 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 % số symbol lối vào ksym = trl.numInputSymbols; % số symbol lối nsym = trl.numOutputSymbols; k n state = log2(ksym); = log2(nsym); = trl.numStates; v %tạo d0 = d1 = d2 = d3 = d4 = = log2(state); 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 tố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; %tách giá trị từ cấu trúc trellis ksym nsym k n state = trl.numStates; win %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( surv( inpt( end metr(nxtSt,fw+1)), nxtSt,fw+1 )= mtr; nxtSt,fw+1 )= s; nxtSt,fw+1 )= j-1; 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 BER 0.0096 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, h =4, h =2, h =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 BER* 0.2272 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 2 Ta lặp lại bước với mã : v=5 (32 trạng thái), m =2, m=4, h =34, h =16, h =45 Ta có bảng kết sau: SNR BER 0.2093 BER* 0.2710 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 Z , với điều chế QAM Mã dùng loại: v=5 (32 trạng thái), m =2, m=4, h =10, h =06, h =41 Ta có bảng kết sau: SNR BER BER* 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; = 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 w 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 q 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ã hoá mạng lưới ứng dụng kênh truyền Tài liệu tham khảo Tiếng Việt: Đặng Văn Chut, Ngun Tn Anh (2000),“C¬ së lý thut trun tin - tập 1, tr 32-92, NXB Giáo dục, Hà nội Đặng Văn Chuyết, Nguyễn Tuấn Anh (2000), Cơ sở lý thuyÕt truyÒn 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 code-division 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... Bảng 2. 1: Số t/thái v m 16 32 64 128 25 6 25 6 1 1 1 1 Số t/thái v m 16 32 64 128 25 6 2 2 2 16 32 64 128 25 6 1 1 1 ĐiỀU CHẾ MÃ LƯỚI TCM CHO KÊNH RAYLEIGH Sau theo dõi nguyên lý kỹ thuật điều chế mã. .. 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 .2 Tác động dịch pha sóng mang 2. 2 .2. 2 Hoạt

Ngày đăng: 11/11/2020, 21:31