1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ứng dụng mã STBC trong hệ thống MIMO - OFDM

88 9 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 0,97 MB

Nội dung

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc LỜI CAM ĐOAN Tôi tên là: Lê Thị Tuyết Vân Sinh viên lớp 07DT3, khoa Điện tử - Viễn thông Tôi xin cam đoan nội dung đồ án chép đồ án công trình có từ trước Đà Nẵng, ngày 27 tháng 05 năm 2012 Sinh viên thực Lê Thị Tuyết Vân MỤC LỤC LỜI CAM ĐOAN………………………………………………………………… i MỤC LỤC ……………………………………………………………………… ii CÁC TỪ VIẾT TẮT……………………………………………………… ………vi LỜI MỞ ĐẦU……………………………………………… ………………… viii CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT OFDM …………………… ……1 1.1 Giới thiệu chương…………… ……………………………………………… 1.2 Khái niệm OFDM……………………………………… ……………… …1 1.3 Tính trực giao………………… ………………………………………… … 1.4 Sơ đồ khối hệ thống OFDM……………………… …………………… 1.4.1 Mã hóa kênh……………………… ……………………………………….5 1.4.2 Khối xen rẽ Interleaver………………………………………………… … 1.4.3 Điều chế giải điều chế băng sở…………………………… …… 1.4.4 IFFT/FFT ……………………………… ………………………………… 1.4.5 Tiền tố lặp CP…………………………………… …………………………7 1.4.6 Biến đổi cao tần RF…………………………………………….…… …… 1.5 Cấu trúc khung liệu OFDM………………………….…… ……… 1.6 Các kỹ thuật điều chế số OFDM………………………… ………………9 1.7 Ưu, nhược điểm hệ thống OFDM……………………………… …….… 10 1.7.1 Các ưu điểm kỹ thuật OFDM……………………………… …10 1.7.2 Các nhược điểm kỹ thuật OFDM……………………… …….10 1.8 Kết luận chương………………………………………………………… … 11 CHƯƠNG 2: ĐẶC TÍNH KÊNH TRUYỀN VÀ KỸ THUẬT ƯỚC LƯỢNG KÊNH TRUYỀN MAP TRONG OFDM………………………………… …… 12 2.1 Giới thiệu chương…………………………………… ……………………….12 2.2 Đặc tính kênh truyền vô tuyến hệ thống OFDM………………… ……12 2.2.1 Kênh truyền dẫn đa đường………………… ……… 12 2.2.2 Độ trải trễ ………………………………………………………… ……….13 2.2.3 Độ ổn định tần số kênh ………………………………………………14 2.2.4 Hiệu ứng Doppler ……………………………………………………………15 2.2.5 Độ ổn định thời gian kênh ……………………… …………………15 2.3 Nhiễu hệ thống thu phát ……………………… ………………………16 2.3.1Nhiễu trắng cộng Gaussian ………………………………………… …… 16 2.3.2 Nhiễu xuyên ký tự ISI ………………………………………… ………… 16 2.3.3 Nhiễu liên sóng mang ICI ……………………………………… …………17 2.4 Kỹ thuật ước lượng kênh truyền MAP ………………………………… ……17 2.5 Kết luận chương …………………………… ……………………………… 18 CHƯƠNG 3: MÃ HÓA KHÔNG GIAN – THỜI GIAN STBC TRONG MIMO……………….19 3.1 Giới thiệu chương ……….…………………………………………………….19 3.2 Giới thiệu hệ thống MIMO ………….…………………………………… 19 3.2.1 Quá trình phát triển ……………………….……………………………… 19 3.2.2 Các kỹ thuật phân tập sử dụng hệ thống MIMO ………………… ….20 3.2.3 Các cấu hình hệ thống MIMO ……………………………… …………21 3.3 Kỹ thuật phân tập thu MRC …………………………………………… ……22 3.4 Phương pháp mã hóa không gian – thời gian …………………………… … 24 3.5 Mã STBC…………………………………………………… ……………… 24 3.5.1 Mô hình thuật toán Alamouti với anten phát, anten thu……………… 24 3.5.1.1 Mã hóa………………………………………………………………… 24 3.5.1.2 Combining………………………………………………………………….27 3.5.1.3 Maximum Likelihood Decision Rule………………………………………28 3.5.2 Mô hình phân tập anten phát, M anten thu……………………………… 28 3.5.3 Mô hình anten phát, anten thu ………………………………………… 32 3.6 Kết luận chương ……………………………………………………………….36 CHƯƠNG : MÔ PHỎNG HỆ THỐNG MIMO – OFDM SỬ DỤNG MÃ STBC……………………………………………………………………………….38 4.1 Giới thiệu chương …………………………………………………………… 38 4.2 Mô hình hệ thống ……………………………………………………… ……38 4.2.1 Hệ thống phát ……………………………………………………… …… 38 4.2.2 Mô hình kênh truyền ………………………………………………… ……40 4.2.3 Hệ thống thu ………………………………………………… ……….…….41 4.3 Các thông số mô ………………………………………… ………… 43 4.4 Lưu đồ thuật toán ……………………………………………………………44 4.5 Mô ……………………………………………………… ……………46 4.5.1 Hệ thống MIMO-OFDM sử dụng kỹ thuật phân tập phát thu với cấu hình đường Uplink ………………………………………… ………………… 46 4.5.1.1 Kết ………………………………………………… ……………… 46 4.5.1.2 Nhận xét ………………………………………………… ………………47 4.5.2 Hệ thống MIMO – OFDM với cấu hình đường Downlink …… ……48 4.5.2.1 Kết ……………………… ………………………………………… 48 4.5.2.2 Nhận xét ……………………………………………… …………………49 4.5.3 Sự phụ thuộc BER vào kiểu điều chế …………………………… … 50 4.5.3.1 Kết ……………………………………………………………………50 4.5.3.2 Nhận xét ………………………………………………………… ………50 4.5.4 Simulation vs Theory………………… ……………………………… … 51 4.5.4.1 Kết ……………………………………… ………………………… 51 4.5.4.2 Nhận xét …………………………………………… ……………………52 4.5.5 Kết luận chương ……………………………… ………………………… 52 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI ……………………… …… 53 TÀI LIỆU THAM KHẢO …………………………………………… ………….55 PHỤ LỤC …………………………………………………………………………56 CÁC TỪ VIẾT TẮT ADC Analog Digital Converter Bộ chuyển đổi tương tự sang số AWGN Additive White Gaussian Noise Nhiễu Gaussian trắng cộng BER Bit Error Rate Tỉ lệ lỗi bit BS Base Station Trạm gốc CFO Carrier Frequency Offset Độ lệch tần số sóng mang CIR Channel Impulse Response Đáp ứng xung kênh truyền CP Cyclic Prefix Tiền tố lặp DAC Digital Analog Converter Bộ chuyển đổi số sang tương tự FDM Frequency Division Multiplexing Đa truy cập phân chia theo tần số FFT Fast Fourier Transform Biến đổi Fourier nhanh ICI Inter Carrier Interference Nhiễu liên sóng mang IFFT Inverse Fast Fourier Transform Biến đổi nhanh Fourier ngược ISI Inter Symbol Interference Nhiễu xuyên ký tự MIMO Multiple Input Multiple Output Đa đầu vào, đa đầu MISO Multiple Input Single Output Đa đầu vào, đơn đầu ML Maximum Likelihood Bộ khả giống cực đại MRC Maximal Ratio Combining Bộ kết hợp tỉ số tối ưu OFDM Orthogonal Frequency Division Đa truy cập phân chia theo Multiplexing tần số trực giao PAPR Peak Average Power Ratio Tỉ số công suất đỉnh công suất trung bình RF Radio Frequency Tần số cao tần SIMO Single Input Multiple Output Đơn đầu vào, đa đầu SISO Single Input Single Output Đơn đầu vào, đơn đầu SNR Signal Noise Ratio Tỉ số tín hiệu nhiễu STBC Space Time Block Code Mã khối không gian – thời gian STTC Space Time Trellis Code Mã Trellis không gian – thời gian LỜI MỞ ĐẦU Ngày nay, việc đời thiết bị di động ngày tân tiến nhiều tiện ích phong phú khiến nhu cầu sử dụng dịch vụ liệu di động ngày tăng cao, đòi hỏi tốc độ chất lượng dịch vụ di động phải đáp ứng kịp Đứng trước thách thức đó, công nghệ đột phá đẩy mạnh phát triển hệ thống thông tin di động sử dụng nhiều anten trạm phát lẫn trạm thu MIMO Đồng thời đời kỹ thuật ghép kênh phân chia theo tần số trực giao – OFDM bước tiến truy cập vô tuyến băng rộng Cùng với kỹ thuật OFDM, nhiều kỹ thuật ước lượng kênh truyền áp dụng để bên thu nắm thông tin kênh truyền tác động kênh truyền đến tín hiệu Nhờ việc giải mã xác nâng cao chất lượng dịch vụ di động Để tiếp cận phát triển ngành công nghệ viễn thông nay, đồ án tốt nghiệp tập trung nghiên cứu khảo sát mảng kỹ thuật MIMO là: ỨNG DỤNG MÃ STBC TRONG HỆ THỐNG MIMO - OFDM Đồ án đưa vào hệ thống số lượng anten phát cao 4, với cấu hình 4x2 4x4, cấu hình có số lượng anten lớn hệ thống Bên canh tiến hành so sánh kết mô kết theo lý thuyết Đây điều mà đồ án trước chưa làm Phương pháp nghiên cứu xuyên suốt đồ án xây dựng lưu đồ thuật toán, tính toán mô phỏng, để từ minh hoạ cho hệ thống thông tin di động áp dụng kỹ thuật công nghệ Để thực nội dung đó, đồ án kết cấu thành chương: Chương 1: Tổng quan kỹ thuật OFDM Chương trình bày lý thuyết OFDM gồm tính trực giao sóng mang, nguyên tắc chèn CP để tránh nhiễu ISI, ICI fading đa đường, sơ đồ khối hệ thống OFDM chức khối Chương trình bày ưu, nhược điểm kỹ thuật OFDM Chương 2: Đặc tính kênh truyền kỹ thuật ước lượng kênh MAP OFDM Thông tin liên lạc mạng chịu ảnh hưởng lớn từ kênh truyền vô tuyến Chương trình bày tác động kênh vô tuyến lên tín hiệu phương pháp ước lượng kênh truyền MAP cho việc khôi phục liệu Chương 3: Mã hóa không gian thời gian STBC MIMO Một hệ thống thông tin di động truyền thống sử dụng anten phát anten thu khắc phục triệt để ảnh hưởng kênh fading đa đường lên tín hiệu Chương trình bày kỹ thuật phân tập mô hình toán học kỹ thuật phân tập mã hóa theo không gian-thời gian STBC Chương 4: Mô hệ thống MIMO-OFDM sử dụng mã STBC Để hiểu rõ cấu trúc hệ thống mô hình toán học, chương thực mô hệ thống chương trình MATLAB Từ rút số nhận xét Do điều kiện thời gian kiến thức hạn hẹp nên đồ án không tránh khỏi thiếu sót Rất mong nhận góp ý thầy cô Để hoàn thành đồ án em xin chân thành cảm ơn giúp đỡ thầy Nguyễn Duy Nhật Viễn thầy cô khoa Điện tử - Viễn thông Đà Nẵng, ngày 27 tháng 05 năm 2012 Sinh viên thực Lê Thị Tuyết Vân CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT OFDM 1.1 Giới thiệu chương: Kỹ thuật ghép kênh phân chia theo tần số trực giao OFDM trường hợp đặc biệt phương pháp điều chế đa sóng mang sóng mang phụ trực giao với Kỹ thuật OFDM ứng dụng nhiều mạng thông tin di động tốc độ cao Chương trình bày đặc điểm, thông số kỹ thuật mô hình toán học kỹ thuật OFDM 1.2 Khái niệm OFDM: Nguyên lý OFDM chia luồng liệu tốc độ cao thành luồng liệu tốc độ thấp phát đồng thời số sóng mang trực giao.Các sóng mang lựa chọn với khoảng cách tần số nhỏ thỏa mãn tính trực giao sóng miền thời gian Nhờ phổ tín hiệu sóng mang cho phép chồng lấn lên mà phía thu khôi phục lại tín hiệu ban đầu Một tín hiệu OFDM gồm số lượng lớn sóng mang có khoảng cách gần Khi điều chế tín hiệu thoại, liệu, … lên sóng mang, phổ chúng chồng lấn lên Điều cần thiết máy thu phải nhận toàn tín hiệu giải điều chế xác liệu Với kỹ thuật trước FDM, tín hiệu truyền gần chúng phải tách biệt để máy thu tách rời chúng lọc phải có khoảng băng bảo vệ chúng Tuy nhiên với cải tiến OFDM, phổ sóng mang chồng lấn lên nhau, chúng đến máy thu mà không bị nhiễu chúng có tính trực giao với cir_ma =zeros(length(x(:,1)),L,2); for l=1:2 for ll=1:L cir_ma(:,ll,l) = circshift(x(:,l),ll-1); end end function [data_sym_index] = data_sym_index_gen(burst_len,pilot_sym); data_sym_index_temp = [1:burst_len]; index = 0; for kk = 1:length(data_sym_index_temp) mm = 0; for ll = 1:length(pilot_sym) if data_sym_index_temp(kk) == pilot_sym(ll) mm = mm + 1; break; end end if mm ==0 index = index +1; data_sym_index(index) = data_sym_index_temp(kk); end end function [b] = dec2bin(d,size) b = zeros(size,1); b(1,1) = mod(d,2); coe = 2.^[0:size-1]; if size > for k =2:size temp = d- coe(1:k-1)*b(1:k-1,1); if temp > b(k,1) = mod(temp/coe(k),2); else end break; end end function [ QAMbintab, QAMcplxtab ] = make_tables( N, QAM_in ) %UNTITLED Summary of this function goes here % Detailed explanation goes here %create a binary decode table for QAM_in input QAMbintab = zeros(size(QAM_in,1), size(QAM_in,2), N); for u=1:size(QAM_in,1) for v=1:size(QAM_in,2) QAMbintab(u,v,:)=dec2bin(QAM_in(u,v),N); professor's "dec2bin" function end end %============== %must use the %complex symbols table creator r = size(QAM_in,1); c = size(QAM_in,2); QAMcplxtab = zeros(r,c); for k=-(r-1):2:(r-1) for l=-(c-1):2:(c-1) QAMcplxtab((k+r-1)/2+1,(l+c-1)/2+1) = l - 1i*k; end end %============== end function [ row, column ] = nearestIndex( CPLX_in, CPLX_table ) %this function compute the indices of value in the CPLX_table which best approximate %the CPLX_in value tmptab = abs(CPLX_in-CPLX_table).^2; row = 1; column = 1; tmpval = tmptab(1,1); for u=1:size(CPLX_table,1) for v=1:size(CPLX_table,2) if tmptab(u,v) < tmpval; row = u; column = v; tmpval = tmptab(u,v); end end end function [QAM_sym] = MQAM_modulator(bit_tupple) tupple_Len = length(bit_tupple(:,1)); burst_len = length( bit_tupple(1,:) ); %[int_value] = two_bit_to_int(two_bits); QAM_sym = zeros(1,burst_len); for sam =1:burst_len if tupple_Len == %M = QAM_sym(sam) = 2*bit_tupple(1,sam) -1; elseif tupple_Len == %M = QAM_sym(sam) = (2*bit_tupple(1,sam) -1) +1i*(2*bit_tupple(2,sam) -1); elseif tupple_Len == %M = QAM_sym(sam) = 2*bit_tupple(1,sam) -1+ 1i*sign(bit_tupple(2,sam)0.5)*(-2*bit_tupple(3,sam) +3); elseif tupple_Len == %M = 16 QAM_sym(sam) = sign(bit_tupple(1,sam)-0.5)*(-2*bit_tupple(2,sam) +3) + 1i*sign(bit_tupple(3,sam)-0.5)*(-2*bit_tupple(4,sam) +3); elseif tupple_Len == %M = 32 QAM_sym(sam) = sign(bit_tupple(1,sam)-0.5)*(-2*bit_tupple(2,sam) +3) + 1i*sign(bit_tupple(3,sam)0.5)*two_bit_to_int(bit_tupple(4:5,sam)); elseif tupple_Len == %M = 64 QAM_sym(sam) = sign(bit_tupple(1,sam)0.5)*two_bit_to_int(bit_tupple(2:3,sam)) + 1i*sign(bit_tupple(4,sam)0.5)*two_bit_to_int(bit_tupple(5:6,sam)); elseif tupple_Len == %M = 128 QAM_sym(sam) = sign(bit_tupple(1,sam)0.5)*two_bit_to_int(bit_tupple(2:3,sam)) + 1i*(sign(bit_tupple(4,sam)-0.5)*8 sign(bit_tupple(4,sam)-0.5)*sign(bit_tupple(5,sam)0.5)*two_bit_to_int(bit_tupple(6:7,sam))); elseif tupple_Len == %M = 256 QAM_sym(sam) = sign(bit_tupple(1,sam)-0.5)*8 sign(bit_tupple(1,sam)-0.5)*sign(bit_tupple(2,sam)0.5)*two_bit_to_int(bit_tupple(3:4,sam)) + 1i*(sign(bit_tupple(5,sam)-0.5)*8 sign(bit_tupple(5,sam)-0.5)*sign(bit_tupple(6,sam)0.5)*two_bit_to_int(bit_tupple(7:8,sam))); end end function [recovered_bits] = MQAM_Demodulator(sig,M) num_sam = length(sig); if M == %bits:0 s = [-1 1]; for sam = 1:num_sam [distance,min_index] = min( abs( sig(sam) - s ).^2 ); recovered_bits(sam) = min_index-1; end %================================================================= elseif M == %bits:00 10 01 11 s = [-1-1i 1-1i -1+1i 1+1i]; for sam = 1:num_sam [distance,min_index] = min( abs( sig(sam) - s ).^2 ); recovered_bit_temp(1:2,sam) = dec2bin(min_index-1,2); end recovered_bits = reshape(recovered_bit_temp,1,2*(num_sam)); %================================================================= elseif M == %new load QAM8dectab.mat [QAMbintab, QAMcplxtab] = make_tables(3,QAM_in); recovered_bits = []; for sam = 1:num_sam [y, x] = nearestIndex(sig(sam),QAMcplxtab); recovered_bits = horzcat(recovered_bits, reshape(QAMbintab(y, x, :), 1, 3)); end %================================================================= elseif M == 16 %new load QAM16dectab.mat [QAMbintab, QAMcplxtab] = make_tables(4,QAM_in); recovered_bits = []; for sam = 1:num_sam [y, x] = nearestIndex(sig(sam),QAMcplxtab); recovered_bits = horzcat(recovered_bits, reshape(QAMbintab(y, x, :), 1, 4)); end %================================================================= elseif M == 32 %new load QAM32dectab.mat [QAMbintab, QAMcplxtab] = make_tables(5,QAM_in); recovered_bits = []; for sam = 1:num_sam [y, x] = nearestIndex(sig(sam),QAMcplxtab); recovered_bits = horzcat(recovered_bits, reshape(QAMbintab(y, x, :), 1, 5)); end %================================================================= elseif M == 64 %new load QAM64dectab.mat [QAMbintab, QAMcplxtab] = make_tables(6,QAM_in); recovered_bits = []; for sam = 1:num_sam [y, x] = nearestIndex(sig(sam),QAMcplxtab); 6)); recovered_bits = horzcat(recovered_bits, reshape(QAMbintab(y, x, :), 1, end %================================================================= elseif M == 128 %new load QAM128dectab.mat [QAMbintab, QAMcplxtab] = make_tables(7,QAM_in); recovered_bits = []; for sam = 1:num_sam [y, x] = nearestIndex(sig(sam),QAMcplxtab); recovered_bits = horzcat(recovered_bits, reshape(QAMbintab(y, x, :), 1, 7)); end %================================================================= elseif M==256 %new load QAM256dectab.mat [QAMbintab, QAMcplxtab] = make_tables(8,QAM_in); recovered_bits = []; for sam = 1:num_sam [y, x] = nearestIndex(sig(sam),QAMcplxtab); recovered_bits = horzcat(recovered_bits, reshape(QAMbintab(y, x, :), 1, 8)); end end function [int_value] = two_bit_to_int(two_bits) if sum(abs(two_bits - [0 int_value = 7; elseif sum(abs(two_bits int_value = 5; elseif sum(abs(two_bits int_value = 3; elseif sum(abs(two_bits int_value = 1; end ; 0])) == [0 ; 1])) == [1 ; 1])) == [1 ; 0])) == Chương trình mô cấu hình đường downlink với anten phát ( anten thu anten thu ): 2.1 Chương trình chính: clear all; N_trial =300; % number of simulation trials SNR = [0:2:30]; M_QAM = 4; % MQAM modulation level used subcarr_len = log2(M_QAM); % number of bits per subcarrier/MQAM constellation point N_sym=10; sym_pos = [1:N_sym]; % position indices of all considered (data/pilot) OFDM symbols pilot_pos = [2:8:10]; % positions of pilot OFDM symbols in a burst of considered OFDM symbols data_pos = data_sym_index_gen(N_sym,pilot_pos); % generate positions of data OFDM symbols (given the pilot OFDM symbols' position) N_data_sym = length(data_pos); % number of data OFDM symbols in a considered burst N_pilot_sym = length (pilot_pos); % number of used pilot OFDM symbols %============== OFDM settings -L = 10; % number of resolvable multipaths < N_cp N_fft =512; % FFT size used, must be set according to the PILOT pre-generated

Ngày đăng: 24/06/2016, 17:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w