Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 117 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
117
Dung lượng
1,62 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGÔ MINH QUANG NGHIÊN CỨU CÁC GIẢI PHÁP NÂNG CAO HIỆU QUẢ SỬ DỤNG BĂNG THÔNG CỦA HỆ THỐNG MIMO, MIMO-OFDM Chuyên ngành: KỸ THUẬT TRUYỀN THÔNG LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC TS NGUYỄN QUỐC KHƯƠNG Hà Nội – Năm 2013 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM MỤC LỤC MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU 10 Tính cấp thiết đề tài 10 Lịch sử nghiên cứu 10 Mục đích, đối tượng phạm vi nghiên cứu 10 Tóm tắt điểm luận văn 10 Phương pháp nghiên cứu 11 CHƯƠNG 1Đặc điểm môi trường truyền dẫn sóng vô tuyến mô hình kênh truyền 12 1.1 Đặc điểm môi trường truyền sóng vô tuyến 12 1.1.1 Suy hao đường truyền 12 1.1.2 Hiện tượng Multipath-Fading 13 1.1.3 Kênh truyền fading chọn lọc tần số kênh truyền fading phẳng 15 1.1.4 Kênh truyền biến đổi nhanh kênh truyền biến đổi chậm 19 1.1.5 Kênh truyền Rayleigh kênh truyền Ricean 21 1.2 Các phương thức ghép kênh 23 1.2.1 Ghép kênh theo tần số FDM 24 1.2.2 Ghép kênh theo thời gian TDM 24 1.2.3 Ghép kênh theo mã CDM 25 1.2.4 Ghép kênh theo tần số trực giao OFDM 25 1.3 Các mô hình kênh vô tuyến 25 1.3.1 Hệ thống SISO 26 1.3.2 Hệ thống SIMO 27 1.3.3 Hệ thống MISO 27 1.3.4 Hệ thống MIMO 27 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM CHƯƠNG Kỹ thuật OFDM 29 2.1 Nguyên lý kỹ thuật OFDM 29 2.1.1 Sóng mang trực giao 29 2.1.2 Mô hình hệ thống OFDM 30 2.2 Ưu điểm nhược điểm OFDM 44 2.2.1 Ưu điểm 44 2.2.2 Nhược điểm 45 CHƯƠNG Mã hóa không gian thời gian hệ thống MIMO 46 3.1 Hệ thống MIMO 46 3.1.1 Mô hình hệ thống MIMO 46 3.1.2 Dung lượng hệ thống MIMO 47 3.2 Mã hóa không gian-Thời gian STC 53 3.2.1 Mã hóa không gian thời-gian khối STBC 53 3.2.2 Mã hóa không gian-thời gian lới STTC 61 3.2.3 Mã hóa không gian-thời gian lớp BLAST 64 CHƯƠNG Mã hóa không gian thời gian hệ thống MIMO-OFDM 80 4.1 Mô hình hệ thống MIMO-OFDM 80 4.2 Mô hình hệ thống MIMO-OFDM Alamouti 82 4.3 Mô hình hệ thống MIMO-OFDM V-BLAST 86 CHƯƠNG Xây dựng hệ thống truyền thông hai máy tính sử dụng công nghệ MIMO-OFDM 91 5.1 Mô tả hệ thống 91 5.2 Giao diện hệ thống 91 5.2.1 Giao diện phía phát 91 5.2.2 Giao diện thu 93 5.3 Kết mô 94 Kết luận hướng phát triển đề tài 98 Tài Liệu Tham Khảo 101 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM LỜI CAM ĐOAN Đề tài luận văn “Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM” đề tài độc lập nghiên cứu Tôi cam đoan công trình nghiên cứu riêng 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 Hà nội, tháng năm 2013 NGÔ MINH QUANG Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM LỜI CẢM ƠN Em xin bày tỏ lòng biết ơn sâu sắc tới Thầy TS Nguyễn Quốc Khương tận tình hướng dẫn, hết lòng giúp đỡ em suốt trình, nghiên cứu để hoàn thành luận văn Em xin trân trọng cảm ơn thầy, cô giáo Viện Điện tử Viễn thông, Viện Sau Đại học trường Đại học Bách Khoa Hà Nội tạo điều kiện thuận lợi cho em trình học tập, thực hoàn thành luận văn Đồng thời em xin gửi lời cảm ơn gia đình, đồng nghiệp, bạn bè tạo điều kiện tốt để em hoàn thành luận văn Tuy cố gắng, luận văn nhiều thiếu sót, mong nhận góp ý để đề tài hoàn thiện Hà Nội, ngày 27 tháng năm 2013 Người viết Ngô Minh Quang Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM DANH MỤC CÁC TỪ VIẾT TẮT A/D Analog to Digital AFC Auto-Correlation Function ADSL Asymmetric Digital Subscriber Line AEX Average Excess Delay AWGN Additive White Gaussian Noise BER Bit Error Rate BLAST Bell-Laboratories Layered Space-Time Code BPF Band Pass Filter BPSK Binary Phase Shift Keying BS Base Station CDM Code Division Multiplexing CSI Channel State Information D/A Digital to Analog DAB Digital Analog Broadcasting D-BLAST Diagonal- Bell-Laboratories Layered Space-Time Code DFT Discrete Fourier Transform DPSK Differential Phase Shift Keying DVB -H Digital Video Broadcasting - Handheld DVB -T Digital Video Broadcasting – Terrestrial FDM Frequency Division Multiplexing FEC Forward Error Correction FFT Fast Fourier Transform FIR Finite Impluse Response HDSL Hight-bir-rate Digital Subscriber Line HiperLAN2 High Performance Radio Local Area Network Type ICI InterCarrier Interference Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM IDFT Inverse Discrete Fourier Transform IEEE Institute of Electrical and Electronics Engineers IFFT Inverse Fast Fourier Transform I.I.D Independent and Identically Distributed ISI InterSymbol Interference LAN Local Area Network LOS Light Of Sight LPF Low Pass Filter MIMO Multiple Input Muliple Output MISO Multiple Input single Output ML Maximum Likelihood MMSE Minimum Mean Sqare Error MMSE-IC MMSE-Interference Cancellation MS Mobile Station NLOS Non Light Of Sight OFDM Orthogonal Frequency Division Multiplexing P/S Parallel to Serial PAPR Peak to Average Power Ratio PDF Probability Density Function QAM Quadrature Amplitute Modulation QPSK Quadrature Phase Shift Keying RF Radio Frequency SIMO Single Input Multiple Output SISO Single Input Single Output S/P Serial to Parallel SINR Signal to Interference plus Noise Ratio SC SingleCarrier Communication Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM STBC Space-Time Block Code STMLD Space-Time Maximum Likelihood Decoder TGn Task Group N V-BLAST Vertical-Bell-Laboratories Layered Space-Time WSSUS Wide Sense Stationary Uncorrelated Scatter ZF Zero-Forcing ZF-OIC Zero-Forcing – Ordered Interference Cancellation Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM DANH MỤC CÁC HÌNH VẼ Hình 1.1 Các tượng xảy trình truyền sóng 13 Hình 1.2 Kênh truyền chọn lọc tần số biến đổi theo thời gian 14 Hình 1.3 Đáp ứng tần số kênh truyền .15 Hình 1.4 Tín hiệu tới phía thu theo L đường .16 Hình 1.5 Kênh truyền thay đổi thao thời gian .19 Hình 1.6 Hàm mật độ xác suất Rayleigh Ricean 23 Hình 1.7 Các phương thức ghép kênh 24 Hình 1.8 Phân loại hệ thống thông tin không dây 26 Hình 2.1 Ba tín hiệu sin trực giao 29 Hình 2.1 cho ta thấy phổ tín hiệu xsymbol(t) .30 Hình 2.2 Sơ đồ khối hệ thống OFDM 30 Hình 2.3 Bộ S/P P/S 31 Hình 2.4 Bộ Mapper Demapper 32 Hình 2.5 Bit Symbol 33 Hình 2.6 Giản đồ chòm 2-PSK 16-PSK .34 Hình 2.7 Sơ đồ điều chế giải điều chế DBPSK 35 Hình 2.8 Giản đồ chồm QAM 35 Hình 2.9 Bộ IFFT FFT 36 Hình 2.10 Bộ Guard Interval Insertion Guard Interval Removal .37 Hình 2.11 Đáp ứng xung kênh truyền frequency selective fading 38 Hình 2.12 Tín hiệu chèn khoảng bảo vệ .39 Hình 2.13 Bộ A/D D/A 41 Hình 2.14 Bộ Up-Converter Down-Converter 42 Hình 2.15 Bộ Equalizer miền tần số 44 Hình 3.1 Hình trực quan hệ thống MIMO .46 Hình 3.2 N Kênh truyền nhiễu Gauss trắng song song 47 Hình 3.3 Hệ kênh truyền nhiễu Gauss trắng song song tương đương 49 Hình 3.4 Sơ đồ hệ thống MIMO biết CSI nơi phát thu 50 Hình 3.5 Định lý Waterfilling .51 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM Hình 3.6 Phân phối công suất SNR cao 51 Hình 3.7 Phân phối công suất SNR thấp 52 Hình 3.8 Sơ đồ Alamouti anten phát anten thu 54 Hình 3.9 Các symbol phát thu sơ đồ Alamouti .54 Hình 3.8 Sơ đồ Alamouti anten phát M anten thu 58 Hình 3.9 Sơ đồ mã lưới 62 Hình 3.10 Bộ mã lưới k = 1, K = n = 63 Hình 3.11 Lưới mã sơ đồ trạng thái với k = 1, K = n = 63 Hình 3.12 Hệ thống V-BLAST .65 Hình 3.13 Máy thu V-BLAST Zero-forcing 71 Hình 3.14 Máy thu V-BLAST Zero-forcing theo thứ tự tối ưu 72 Hình 3.15 Máy thu V-BLAST MMSE 78 Hình 4.1 Mô hình hệ thống MIMO-OFDM 80 Hình 4.2 Ma trận kênh truyền .82 Hình 4.3 Máy phát MIMO–OFDM Alamouti .82 Hình 4.4 Máy thu MIMO-OFDM Alamouti 83 Hình 4.5 Máy phát MIMO-OFDM VBLAST .87 Hình 4.6 Máy thu MIMO-OFDM VBLAST 89 Hình 4.7 ZF/MMSE Decoder 90 Hình 5.1 Giao diện hệ thống phát 92 Hình 5.2 Giao diện hệ thống thu 93 Hình 5.3 Hệ thống hoạt động phía phát 95 Hình 5.4 Kết phía thu với SNR = 30dB 96 Hình 5.5 Kết phía thu với SNR = 10dB 97 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM fid=fopen(path,'r'); y=fread(fid); L=length(y) s=[]; %yb=[]; for i=1:L s=[s dec2hex(y(i),2)]; end y=[]; L=length(s); for i=1:L y=[y hex2dec(s(i))]; end d=mod(length(y),N_D); if d~=0 zz=zeros(1,N_D-d); y=[y zz]; end y=qammod(y,M_ary); L=length(y)/N_D; data=[]; for i=1:L data=[data;y((i-1)*N_D+1:i*N_D)]; end [m,n]=size(data); % Zeros Insert zr=(NFFT-N_D) ; z1=zeros(m,zr); data=[ - data z1]; 102 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM % -% Preparing pilot pattern % -PP_A1=Pilot; %%%%%%%%%%%%555555555555 dataP=[]; for i=1:m if mod(i,D_t)==1 dataP=[dataP;PP_A1]; dataP=[dataP;data(i,:)]; else dataP=[dataP;data(i,:)]; end end [mp,np]=size(dataP); % -% calculate IFFT for OFDM Symbol combination with that % Pulse shaping after dataIFFT=[]; for i=1:mp % dataIFFT=[dataIFFT; ifft(dataP(i,:))]; dataIFFT=[dataIFFT; ifft([0 dataP(i,:) fliplr(conj(dataP(i,:)))])]; end [mp,np]=size(dataIFFT); % -% Copy GI % -dataGI=[dataIFFT(:,np-GI+1:np) dataIFFT]; dataGI=dataGI.'; dd=dataGI(:); yy=real(dd); yy=[chuoi_dongbo;yy]; wavplay(yy,44100); 103 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM axes(handles.axes1); plot(yy); end % - Executes on button press in reset function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.disp_txt,'String','Show Text'); set(handles.edit_mod,'String',num2str(16)); set(handles.No_datasubs,'String',num2str(48)); set(handles.edit_pro,'String',num2str(16)); set(handles.edit_fft,'String',num2str(64)); set(handles.load,'String','Load'); path=0; savefile='pqfile.mat'; save(savefile,'path'); cla(handles.axes1); function disp_txt_Callback(hObject, eventdata, handles) % hObject handle to disp_txt (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of disp_txt as text % str2double(get(hObject,'String')) returns contents of disp_txt as a double % - Executes during object creation, after setting all properties function disp_txt_CreateFcn(hObject, eventdata, handles) % hObject handle to disp_txt (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end 104 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM function edit_mod_Callback(hObject, eventdata, handles) % hObject handle to edit_mod (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_mod as text % str2double(get(hObject,'String')) returns contents of edit_mod as a double nummod = str2double(get(hObject,'String')); if isnan(nummod) || ~isreal(nummod) % isdouble returns NaN for non-numbers and nummod cannot be complex % Disable the Transfer button and change its string to say why set(handles.transfer,'String','Cannot transfer') set(handles.transfer,'Enable','off') % Give the edit text box focus so user can correct the error uicontrol(hObject) else % Enable the Transfer button with its original name set(handles.transfer,'String','Transfer') set(handles.transfer,'Enable','on') end % - Executes during object creation, after setting all properties function edit_mod_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_mod (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_pro_Callback(hObject, eventdata, handles) % hObject handle to edit_pro (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_pro as text % str2double(get(hObject,'String')) returns contents of edit_pro as a double numpro = str2double(get(hObject,'String')); 105 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM if isnan(numpro) || ~isreal(numpro) % isdouble returns NaN for non-numbers and numpro cannot be complex % Disable the Transfer button and change its string to say why set(handles.transfer,'String','Cannot transfer') set(handles.transfer,'Enable','off') % Give the edit text box focus so user can correct the error uicontrol(hObject) else % Enable the Transfer button with its original name set(handles.transfer,'String','Transfer') set(handles.transfer,'Enable','on') end % - Executes during object creation, after setting all properties function edit_pro_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_mod (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_fft_Callback(hObject, eventdata, handles) % hObject handle to edit_fft (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_fft as text % str2double(get(hObject,'String')) returns contents of edit_fft as a double numfft = str2double(get(hObject,'String')); if isnan(numfft) || ~isreal(numfft) % isdouble returns NaN for non-numbers and numfft cannot be complex % Disable the Transfer button and change its string to say why set(handles.transfer,'String','Cannot transfer') set(handles.transfer,'Enable','off') % Give the edit text box focus so user can correct the error uicontrol(hObject) else % Enable the Transfer button with its original name set(handles.transfer,'String','Transfer') set(handles.transfer,'Enable','on') end 106 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM % - Executes during object creation, after setting all properties function edit_fft_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_mod (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end 5.4.2 Code chương trình phia thu function varargout = reciever(varargin) % RECIEVER MATLAB code for reciever.fig % RECIEVER, by itself, creates a new RECIEVER or raises the existing % singleton* % % H = RECIEVER returns the handle to a new RECIEVER or the handle to % the existing singleton* % % RECIEVER('CALLBACK',hObject,eventData,handles, ) calls the local % function named CALLBACK in RECIEVER.M with the given input arguments % % RECIEVER('Property','Value', ) creates a new RECIEVER or raises the % existing singleton* Starting from the left, property value pairs are % applied to the GUI before reciever_OpeningFcn gets called An % unrecognized property name or invalid value makes property application % stop All inputs are passed to reciever_OpeningFcn via varargin % % *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one % instance to run (singleton)" % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help reciever % Last Modified by GUIDE v2.5 24-Sep-2013 22:01:29 107 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @reciever_OpeningFcn, 'gui_OutputFcn', @reciever_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before reciever is made visible function reciever_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to reciever (see VARARGIN) % Choose default command line output for reciever handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes reciever wait for user response (see UIRESUME) % uiwait(handles.figure1); % - Outputs from this function are returned to the command line function varargout = reciever_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure 108 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM varargout{1} = handles.output; % - Executes on button press in reciever function reciever_Callback(hObject, eventdata, handles) % hObject handle to reciever (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %RECEIVER Summary of this function goes here % Detailed explanation goes here N_D=18; % The number of subcarrier data M_ary=16; % Number of QAM modulation level NFFT=64; P_A = 1; % Amplitude of pilot symbol D_f=2; D_t=5; %Distance in time domain for Pilot insertion GI=16; dodai_dongbo= 500; tanso_tieude = 15; t1=[0:dodai_dongbo-1]'; chuoi_dongbo = 0.45*sin(2*pi*tanso_tieude/dodai_dongbo*t1.^2); Mask=[ones(1,N_D) zeros(1,NFFT-N_D)]; Pilot=[1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 ]; PP_A1=Pilot ; %%%%%%%%%%%%%%%%%% % %receiver signal z=wavrecord(6*44100,44100,2); z2=z(:,1); z=z(:,2); snr=get(handles.snr,'String'); snr=str2double(snr); z2=awgn(z2,snr,'measured','DB'); z=awgn(z,snr,'measured','DB'); axes(handles.axes3); plot(z); axes(handles.axes13); plot(z2); 109 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM %Upsample=1; k=1; % Starting point sample %z=z(:,1)+j*z(:,2); ymin=0; ymax=0; for i=1:length(z) if (z(i)> 0.2) ymin=i; break; end end for i=length(z):-1:1 if(z(i)> 0.2) ymax=i; break; end end y=z(ymin-60:ymax+150); y2=z2(ymin-60:ymax+150); tq=xcorr2(y,chuoi_dongbo); [bd_dongbo batdau] = max(abs(tq)); start_point=batdau+1 %%%%%%%%%% %y=y(start_point:length(y)); K=2*NFFT+GI+1; start_point start_point+ymax-ymin-K y=y(start_point:ymax-ymin-K); y2=y2(start_point:ymax-ymin-K); K=2*NFFT+GI+1; L=length(y)/K; y=y.'; y2=y2.'; dataGI=[]; dataGI2=[]; for i=1:L dataGI=[dataGI;y((i-1)*K+1:i*K)]; 110 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM dataGI2=[dataGI2;y2((i-1)*K+1:i*K)]; end % -Remove GI [m,n]=size(dataGI) dataP=dataGI(:,GI+1:n); dataP2=dataGI2(:,GI+1:n); % -[mp,np]=size(dataP) Pr=[]; Pr2=[]; dataFFT=[]; dataFFT2=[]; dataFFT_MRC=[]; for i=1:mp if mod(i,D_t+1)==1 Pr= dataP(i,:); Pr2= dataP2(i,:); H=fft(Pr)./([0 PP_A1 fliplr(conj(PP_A1))]); H2=fft(Pr2)./([0 PP_A1 fliplr(conj(PP_A1))]); H_MRC=[H;H2]; else Y1=fft(dataP(i,:)); R1=Y1./H; dataFFT=[dataFFT;R1(2:NFFT+1)]; Y2=fft(dataP2(i,:)); R2=Y2./H2; dataFFT2=[dataFFT2;R2(2:NFFT+1)]; Y=[Y1;Y2]; R_MRC=(diag(H_MRC'*Y)./diag(H_MRC'*H_MRC)).'; dataFFT_MRC=[dataFFT_MRC;R_MRC(2:NFFT+1)]; end end % Zero Remove yy=[]; yy2=[]; for i=1:NFFT if Mask(i)==1 111 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM yy=[yy dataFFT(:,i)]; yy2=[yy2 dataFFT_MRC(:,i)]; % yy2=[yy2 dataFFT2(:,i)]; end end % -yy=yy.'; yy=yy(:); axes(handles.axes2) scatter(real(yy),imag(yy),'.'); yy2=yy2.'; yy2=yy2(:); axes(handles.axes1) scatter(real(yy2),imag(yy2),'.'); % Demodulation yy=qamdemod(yy,M_ary) ; yy2=qamdemod(yy2,M_ary) ; % Convert to ASCII L=length(yy); y=[]; y2=[]; for i=1:L y=[y dec2bin(yy(i),4)]; y2=[y2 dec2bin(yy2(i),4)]; end t=num2str(y'); t2=num2str(y2'); st=[]; st2=[]; for i=1:length(t)/8 st=[st char(bin2dec(t((i-1)*8+1:i*8)'))]; st2=[st2 char(bin2dec(t2((i-1)*8+1:i*8)'))]; end set(handles.disp_txt,'String',st); set(handles.disp_txt2,'String',st2); 112 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM % - Executes on button press in reset function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cla(handles.axes1); cla(handles.axes2); cla(handles.axes3); clc; set(handles.disp_txt,'String','Show text'); set(handles.edit_mod,'String',num2str(16)); set(handles.edit_pro,'String',num2str(16)); set(handles.edit_fft,'String',num2str(64)); % - Executes during object creation, after setting all properties function axes3_CreateFcn(hObject, eventdata, handles) % hObject handle to axes3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate axes3 function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit5 as text % str2double(get(hObject,'String')) returns contents of edit5 as a double % - Executes during object creation, after setting all properties function edit5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end 113 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM function disp_txt2_Callback(hObject, eventdata, handles) % hObject handle to disp_txt2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of disp_txt2 as text % str2double(get(hObject,'String')) returns contents of disp_txt2 as a double % - Executes during object creation, after setting all properties function disp_txt2_CreateFcn(hObject, eventdata, handles) % hObject handle to disp_txt2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function snr_Callback(hObject, eventdata, handles) % hObject handle to snr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of snr as text % str2double(get(hObject,'String')) returns contents of snr as a double % - Executes during object creation, after setting all properties function snr_CreateFcn(hObject, eventdata, handles) % hObject handle to snr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end 114 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM Tài Liệu Tham Khảo [1.] Shinsuke Hara, Ramjee Prasad, “Multicarrier Techniques for 4G Mobile“, Artech House, ISBN 1-58053-482-1, 2003 [2.] Ramjee Prasad, “OFDM for Wireless Communications Systems”, Artech House, ISBN 1-58053-796-0, 2004 [3.] Nguyễn Văn Tèo, Box “Wireless Communication”, Forum TTVNOL http://www.ttvnol.com/dtvt/86543.ttvn [4.] Wikipedia http://en.wikipedia.org/wiki/Orthogonal_frequency_division_multiplexing [5.] Cheng-Xiang Wang, Nguyen Van Duc, “Theory And Applications Of The OFDM Technique”, Nhà xuất khoa học kỹ thuật [6.] Hiroshi Harada, Ramijee Prasad, ”Simmulation and Software Radio for Mobile Communications”, Artech House, ISBN 1-58053-044-3 [7.] Hoàng Đình Chiến, “Mạch Điện Tử Thông Tin”, Nhà Xuất Bản ĐH Quốc Gia TP HỒ Chí Minh, 2004 [8.] Inaki Berenguer*, Xiaodong Wang, “ Space-Time Coding and Signal Processing for MIMO Communications” [9.] Gordon L Stuber, John R Barry Steven W Mclaughlin, Ye Li, Mary Ann Ingram, Thomas G Pratt, “Broadband MIMO-OFDM Wireless Communications” [10.] David Tse, Pramod Viswanath “ Fundamentals of Wireless Communication“ Cambridge University Press, ISBN-10 0-521-84527-0 [11.] P.W.Wolniansky, G.J.Foschini, G.D.Golden, R.A.Valenzuela, “V-blast: An architecture for realizing very high data rates over the rich-scattering wireless channel”, in:Proc.URSI international Symposium on Signals, Systems, and Electronics (ISSSE-98), Pisa, Italy, 1998 [12.] Volker kh, “Wireless Communications over MIMO Channels” Universitt Rostock, Germany, ISBN-10 0-470-02716-19(HB) [13.] Ta-Sung Lee “MIMO Techniques for Wireless Communications” Department of Communication Engineering, National Chiao Tung University [14.] Ye Li, Jack H Winters, Nelson R Sollenbergen,” MIMO-OFDM for Wireless Communications : Signal Detection With Enhanced Channel Estimation” 101 Nghiên cứu giải pháp nâng cao hiệu sử dụng băng thông hệ thống MIMO, MIMO-OFDM [15.] Fenghua Li, Master’s Degree Project, Stockholm, Sweden 2007-06-21, “Performance Analysis of V-BLAST Detectors for MIMO channel” [16.] Enrique Ulffe Whu, Stanford University “MIMO-OFDM Systems for High Data Rate Wireless Networks” [17.] Siavash M Alamouti, “A Simple Transmit Diversity Technique for Wireless Communications” IEEE Journal On Select Area In Communications [18.] A.Bruce Carlson, “Communicaton Systems" McGraw-Hill,ISBN 0-07-009960-X, 1986 [19.] Ian Glover, University of Bradford, “Digital Communications” ISBN 0-23-5653926 102