Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 126 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
126
Dung lượng
3,27 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN ĐỨC PHÚC ỨNG DỤNG MÃ LDPC VÀ MÃ STF VÀO HỆ THỐNG MIMO-OFDM NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 S K C0 Tp Hồ Chí Minh, tháng 10/2014 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN ĐỨC PHÚC ỨNG DỤNG MÃ LDPC VÀ MÃ STF VÀO HỆ THỐNG MIMO-OFDM NGÀNH:KỸ THUẬT ĐIỆN TỬ - 605270 Tp Hồ Chí Minh, tháng 10/2014 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN ĐỨC PHÚC ỨNG DỤNG MÃ LDPC VÀ MÃ STF VÀO HỆ THỐNG MIMO-OFDM NGÀNH:KỸ THUẬT ĐIỆN TỬ - 605270 Hướng dẫn khoa học: PGS.TS PHẠM HỒNG LIÊN Tp Hồ Chí Minh, tháng 10/2014 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƢỢC: Họ & tên: Nguyễn Đức Phúc Giới tính:Nam Ngày, tháng, năm sinh: 26/11/1978 Nơi sinh:Sóc Trăng Quê quán: Dân tộc:Kinh Chỗ riêng địa liên lạc:167I/5 Trần Vĩnh Kiết, Phường An Bình, Quận Ninh Kiều, Tp.Cần Thơ Điện thoại quan: Điện thoại nhà riêng:0989755066 Fax: E-mail:ndphuc78@gmail.com II QUÁ TRÌNH ĐÀO TẠO: Trung học chuyên nghiệp: Hệ đào tạo: Nơi học (trường, thành phố): Ngành học: Thời gian đào tạo từ ……/…… đến ……/ …… Đại học: Hệ đào tạo: Chính quy Thời gian đào tạo từ 09/1998 đến 03/2003 Nơi học (trường, thành phố): Trường Đại học Cần Thơ Ngành học: Điện Tử Tên đồ án, luận án môn thi tốt nghiệp: Thiết bị báo động điều khiển từ xa qua mạng điện thoại Ngày & nơi bảo vệ đồ án, luận án thi tốt nghiệp:2003 Người hướng dẫn: ThS Đồn Hịa Minh III Q TRÌNH CƠNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian Nơi công tác Công việc đảm nhiệm 06/2003 Công ty CP Thuộc da Tây Đô Kỹ thuật sửa chữa 09/2004 Trường Đại Học Cửu Long Trung Tâm Truyền hình Việt Nam Thành Phố Cần Thơ Giảng viên 09/2005 -> Kỹ thuật sửa chữa Trang i Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tp Hồ Chí Minh, ngày … tháng 10 năm 2014 Nguyễn Đức Phúc Trang ii Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc LỜI CẢM TẠ Đầu tiên em xin chân thành cảm ơn cô PGS.TS Phạm Hồng Liên hết lòng quan tân hướng dẫn tận tình, tạo điều kiện thuận lợi để em hồn thành tốt đề tài Xin cảm ơn giúp đở đông nghiệp bạn bè lớp ngồi lớp Gia đình tạo điều kiện thuận lợi cho tơi hồn thành luận văn Em xin bày tỏ lòng biết ơn sâu sắc đến thầy cô truyền đạt kiến thức quý báu cho em khóa học giúp em có đủ kiến thức khả hồn thành đề tài luận văn Sau cùng, em xin kính chúc q Thầy Cơ dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Tp.Hồ Chí Minh, ngày … tháng 10 năm 2014 Nguyễn Đức Phúc Trang iii Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc TÓM TẮT Mã kiểm tra chẵn lẻ mật độ thấp (LDPC) Gallager đề xuất vào năm 1963[1]vàđã chứng minh tiến gần giới hạn Shannon Mặt khác, vấn đề đáng quan tâm hệ thống thông tin di động tượng fading làm cho chất lượng tín hiệu xấu Một phương pháp để khắc phục vấn đề sử dụng kỹ thuật phân tập Cùng với kỹ thuật phân tập không gian cách sử dụng nhiều anten, phân tập tần số phân tập thời gian giúp ích nhiều việc cải thiện chất lượng hệ thống, tùy vào điều kiện kênh truyền Các phương pháp sử dụng kỹ thuật phân tập tương ứng gọi mã hóa khơng-thời gian (ST), mã hóa khơng gian-tần số (SF) mã hóa khơng gian-thời gian-tần số (STF) Trong luận văn này, hệ thống kết hợp mã LDPC với hệ thống MIMOOFDM sử dụng mã hóa STF khảo sát Các kết mô thực trường hợp có sử dụng mã LDPC khơng sử dụng mã LDPC để dễ dàng so sánh đưa kết luận Luận văn sử dụng mã LDPC qua với ma trận kiểm tra chẵn lẻ H(128x256), mơ hình kênh truyền COST207, phương pháp điều chế BPSK, QPSK, 4QAM, để tiến hành mô Luận văn tiến hành mô hệ thống SIMO, MISO, MIMO với số lượng anten thu phát khác Thông qua kết mô chứng khả kiểm sốt lỗi hệ thống có sử dụng mã LDPC mã STF cải thiện đáng kể so với không sử dụng mã Trang iv Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc ABSTRACT Low Density Parity Check codes (LDPC) were first discovered by Gallager in 1963[1]and has been proven very close to the Shannon limit Otherwise, an another problem in the mobile communication system is the fading effects which makes the signal quality was deteriorated One of the methods to overcome this problem is to use the diversity technical Along with spatial diversity due to multiple antennas, frequency diversity and time diversity may also be available to the system, depending on the channel conditions Schemes that utilise this diversity are called space-time (ST) codes, space-frequency (SF) codes and space-time-frequency (STF) codes In this dessertation, a system combining LDPC codes with a MIMO-OFDM system using STF codes is proposed In the simulation, we performed simulation in two cases, when using LDPC codes and when not using LDPC codes Comparing simulation results and drawing conclusions The thesis used irregular LDPC codes with H(128x256) matrix, COST207 chanel model to simulate A lot of method modulations were used to simulate as BPSK, QPSK, 4QAM The simulation results concentrated on SIMO, MISO and MIMO systems with the different number of antennas By the simulation results, we have demonstrated that the ability of controling error of system which used LDPC codes anh STF codes was improved more than the system which used no codes Trang v Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc MỤC LỤC Trang LÝ LỊCH KHOA HỌC i LỜI CAM ĐOAN ii LỜI CẢM TẠ iii TÓM TẮT iv ABSTRACT v MỤC LỤC vi DANH SÁCH CÁC CHỮ VIẾT TẮT x DANH SÁCH CÁC HÌNH xii DANH SÁCH CÁC BẢNG xiv Chương TỔNG QUAN 1.1 Đặt vấn đề 1.1.1 Mã LDPC(Low Density Parity Check) 1.1.2 MIMO-OFDM 1.1.3 Chọn đề tài 1.2 Mục tiêu đề tài 1.3 Nhiệm vụ nghiên cứu giới hạn đề .4 1.4 Phương pháp nghiên cứu Chương TỔNG QUAN BỘ MÃ LDPC .5 2.1 Giới thiệu 2.2 Khái niệm mã LDPC 2.2.1 Định nghĩa mã LDPC 2.2.2 Biểu diễn mã LDPC Trang vi Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc 2.2.2.1 Biểu diễn ma trận 2.2.2.2 Đồ hình Tanner .6 2.2.3 MãLDPC có quy tắc bất quy tắc 2.2.3.1 Mã LDPC có quy tắc 2.2.3.2 Mã LDPC bất quy tắc .9 2.2.3.3 Mức phân phối (degree distribution) 10 2.3 Mã hóa mã LDPC .10 2.4 Giải mã mã LDPC 11 2.4.1 Giải mã tổng tích (Sum – product decoding) 11 2.4.2 Giải thuật giải mã lật bit (Bit-Flipping - BF) 14 2.5 Tóm tắt .15 Chương HỆ THỐNG MIMO-OFDM 17 3.1 OFDM 17 3.1.1 Giới thiệu: 17 3.1.2 Mơ hình hệ thống: 19 3.2 KỸ THUẬT MIMO 27 3.2.1 Giới thiệu: 27 3.2.2 Kỹ thuật phân tập: 29 3.2.2.1 Phân tập thời gian: 29 3.2.2.2 Phân tập không gian: 30 3.2.2.3 Phân tập tần số: .31 3.2.3 Mơ hình hệ thống MIMO: 32 3.2.4 Dung lượng hệ thống MIMO: 34 3.3 HỆ THỐNG MIMO – OFDM 37 Trang vii Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc % M: so muc dieu che % modtype:kieu dieu che psk, qam, pam % Output: output: so symbol loi sau giai ma function output = ctc_SISO_MMSE(Ninput, snr, Ntx, Nrx, M, modtype) sigma = (10^(-snr/20))/sqrt(2); % Tao bang chom Set=0:M-1; sym_tab = modSymbols(Set, M, modtype); % bang chom % tin hieu ngo vao ipBit = bi2de_mod(Ninput,M); sMod = modSymbols(ipBit,M,modtype); N = length(ipBit); % Transmitter yg = zeros(1,N); H = zeros(1,N); for rr = 1:Nrx h = (1/sqrt(Ntx))*(randn(Ntx,N) + 1j*randn(Ntx,N))/sqrt(2); % Rayleigh channel n = randn(1,N) + 1j*randn(1,N); % white gaussian noise, 0dB variance % Tinh toan h cho may thu h1 = sum(h,1); h1c = conj(h1); % Channel and noise Noise addition y = h1.*sMod + sigma*n; H = H + h1c.*h1; yg =yg + h1c.*y; end yg1 = (yg./(H+sigma^2)).'; %decoding ML for mm = 1:M dd(:,mm) = abs(sum(yg1,2)-sym_tab(mm)).^2 ; end [yy,idd] = min(dd,[],2); %vi tri dd vao i1 yhat = sym_tab(idd).'; clear dd ipBitHat = demodSymbols(yhat.',M,modtype); output = de2bi_mod(ipBitHat,M); end Chƣơng trình tính BER hệ thống MIMO-OFDM clear all; M = 4; % Muc dieu che Ncarr = 128; Nsym = 8*10^3; % So symbol EbN0dB = 0:30; % bit to noise ratio Ntx = 2; % So anten phat Trang 95 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc Nrx = 1; Ltap = 10; % So duong fading modtype = 'psk'; N = Ncarr*Nsym; % so symbol hoac bit vao Ninput = round(rand(1, N)) ; id = 1; for ii = 1:3:length(EbN0dB) snr = EbN0dB(ii); display(snr); rx1 = ctc_OFDM(Ninput,snr,2,2,Ncarr,8,4,modtype); [num1, err1e(id)] = biterr(rx1, Ninput); rx2 = ctc_OFDM(Ninput,snr,4,2,Ncarr,4,4,modtype); [num2, err2e(id)] = biterr(rx2, Ninput); rx3 = ctc_OFDM(Ninput,snr,2,4,Ncarr,4,4,modtype); [num3, err3e(id)] = biterr(rx3, Ninput); rx4 = ctc_OFDM(Ninput,snr,4,4,Ncarr,2,4,modtype); [num4, err4e(id)] = biterr(rx4, Ninput); id = id + 1; end snr = 0:3:max(EbN0dB); semilogy(snr,err1e,'rv-','LineWidth',2); hold on; semilogy(snr,err2e,'bs-','LineWidth',2); hold on; semilogy(snr,err3e,'kd-','LineWidth',2); hold on; semilogy(snr,err4e,'mo-','LineWidth',2); hold on; axis([EbN0dB([1 end]) 1e-6 1e0]); grid on; legend('MIMO-OFDM 2x2 L=8','MIMO-OFDM 4x2 L=4','MIMO-OFDM 2x4 L=4', 'MIMO-OFDM 4x4 L=2'); xlabel('SNR (dB)'); ylabel('BER'); str = ['MIMO-OFDM chua ma hoa: cung muc phan tap Tx*Rx*L=32, dieu che QPSK']; tle = [sprintf(str)]; title(tle); Chƣơng trình cho hệ thống MIMO-OFDM % Chuong trinh thu phat OFDM % Input: Ninput: so bit hoac symbol vao % snr: gia tri ti so tin hieu tren nhieu % Ntx: so anten phat % Nrx: so anten thu % Ncarr: so song mang % Ltap: so duong fading % M: so muc dieu che % modtype:kieu dieu che psk, qam, pam % Output: output: so symbol sau giai ma function output = ctc_OFDM(Ninput, snr, Ntx, Nrx, Ncarr, Ltap, M, modtype) Trang 96 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc CPlen = Ncarr/4; % Chieu dai khoang bve GIlen = Ncarr + CPlen; % Chieu dai tong symbol OFDM % Taoj bang chom Set=[0:M-1]; sym_tab = modSymbols(Set, M, modtype); % Tao tin hieu dieu che ipBit = bi2de_mod(Ninput,M); % randi([0 M-1],1,N); ipMod = modSymbols(ipBit,M,modtype); N = length(ipBit); % N = Ninput - mod(Ninput,Ncarr); % Tao phep chia chan nSym = N/Ncarr; % number of symbols % nTap = Ltap; EbN0dB = snr; % bit to noise ratio EsN0dB = EbN0dB + 10*log10(Ncarr/GIlen); % converting to symbol to noise ratio sigma = (10^(-EsN0dB/20))/sqrt(2); % Transmitter xF = reshape(ipMod,Ncarr,nSym).'; % grouping into multiple symbols % IFFT xt = sqrt(Ncarr)*ifft(xF,Ncarr,2); % nSym x Ncarr % Appending cylic prefix xt1 = [xt(:,[Ncarr-CPlen+1:Ncarr]) xt]; % nSym x Ntotal yg = zeros(nSym,Ncarr); H = zeros(nSym,Ncarr); for rr = 1:Nrx % multipath channel ht = (1/sqrt(Ntx))*(1/sqrt(Ltap))*(randn(Ntx,nSym*Ltap) + 1j*randn(Ntx,nSym*Ltap))/sqrt(2); ht1 = sum(ht,1); ht2 = reshape(ht1,nSym,Ltap); % computing and storing the frequency response of the channel, for use at recevier hF = fft(ht2,Ncarr,2); hFc = conj(hF); % convolution of each symbol with the random channel hFcon = fft(ht2,(GIlen + Ltap - 1),2); xhtFcon = fft(xt1,(GIlen + Ltap - 1),2); xt2 = ifft((hFcon.*xhtFcon),(GIlen + Ltap - 1),2); % Concatenating multiple symbols to form a long vector xt3 = reshape(xt2.',1,nSym*(GIlen+Ltap-1)); % Gaussian noise of unit variance, mean nt = randn(1,nSym*(GIlen+Ltap-1)) + 1j*randn(1,nSym*(GIlen+Ltap-1)); % Adding noise, the term sqrt(80/64) is to account for the wasted energy due to cyclic prefix yt = sqrt(GIlen/Ncarr)*xt3 + sigma*nt; % Receiver yt = reshape(yt.',GIlen+Ltap-1,nSym).'; % formatting the received vector into symbols yt = yt(:,[CPlen+1:GIlen]); % removing cyclic prefix Trang 97 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc % converting to frequency domain yF = fft(yt,Ncarr,2)/sqrt(Ncarr); yg = yg + hFc.*yF; H = H + hFc.*hF; end % equalization by the known channel frequency response yg1 = yg./(H + sigma^2); yy = reshape(yg1.',1,Ncarr*nSym); % Decoding ML for m=1:M d1(:,m) = abs(sum(yy.',2)- sym_tab(m)).^2; end [y1,i1]=min(d1,[],2); %vi tri d1 vao i1 S1d = sym_tab(i1).'; clear d1 ipBitHat = demodSymbols(S1d.',M,modtype); % tra du lieu output = de2bi_mod(ipBitHat,M); end Chƣơng trình tính BER hệ thống MIMO-OFDM mã hóa STF clear all; M = 4; % Muc dieu che Ncarr = 128; NB = 8; Nsym = 10^3; % So symbol EbN0dB = 0:30; % bit to noise ratio Ntx = 2; % So anten phat Nrx = 2; Ltap = 4; % So duong fading modtype = 'psk'; N = NB*Ncarr*Nsym; % so symbol hoac bit vao Ninput = round(rand(1, N)) ; id = 1; for ii = 1:3:length(EbN0dB) snr = EbN0dB(ii); display(snr); rx1 = ctc_stfc(Ninput, snr, 4, 2, 2, Ncarr, 4, M, modtype); [num1, err1e(id)] = biterr(rx1, Ninput); rx2 = ctc_stfc(Ninput, snr, 2, 4, 2, Ncarr, 4, M, modtype); [num2, err2e(id)] = biterr(rx2, Ninput); rx3 = ctc_stfc(Ninput, snr, 2, 2, 8, Ncarr, 2, M, modtype); [num3, err3e(id)] = biterr(rx3, Ninput); rx4 = ctc_stfc(Ninput, snr, 2, 2, 2, Ncarr, 8, M, modtype); [num4, err4e(id)] = biterr(rx4, Ninput); id = id + 1; Trang 98 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc end snr = 0:3:max(EbN0dB); semilogy(snr,err1e,'rv-','LineWidth',2); hold on; semilogy(snr,err2e,'bs-','LineWidth',2); hold on; semilogy(snr,err3e,'kd-','LineWidth',2); hold on; semilogy(snr,err4e,'mo-','LineWidth',2); hold on; axis([EbN0dB([1 end]) 1e-6 1e0]); grid on; legend('STFC 4x2 NB=2 L=4', 'STFC 2x4 NB=2 L=4', 'STFC 2x2 NB=8 L=2','STFC 2x2 NB=2 L=8'); xlabel('SNR (dB)'); ylabel('BER'); str = ['He thong MIMO-OFDM ma hoa STFC, cung muc phan tap 64, dieu che QPSK']; tle = [sprintf(str)]; title(tle); Chƣơng trình cho hệ thống MIMO-OFDM mã hóa STF % Chuong trinh ma SF-STF-rate % Input: Ninput: so bit hoac symbol vao % snr: gia tri ti so tin hieu tren nhieu % Ntx: so anten phat % Nrx: so anten thu % NB: so khoi OFDM ma hoa % Ncarr: so song mang % Ltap: so duong fading % M: so muc dieu che % modtype:kieu dieu che psk, qam, pam % Output: output: so symbol loi sau giai ma function output = ctc_stfc_rate1(Ninput, snr, Ntx, Nrx, NB, Ncarr, Ltap, M, modtype) % Dinh nghia cac thong so Nfc = Ntx*Ltap; % Chieu dai moi nhom nGr = Ncarr/Nfc; % So nhom duoc chia nS = NB*Ncarr; % Chieu dai tin hieu vao % Tao bang chom Set=0:M-1; sym_tab = modSymbols(Set, M, modtype); % bang chom % Tao tin hieu dieu che ipBit = bi2de_mod(Ninput,M); %ipBit = randi([0 M-1],1,N); % so symbol hoac bit vao s = modSymbols(ipBit,M,modtype); N = length(ipBit); N = N - mod(N,nS); Nsym = N/nS; % So symbol lGr = Nfc*NB; % Chieu dai moi nhom % Thong so OFDM Trang 99 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc CPlen = Ncarr/4; % Chieu dai khoang bve GIlen = Ncarr + CPlen; % Chieu dai tong symbol OFDM % Cac gia tri Eb/N0 EsN0dB = snr + 10*log10(Ncarr/GIlen); sigma = (10^(-EsN0dB/20))/sqrt(2); % Tao ma tran tien ma hoa Vander Mvan = MatrixVander(lGr)/sqrt(lGr); for kk = 1:nS:nS*Nsym s1 = s(kk:kk+nS-1); smod = reshape(s1,lGr,nGr); % Chia cac symbol dieu che nhom % STFC CODING % Tien ma hoa moi nhom Sg X = Mvan*smod; % Ma hoa khoi Bi CnGr = []; for aa = 1:nGr Xi = X(:,aa); % lGr = Nfc*NB = Ntx*Ltap*NB XiNB = reshape(Xi,Ntx*Ltap,NB); Bi = []; for bb = 1:NB XiNBNtx = reshape(XiNB(:,bb),Ltap,Ntx); BiNB = []; for cc = 1:Ntx BiNB = diagMatrix(BiNB,XiNBNtx(:,cc)); end Bi = [Bi BiNB]; end CnGr = [CnGr; Bi]; end C = sqrt(Ntx)*CnGr.'; % OFDM z_ifft = sqrt(Ncarr)*ifft(C,Ncarr,2); % sqrt(Ncarr) should be mutiplied to maintain the Power % adding cyclic prefix Z_ofdm = [z_ifft(:,Ncarr-CPlen+1:Ncarr) z_ifft];% final OFDM sampled signals with CP % RECEIVER for rr = 1:Nrx %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% channel %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % multipath channel ht = (1/sqrt(Ntx))*(1/sqrt(Ltap))*(randn(NB*Ntx,Ltap) + 1j*randn(NB*Ntx,Ltap))/sqrt(2); % computing and storing the frequency response of the channel, for use at recevier HC = fft(ht,Ncarr,2); HF = []; Trang 100 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc for dd = 1:NB tam = HC(Ntx*(dd-1)+1:Ntx*(dd-1)+ Ntx,:); for ee = 1:Ntx tam1 = reshape(tam(ee,:),Ltap,Ncarr/Ltap); tam2 = tam1(:,(ee:Ntx:end)); tamm(ee,:) = reshape(tam2,1,Ncarr/Ntx); end HF = [HF;tamm]; end HCBi = reshape(HF,[NB*Ntx,Ltap,nGr]); Hsua = []; for gg = 1:nGr tam3 = HCBi(:,:,gg).'; Hsua = [Hsua reshape(tam3,1,NB*Nfc)]; end HRsua(rr,:) = Hsua; % convolution of each symbol with the random channel htFcon = fft(ht,GIlen+Ltap-1,2); ZFcon = fft(Z_ofdm,GIlen+Ltap-1,2); xtcon = ifft(htFcon.*ZFcon,GIlen+Ltap-1,2); for cv = 1:NB xht(cv,:) = sum(xtcon(Ntx*(cv-1)+1:Ntx*(cv-1)+ Ntx,:),1); end % Gaussian noise of unit variance, mean nt = randn(NB,GIlen+Ltap-1) + 1j*randn(NB,GIlen+Ltap-1); % Adding noise, the term sqrt(80/64) is to account for the wasted energy due to cyclic prefix yt = sqrt(GIlen/Ncarr)*xht + sigma*nt; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% FFT %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % reduce the cyclic prefix y_fft = yt(:,1+CPlen:GIlen); % fft z_fft = fft(y_fft,Ncarr,2)/sqrt(Ncarr); % 1/sqrt(Ncarr) should be multiplied rx = reshape(z_fft,[NB,Nfc,nGr]); tam6 = []; for mm = 1:nGr tam5 = rx(:,:,mm).'; tam6 = [tam6 reshape(tam5,1,NB*Nfc)]; end rxsua(rr,:)= tam6; end HRsua1 = reshape(HRsua,[Nrx,NB*Nfc,nGr]); rxsua1 = reshape(rxsua,[Nrx,NB*Nfc,nGr]); for nn = 1:nGr th = HRsua1(:,:,nn); Trang 101 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc tr = rxsua1(:,:,nn).'; Hdiag = []; rxx = reshape(tr,1,Nrx*NB*Nfc).'; for kkk = 1:Nrx Hdiag = [Hdiag; diag(th(kkk,:))]; end %thu =inv(Hdiag'*Hdiag+(sigma^2)*eye(NB*Nfc))*Hdiag'*rxx; %xhat1(:,nn) = Mvan'*thu; xhat1(:,nn) = ctc_giaimaMMSE(rxx,Hdiag*Mvan,sigma,sym_tab); end yy1 = reshape(xhat1,1,NB*Ncarr); ipHat(kk:kk+nS-1) = demodSymbols(yy1,M,modtype); end output = de2bi_mod(ipHat,M); end Chƣơng trình tính BER hệ thống MIMO-OFDM mã hóa LDPC STF clear all; % -% -M = 4; % Muc dieu che Ncarr = 128; NB = 1; Nsym = 10^3; % So symbol EbN0dB = 0:30; % bit to noise ratio Ntx = 2; % So anten phat Nrx = 2; Ltap = 4; % So duong fading modtype = 'psk'; N = 8*Ncarr*Nsym; % so symbol hoac bit vao data = round(rand(1, N)) ; % Number of iteration; iter = 5; %Kích th??c ma tr?n H m=256; n=512; % Mã hóa LDPC -[Ninput, newH] = LDPC(data,m,n); id = 1; for ii = 1:3:length(EbN0dB) snr = EbN0dB(ii); display(snr); rx11 = ctc_stfc(Ninput, snr, 4, 2, 2, Ncarr, 4, M, modtype); rx1 = LDPCdecode(rx11,newH,iter); % gi?i mã LDPC [num1, err1e(id)] = biterr(rx1, data); rx22 = ctc_stfc(Ninput, snr, 2, 4, 2, Ncarr, 4, M, modtype); Trang 102 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc rx2 = LDPCdecode(rx22,newH,iter); % gi?i mã LDPC [num2, err2e(id)] = biterr(rx2, data); rx33 = ctc_stfc(Ninput, snr, 2, 2, 8, Ncarr, 2, M, modtype); rx3 = LDPCdecode(rx33,newH,iter); [num3, err3e(id)] = biterr(rx3, data); rx44 = ctc_stfc(Ninput, snr, 2, 2, 2, Ncarr, 8, M, modtype); rx4 = LDPCdecode(rx44,newH,iter); [num4, err4e(id)] = biterr(rx4, data); id = id + 1; end snr = 0:3:max(EbN0dB); semilogy(snr,err1e,'rv-','LineWidth',2); hold on; semilogy(snr,err2e,'bs-','LineWidth',2); hold on; semilogy(snr,err3e,'kd-','LineWidth',2); hold on; semilogy(snr,err4e,'mo-','LineWidth',2); hold on; axis([EbN0dB([1 end]) 1e-6 1e0]); grid on; legend('STFC 4x2 NB=2 L=4 with LDPC', 'STFC 2x4 NB=2 L=4 with LDPC', 'STFC 2x2 NB=8 L=2 with LDPC','STFC 2x2 NB=2 L=8 with LDPC'); xlabel('SNR (dB)'); ylabel('BER'); str = ['He thong MIMO-OFDM STFC, cung muc phan tap 64, ma hoa LDPC, dieu che QPSK']; tle = [sprintf(str)]; title(tle); Chƣơng trình so sánh hệ thống MIMO-OFDM clear all; % -% -M = 4; % Muc dieu che Ncarr = 128; Nsym = 10^3; % So symbol EbN0dB = 0:20; % bit to noise ratio Ntx = 2; % So anten phat Nrx = 2; Ltap = 4; % So duong fading modtype = 'qam'; N = 8*Ncarr*Nsym; % so symbol hoac bit vao data = round(rand(1, N)) ; % Number of iteration; iter = 5; %Kích th??c ma tr?n H m=256; n=512; % Mã hóa LDPC Trang 103 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc [Ninput, newH] = LDPC(data,m,n); id = 1; for ii = 1:1:length(EbN0dB) snr = EbN0dB(ii); display(snr); rx1 = ctc_OFDM(data,snr,2,2,Ncarr,4, M, modtype); % MIMO-OFDM chua ma hoa [num1, err1e(id)] = biterr(rx1, data); rx2 = ctc_stfc(data, snr, 2, 2, 2, Ncarr, 4, M, modtype); %MIMO-OFDM ma hoa STF [num2, err2e(id)] = biterr(rx2, data); rx33 = ctc_stfc(Ninput, snr, 2, 2, 2, Ncarr, 4, M, modtype); % Ma hoa STF rx3 = LDPCdecode(rx33,newH,iter); % giai ma LDPC [num3, err3e(id)] = biterr(rx3, data); % rx4 = ctc_stfc(Ninput, snr, 2, 2, 2, Ncarr, 8, M, modtype); % [num4, err4e(id)] = biterr(rx33, Ninput); id = id + 1; end snr = 0:1:max(EbN0dB); semilogy(snr,err1e,'rv-','LineWidth',2); hold on; semilogy(snr,err2e,'bs-','LineWidth',2); hold on; semilogy(snr,err3e,'kd-','LineWidth',2); hold on; %semilogy(snr,err4e,'mo-','LineWidth',2); hold on; axis([EbN0dB([1 end]) 1e-6 1e0]); grid on; legend('MIMO-OFDM', 'MIMO-OFDM STFC ', 'MIMO-OFDM STFC with LDPC'); xlabel('SNR (dB)'); ylabel('BER'); str = ['So sanh he thong MIMO-OFDM, 2Tx-2Rx NB=2 L=4, dieu che 4QAM']; tle = [sprintf(str)]; title(tle); Trang 104 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [28] Nguyễn Thị Hậu, Ứng dụng mã LDPC vào hệ thống MIMO, Luận văn tốt nghiệp thạc sỹ, Trường ĐH Bách Khoa TP Hồ Chí Minh, năm 2010 Tài liệu tiếng Anh [1] Robert G.Gallager, Low-Density Parity-Check Codes., 1963 [2] I E Telatar, "Capacity of multi-antenna gaussian channels," European Trans on Telecommunications, vol 10, pp 585–595, Nov 1999 [3] V Tarokh, N eshadri, and A R Calder ank, "Space-time codes for high data rate wireless communiation: Performance criteria and code construction," IEEE Trans Inform Theory, Mar 1998 [4] Mohinder Jankiraman, Space-time Codes and MIMO Systems.: Artech House [5] M.Alamouti, "A simple transmit diversity technique for wireless communications," IEEE JSAC, vol 18, no 8, October 1998 [6] Yong Soo Cho, Jaekwon Kim, Won Young Yang, Chung-Gu Kang, MIMOOFDM wireless communications with MATLAB Korea: John Wiley & Sons (Asia) Pte Ltd, 2010 [7] A E Pusane, K Sh Zigangirov, and D J Costello, Jr, Construction of irregular LDPC codes with fast encoding property in In Proc IEEE Intl Conference, Istanbul, Turkey, June 11-15, 2006 [8] Tarokh, Vahid and Seshadri, N and Calderbank, A.R, "Space-time codes for high data rate wireless communication: performance criterion and code construction," Information Theory, IEEE Transactions on, vol 44, no 2, pp Trang 105 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc 744-765, 1998 [9] V Tarokh, H Jafarkhani, and A R Calderbank, "Space-time block codes from orthogonal designs," IEEE Transactions on Information Theory, vol vol 45, no 5, pp 1456–1467, July 1999 [10] W Su, X Xia, "On space-time block codes from complex orthogonal designs: Wireless Personal Communications.," vol vol 25, pp 1-26, Apr 2003 [11] Hamid Jafarkhani, Space time coding theory and practice University of California: Cambridge University Press 2005 [12] Branka Vucetic and Jinhong Yuan, Space Time Coding University of Sydney and University of New South Wales Australia: John Wiley and Sons, 2003 [13] Richard C Dorf, University of California, Davis, The Electrical Engineering Handbook Series: Wireless, Networking, Radar, Sensor Array Processing, and Nonlinear Signal Processing, Second edition ed.: CRC Press, 2010 [14] M.O Damen, H.ElGamal, "On maximum-likelihood detection and the search for the closest lattice point," IEEE transactions on information theory, vol vol 49, pp pp 2389-2402, October 2003 [15] V Tarokh, H Jafarkhani, and A R Calderbank, "Space-time block coding for wireless communication: Performance results," IEEE Journal on selected areas in communications, vol vol 17, no 3, pp 451 - 460, March 1999 [16] K.F Lee, D.B Williams, "A space-frequency transmitter diversity technique for OFDM systems," IEEE GLOBECOM, vol pp 1473-1477, Nov 2000 [17] H Blolcskei, A.j Paulraj, "Space-frequency coded broadband OFDM systems," Proc IEEE WCNC'OO, pp pp 1-6, Apr 2000 Trang 106 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc [18] W Su, Z Sofar, K.J Ray Liu, "Full-rate full-diversity space-frequency codes with optimum coding advantage," IEEE Trans Inform Theory, vol vol 51, pp 229-249, Jan 2005 [19] L Sho, S Roy, S Sandhu, "Rate-one space frequency block codes with maximum diversity gain for MIMO-OFDM," Proc IEEE GLOBECOM'03, pp pp 809-813, Dec 2003 [20] Kiran T and B S Rajan, "A systematic design of high-rate full-diversity space-frequency codes for MIMO-OFDM systems," IEEE Trans Inform Theory, Feb 2005 [21] Andreas A Hutter, Selim Mekrazi, Beza N Getuc, Fanny Platbrooda, "Alamouti-based space-frequency coding for OFDM," Wireless Personal Communications, vol 35: 173–185, Springer 2005 [22] W Zhang, X.-G Xia, and P Ching, "Universal Space-Frequency Block Coding for MIMO-OFDM Systems," in Proceedings of 2005 Asia-Pacific Conference on Communications, pp pp 227–231, Oct 2005 [23] Z Safar, W Su, and K J R Liu, "A fast sphere decoding algorithm for spacefrequency block codes," EURASIP J Appl Signal Process, vol vol 2006, pp pp 148–148, January 2006 [24] W Su, Z Safar, and K.J.R Liu, "Towards maximum achievable diversity in space, time and frequency: Performance analysis and code design," IEEE Trans Wireless Commun., vol 4(4), 1847–1857, July 2005 [25] Mare, Salmon and Maharaj, "Performance Gain of Space-Time-Frequency Concatenated LDPC Codes," IEEE International Conference on Communications, ISBN 978-1-4244-3435-0, June 2009 Trang 107 Luan van GVHD: PGS.TS Phạm Hồng Liên HVTH: Nguyễn Đức Phúc [26] W Zhang, X.-G Xia, and P C Ching, "High-rate full-diversity space-timefrequency codes for MIMO multipath block-fading channels," in Proceedings of IEEE Global Telecommunications Conference, GLOBECOM ’05, vol vol 3, 2005 [27] W Zhang, X G Xia, and P C Ching, "High-Rate Full-Diversity Space-TimeFrequency Codes for Broadband MIMO Block-Fading Channels," IEEE Transactions on Communications, vol vol 55, no 1, pp pp 25–34, 2007 Trang 108 Luan van S K L 0 Luan van ... Hình 5.18: Hệ thống MIMO- OFDM mã hóa LDPC STF thay đổi anten phát 85 Hình 5.19: Hệ thống MIMO- OFDM mã hóa LDPC STF thay đổi anten thu .86 Hình 5.20: Hệ thống MIMO- OFDM mã hóa LDPC STF phân tập... Mã LDPC 71 Bảng 5-2: Hệ thống MIMO – chưa mã hóa 72 Bảng 5-3: Hệ thống MIMO- OFDM - chưa mã hóa 74 Bảng 5-4: Hệ thống MIMO- OFDM mã hóa SF 78 Bảng 5-5 Hệ thống MIMO- OFDM. .. dẫn mã LDPC hệ thống MIMO- OFDM mã hóa STF lĩnh vực hấp dẫn Để xem xét độ tin cậy kênh truyền khơng dây có sử dụng mã LDPC kết hợp với kỹ thuật MIMOOFDM, nên chọn đề tài: ? ?Ứng dụng mã LDPC mã STF