nghiên cứu ứng dụng anten thông minh tại phía thu tín hiệu gps

139 325 1
nghiên cứu ứng dụng anten thông minh tại phía thu tín hiệu gps

Đ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

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 HỮU TÀI NGHIÊN CỨU ỨNG DỤNG ANTEN THÔNG MINH TẠI PHÍA THU TÍN HIỆU GPS NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 S K C0 Tp Hồ Chí Minh, tháng 10/2014 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 HỮU TÀI NGHIÊN CỨU ỨNG DỤNG ANTEN THÔNG MINH TẠI PHÍA THU TÍN HIỆU GPS KỸ THUẬT ĐIỆN TỬ - 60 52 70 Tp Hồ Chí minh, tháng 10/2014 LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƢỢC: Họ & tên: Nguyễn Hữu Tài Giới tính: Nam Ngày, tháng, năm sinh: 03/02/1974 Nơi sinh: Nghệ An Quê quán: Nghệ An Dân tộc: Kinh Chỗ riêng địa liên lạc: 51/5 Tân lập, Đông Hòa, Dĩ An, Bình Dương Điện thoại quan: 08.38222299 Điện thoại nhà riêng: 0903.357.626 Fax: E-mail: II QUÁ TRÌNH ĐÀO TẠO: Trung học chuyên nghiệp: Hệ đào tạo: Chính Quy Thời gian đào tạo từ /1995 đến /1997 Nơi học (trường, thành phố): Học Viện Công Nghệ Bưu Chính Viễn Thông Ngành học: Kỹ Thuật Chuyển mạch Đại học: Hệ đào tạo: Không quy Thời gian đào tạo từ ……/1998 đến …/ 2003 Nơi học (trường, thành phố):Đại Học Bách Khoa TP.Hồ Chí Minh Ngành học: Điện Tử - Viễn Thông Tên đồ án, luận án môn thi tốt nghiệp: Thiết bị tiếp cận thuê bao FSX2000 Ngày & nơi bảo vệ đồ án, luận án thi tốt nghiệp: Trường Đại Học Bách Khoa Người hướng dẫn: PGS.TS Phạm Hồng Liên III QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian 2003 đến Nơi công tác VNPT TP.Hồ Chí Minh i Công việc đảm nhiệm Quản lý Vận Hành Bảo Dưỡng & khai thác hệ thống tổng đài Alcatel 1000E10 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 … năm 2014 (Ký tên ghi rõ họ tên) Nguyễn Hữu Tài ii LỜI CẢM ƠN Đề tài “ Ứng dụng anten thông minh phía thu tín hiệu GPS ” hoàn thành với hướng dẫn giúp đỡ tận tình Cô PGS.TS Phạm Hồng Liên Xin gửi lời cảm ơn chân thành đến cô Xin gửi lời cảm ơn chân thành đến Thầy Cô Giáo giảng dạy chương trình Cao học ngành Kỹ Thuật Điện Tử trường Đại Học Sư Phạm Kỹ Thuật Tp.Hồ Chí Minh cung cấp nhiều kiến thức quý báu tạo điều kiện thuận lợi cho em hoàn thành khóa học Cuối xin gửi đến gia đình, bạn bè đồng nghiệp lời cảm ơn chân thành tạo điều kiện thuận lợi giúp đỡ trình học tập thực luận văn Tp Hồ Chí Minh, ngày tháng năm 2014 NGUYỄN HỮU TÀI iii TÓM TẮT Hệ thống định vị toàn cầu GPS (Global Positioning System) bao gồm 24 vệ tinh chủ đạo vài vệ tinh dự trữ phân bố quỹ đạo gần tròn Các vệ tinh phát tín hiệu có thông tin định vị xuống trái đất Các máy thu GPS nhận thông tin này, tính khoảng cách đến vệ tinh dựa vào hình học để tính vị trí Khoảng cách từ máy thu đến vệ tinh GPS thường bị sai hàng loạt nguồn sai số dẫn đến sai số vị trí máy thu Nhiệm vụ luận văn tìm giải pháp để đảm bảo việc truyền sóng, truyền dẫn tối ưu hạn chế ảnh hưởng sai số Luận văn tìm hiểu kỹ thuật DGPS (Differential GPS) đưa giải pháp anten thông minh để giảm sai số truyền dẫn đa đường, can nhiễu bảo đảm truyền dẫn tối ưu hệ thống GPS DGPS Giải thuật Multiple LCMV Beamforming băng hẹp đặt trạm tham khảo hệ thống DGPS (hoặc đặt thu người sử dụng) nhằm thu nhận tín hiệu từ vệ tinh GPS; giải thuật Unconstrained LMS Beamforming băng hẹp tạo búp sử dụng tín hiệu tham khảo đặt trạm tham khảo (hoặc thu người sử dụng) nhằm bảo đảm truyền dẫn tối ưu trạm tham khảo thu người sử dụng; Giải thuật Sparse Array nhằm giảm số phần tử Anten theo quy luật đảm bảo búp sóng hẹp Luận văn thực mô phần mềm Matlab giải thuật Multiple LCMV Beamforming cho dãy anten ULA (Uniform Linear Array) URA (Uniform Rectangular Array) 2D 3D; Unconstrained LMS Beamforming cho dãy anten ULA 2D; Giải thuật Sparse Array cho dãy Anten 12 phần tử Các kết mô chứng minh giải pháp mà luận văn đưa đảm bảo việc truyền dẫn tối ưu hạn chế ảnh hưởng hàng loạt sai số vi MỤC LỤC Tóm tắt vi Mục lục vii Danh mục hình ix Danh mục bảng xii Danh mục từ viết tắt xiii Chƣơng TỔNG QUAN 1.1 Đặt vấn đề tình hình nghiên cứu 1.2 Mục tiêu đề tài 1.3 Nhiệm vụ phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu Chƣơng CƠ SỞ LÝ THUYẾT 2.1 Tổng quan hệ thống định vị toàn cầu GPS 2.1.1 Giới thiệu hệ thống GPS 2.1.2 Các mảng hệ thống GPS 2.1.3 Cấu trúc tín hiệu GPS 2.1.4 Các sai số hệ thống GPS 11 2.1.4.1 Sai số vệ tinh 11 2.1.4.1.1 Sai số chủ định SA (selective availability) 11 2.1.4.1.2 Sai số quỹ đạo vệ tinh (ephemeris error) 12 2.1.4.1.3 Sai số đồng hồ vệ tinh (satellite clock error) 12 2.1.4.2 Sai số truyền tín hiệu 12 2.1.4.2.1 Sai số truyền dẫn đa đường (multipath error) 12 2.1.4.2.2 Sai số tầng điện ly (ionospheric error) 13 2.1.4.2.3 Sai số tầng đối lưu (tropospheric error) 14 2.1.4.3 Sai số thu người sử dụng 15 2.1.5 Cách tính tọa độ thu dựa theo hình học 17 2.1.6 Giới thiệu thu tín hiệu GPS 20 2.2 Giới thiệu kỹ thuật DGPS 23 2.3 Giới thiệu anten thông minh 26 2.3.1 Lý thuyết dãy anten 27 2.3.2 Phân loại hệ thống anten thông minh 34 2.3.2.1 Các hệ thống tạo búp chuyển đổi 34 vii 2.3.2.2 Bộ tạo búp thích nghi dùng giải thuật LMS 35 2.3.2.3 Bộ tạo búp sử dụng hướng đến dùng giải thuật LCMV 39 2.3.3 Giải pháp Sparse Array cho dãy Anten thông minh 44 2.3.4 Những lợi ích hệ thống anten thông minh 45 Chƣơng ỨNG DỤNG ANTEN THÔNG MINH TRONG HỆ THỐNG GPS VÀ DGPS 3.1 Ứng dụng anten thông minh hệ thống GPS DGPS 47 3.1.1 Ứng dụng giải thuật LCMV băng hẹp tạo búp sử dụng hướng đến anten thông minh đặt trạm tham khảo 49 3.1.1.1 Ứng dụng giải thuật Multiple LCMV beamforming băng hẹp cho dãy anten ULA (Uniform Linear Array) không gian 2D 51 3.1.1.2 Ứng dụng giải thuật Multiple LCMV beamforming băng hẹp cho dãy anten chữ nhật URA (Uniform Rectangular Array) không gian 3D 56 3.1.2 Ứng dụng giải thuật thích nghi Unconstrained LMS Beamforming băng hẹp tạo búp sử dụng tín hiệu tham khảo cho dãy anten ULA không gian 2D 60 3.1.3 Ứng dụng giải thuật Sparse Array cho dãy Anten 70 Chƣơng KẾT QUẢ MÔ PHỎNG 74 4.1 Kết mô giải thuật Multiple LCMV Beamforming băng hẹp 74 4.1.1 Kết mô giải thuật Multiple LCMV Beamforming băng hẹp tạo búp sử dụng hướng đến cho dãy anten ULA có N phần tử không gian 2D 74 4.1.2 Kết mô giải thuật Multiple LCMV Beamforming băng hẹp tạo búp sử dụng hướng đến cho dãy anten URA không gian 3D 76 4.2 Kết mô giải thuật Unconstrained LMS Beamforming băng hẹp 4.2.1 Kết mô giải thuật Unconstrained LMS Beamforming băng hẹp tạo búp sử dụng tín hiệu tham khảo cho dãy anten ULA không gian 2D 81 4.2.2 Kết mô giải thuật Unconstrained LMS Beamforming băng hẹp để chọn số phần tử N dãy anten ULA tối ưu cho thời gian hội tụ nhỏ số 200 cặp giá trị (N,  ) 86 4.2 Kết mô giải thuật Sparse Array 93 viii Chƣơng KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI 94 5.1 Kết luận 94 5.2 Hướng phát triển đề tài 95 TÀI LIỆU THAM KHẢO 96 PHỤ LỤC 98 ix DANH MỤC HÌNH Hình 2.1 Hình 2.2 Hình 2.3 Hình 2.4 Hình 2.5 Hình 2.6 Hình 2.7 Hình 2.8 Hình 2.9 Hình 2.10 Hình 2.11 Hình 2.12 Hình 2.13 Hình 2.14 Hình 2.15 Hình 2.16 Hình 2.17 Hình 2.18 Hình 2.19 Hình 2.20 Hình 2.21 Hình 2.22 Hình 2.23 Hình 2.24 Hình 2.25 Hình 2.26 Hình 3.1 Hình 3.2 Hình 3.3 Hình 3.4 Hình 3.5 Hình 3.6 Hình 3.7 Hình 3.8 Hình 3.9 Hình 3.10 Chòm vệ tinh GPS Các mảng hệ thống GPS Minh họa (a) Sóng sin ; (b) mã số Minh họa cấu trúc mã C/A sóng mang L1 Minh họa cấu trúc mã P sóng mang L1 Minh họa cấu trúc tin định vị 10 Sai số vị trí thu GPS có SA 11 Sai số vị trí thu GPS sau bỏ SA 12 Minh họa ảnh hưởng truyền dẫn đa đường 13 Minh họa sai số hệ thống GPS 16 Minh họa vị trí thu người sử dụng vệ tinh 17 Sơ đồ tổng quát thu tín hiệu GPS 20 Sơ đồ khối thu tín hiệu GPS 22 Minh họa mô hình GPS sai phân 24 Minh họa mô hình DGPS cục 25 Minh họa mô hình DGPS mở rộng 26 Vùng xạ Anten thường Anten thông minh 27 Sơ đồ tổng quát Anten thông minh 27 Minh họa dãy anten có phần tử 28 Các dãy anten (a) ULA (b) UCA (c) URA (d) Dãy anten chiều 29 Dãy anten ULA phân bố trục x 30 Mô hình dãy anten ULA định hướng theo trục x, thu nhận sóng mặt theo hướng (θ, ф) 30 Mạng tạo búp chuyển đổi tạo M búp từ M phần tử dãy 35 Cấu trúc dãy anten thích nghi 36 Bộ lọc tuyến tính 40 Sóng tới phẳng dãy anten tuyến tính 41 Mô hình đặt anten thông minh kết hợp với kỹ thuật DGPS 47 Mô hình dãy anten ULA định hướng theo trục x, thu nhận sóng mặt theo hướng (θ, ф) 52 Minh họa dãy anten URA gồm M*N phần tử phân bố 57 Mô hình tổng quát hệ thống anten thông minh dùng tín hiệu tham khảo 61 Minh họa ngõ vào ngõ hệ thống 68 Minh họa Lưu đồ thuật toán giải thuật cập nhập trọng số LMS 69 Minh họa Dãy Anten phân bố với 12 phần tử 67 Minh họa Dãy Anten 12 phần tử dùng MRLA 71 Minh họa Cấu trúc chuỗi dãy phần tử Anten 72 Minh họa Dãy Anten ULA 12 phần tử dùng MRLA 72 ix Phụ lục GVHD: PGS.TS Phạm Hồng Liên % P_soi_dB=0;%power of SOI in dB P_interference_dB=-20;%power of interference in dB P_noise_dB=-20;%power of noise in dB P_soi_W=10^(P_soi_dB/10);%power of SOI in W P_interference_W=10^(P_interference_dB/10);%power of interference in W P_noise_W=10^(P_noise_dB/10);%power of noise in W % simulating number-for tr=1:number_simulation % simulating number-T_hoitu=[]; % %creating gain matrix for SOI's signal and SNOI's signal reference_gain=[];%gain of reference signal for x=1:number_DOA temp=1; for y=1:number_SOI if x==SOI(y) reference_gain=[reference_gain;(sqrt(P_soi_W))* ones(1,reference_samples)]; temp=0; break; end; end; if temp==1 reference_gain=[reference_gain;(sqrt(P_interference_W))* ones(1,reference_samples)]; end; end; % S=steering_matrix_ULA(N,DOA,d_divide_lampda); % LMS -w=zeros(N,number_SOI);%Nxnumber_SOI (Nx3) e=zeros(number_SOI,reference_samples);%average error between output of %the antenna array and the reference signal after simulations MSE=zeros(number_SOI,reference_samples);%average of mean-squared error y=zeros(number_SOI,reference_samples);%average of output of the array %Rm=round(rand(number_DOA,reference_samples))*2-1; %reference BPSK signal modulation Rm=sign(randn(number_DOA,reference_samples));%9x1000 Rs=reference_gain.*Rm;%9x1000 noise=(sqrt(P_noise_W))*randc(N,reference_samples);%white noise:Nx1000 U=S*Rs+noise;%received signals at antenna array(Nx1000) R=U*U'/reference_samples;%correlation matrix(NxN) muy_max=1/trace(R); muy=0.5*muy_max; for k=1:number_SOI R_training=Rs(SOI(k),1:reference_samples);%training sequence:1x1000 w_weight_temp=[]; p_watt_temp=0; for in=1:reference_samples%repeat 1000 times y(k,in)=w(:,k)'*U(:,in);%antenna array output: constant e(k,in)=R_training(in)-y(k,in);%estimation error: constant %e(k,in)=R_training(in)-w(:,k)'*U(:,in);%e=d-w'*u MSE(k,in)=e(k,in)*conj(e(k,in)); %MSE(k,in)=e(k,in)*e(k,in)'; %w(:,k)=w(:,k)+2*muy*U(:,in)*e(k,in)';%tap-weight adaptation: HVTH: Nguyễn Hữu Tài 110 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên w(:,k)=w(:,k)+2*muy*U(:,in)*conj(e(k,in));%tapweight adaptation w_weight_temp(:,in)=w(:,k);%Nxreference_samples after for(in) p_watt(k,in)=w(:,k)'*R*w(:,k);%constant p_watt_temp=p_watt_temp+p_watt(k,in);%constant end; % if k==1 w_weight1=w_weight_temp; p_watt1=p_watt_temp/reference_samples; end; if k==2 w_weight2=w_weight_temp; p_watt2=p_watt_temp/reference_samples; end; if k==3 w_weight3=w_weight_temp; p_watt3=p_watt_temp/reference_samples; end; if k==4 w_weight4=w_weight_temp; p_watt4=p_watt_temp/reference_samples; end; end;%for k w_weight1_total=w_weight1_total+w_weight1; w_weight2_total=w_weight2_total+w_weight2; w_weight3_total=w_weight3_total+w_weight3; w_weight4_total=w_weight4_total+w_weight4; p_watt1_total=p_watt1_total+p_watt1; p_watt2_total=p_watt2_total+p_watt2; p_watt3_total=p_watt3_total+p_watt3; p_watt4_total=p_watt4_total+p_watt4; error_total=error_total+e; MSE_total=MSE_total+MSE; % simulating number-end;%number_simulation % simulating number-w_weight1_average=w_weight1_total/number_simulation; w_weight2_average=w_weight2_total/number_simulation; w_weight3_average=w_weight3_total/number_simulation; w_weight4_average=w_weight4_total/number_simulation; p_watt1_average=p_watt1_total/number_simulation; p_watt2_average=p_watt2_total/number_simulation; p_watt3_average=p_watt3_total/number_simulation; p_watt4_average=p_watt4_total/number_simulation; p_watt1_average p_watt2_average p_watt3_average p_watt4_average error_average=error_total/number_simulation; MSE_average=MSE_total/number_simulation; colors=['r','b','m','g','c','y','k','r ','b ','m ','g ','c ', 'y ','k ']; % figure(1); hold on; for in=1:number_SOI MSE_abs=abs(MSE_average(in,:)); HVTH: Nguyễn Hữu Tài 111 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên plot(reference_samples_range,20*log10(MSE_abs),colors(in)); end; hold off; title(['LMS Algorithm for adaptive beamformer, muy = ' num2str(muy) ', number of antennas = ' num2str(N)]); xlabel('Iteration Number'); ylabel('Mean-Squared Error in dB'); grid % beam=zeros(1,number_points_angle);%beam performance after simulations beam_dB=[]; figure(2); hold on; beam_DOA=[]; beam_DOA_dB=[]; for in=1:number_SOI for h=1:number_points_angle angle=angle_range(1)+(h-1)*angle_step; s_vec=[]; for k=0:(N-1) s=exp(-j*2*pi*d_divide_lampda*k*sin(angle*pi/180)); s_vec=[s_vec;s]; end; %beam(h)=abs(s_vec'*conj(w(:,in)));%beam performance beam(h)=abs((w(:,in))'*s_vec);%beam performance % beam_dB(in,h)=10*log10(beam(h)); % for x=1:number_DOA if DOA(x)==angle beam_DOA(in,x)=beam(h); beam_DOA_dB(in,x)=beam_dB(in,h); end; end; % end; plot(angle_range_divided,beam,colors(in)); end; beam_DOA; beam_DOA_dB; hold off; title(['LMS Algorithm, DOA[degrees]: ' num2str(DOA) ' ; SOI at ' num2str(DOA(SOI)) '; SNOI at others']); ylabel('Beam pattern'); xlabel('Angles [degrees]'); grid % figure(3); hold on; for in=1:number_SOI plot(angle_range_divided,beam_dB(in,:),colors(in)); end; hold off; title(['LMS Algorithm, DOA[degrees]: ' num2str(DOA) ' ; SOI at ' num2str(DOA(SOI)) '; SNOI at others']); ylabel('Beam pattern (dB)'); xlabel('Angles [degrees]'); HVTH: Nguyễn Hữu Tài 112 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên grid % for in=1:number_SOI figure(in+3); hold on; plot(angle_range_divided,beam_dB(in,:),colors(in)); hold off; title(['LMS Algorithm, DOA[degrees]: ' num2str(DOA) ' ; SOI at ' num2str(DOA(SOI(in))) '; SNOI at others']); ylabel('Beam pattern (dB)'); xlabel('Angles [degrees]'); grid end; % INTERFERENCE_mean=[]; INTERFERENCE_dB_mean=[]; for x=1:number_SOI beam_INTERFERENCE=0; beam_INTERFERENCE_dB=0; for y=1:number_DOA if y==SOI(x) beam_SOI(x)=beam_DOA(x,y); beam_SOI_dB(x)=beam_DOA_dB(x,y); else beam_INTERFERENCE=beam_INTERFERENCE+beam_DOA(x,y); beam_INTERFERENCE_dB=beam_INTERFERENCE_dB+beam_DOA_dB(x,y); end; end; INTERFERENCE_mean(x)=beam_INTERFERENCE/(number_DOA-1); INTERFERENCE_dB_mean(x)=beam_INTERFERENCE_dB/(number_DOA-1); end; beam_SOI;%1x3 beam_SOI_dB;%1x3 INTERFERENCE_mean;%1x3 INTERFERENCE_dB_mean;%1x3 % INTERFERENCE=INTERFERENCE_mean(position_INTERFERENCE); SIR_OUT=beam_SOI(1)/INTERFERENCE;%constant SIR_OUT_dB=10*log10(SIR_OUT);%constant SIR_IN=P_soi_W/P_interference_W;%constant SIR_IN_dB=10*log10(SIR_IN);%constant Gain=SIR_OUT/SIR_IN;%constant (times) Gain_dB=SIR_OUT_dB - SIR_IN_dB;%constant (dB) % beam_DOA beam_DOA_dB beam_SOI beam_SOI_dB INTERFERENCE_mean INTERFERENCE_dB_mean SIR_OUT SIR_OUT_dB SIR_IN SIR_IN_dB Gain Gain_dB % - HVTH: Nguyễn Hữu Tài 113 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên figure(8); hold on; for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight1_average(in,n))-abs(w_weight1_average( in,reference_samples)))0.001 count=0; T_hoitu1(in,:)=reference_samples; end; end; plot(reference_samples_range,w_weight1_average(in,:),colors(in)); end; T_hoitu1 T_hoitu1_max=T_hoitu1(1,1); for x=2:N if T_hoitu1(x,1)>T_hoitu1_max T_hoitu1_max=T_hoitu1(x,1); end; end; T_hoitu1_max hold off; title(['LMS Algorithm, number of antenna=' num2str(N) '; muy-max=' num2str(muy_max) '; muy=' num2str(muy)]); ylabel(['Weight value of SOI(1) = ' num2str(DOA(SOI(1))) ' [degrees]']); xlabel('number of samples'); grid % figure(9); hold on; for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight2_average(in,n))-abs(w_weight2_average( in,reference_samples)))0.001 count=0; T_hoitu2(in,:)=reference_samples; end; end; plot(reference_samples_range,w_weight2_average(in,:),colors(in)); end; T_hoitu2 T_hoitu2_max=T_hoitu2(1,1); HVTH: Nguyễn Hữu Tài 114 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên for x=2:N if T_hoitu2(x,1)>T_hoitu2_max T_hoitu2_max=T_hoitu2(x,1); end; end; T_hoitu2_max hold off; title(['LMS Algorithm, number of antenna=' num2str(N) '; muy-max=' num2str(muy_max) '; muy=' num2str(muy)]); ylabel(['Weight value of SOI(2) = ' num2str(DOA(SOI(2))) ' [degrees]' ]); xlabel('number of samples'); grid % figure(10); hold on; for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight3_average(in,n))-abs(w_weight3_average( in,reference_samples)))0.001 count=0; T_hoitu3(in,:)=reference_samples; end; end; plot(reference_samples_range,w_weight3_average(in,:),colors(in)); end; T_hoitu3 T_hoitu3_max=T_hoitu3(1,1); for x=2:N if T_hoitu3(x,1)>T_hoitu3_max T_hoitu3_max=T_hoitu3(x,1); end; end; T_hoitu3_max hold off; title(['LMS Algorithm, number of antenna=' num2str(N) '; muy-max=' num2str(muy_max) '; muy=' num2str(muy)]); ylabel(['Weight value of SOI(3) = ' num2str(DOA(SOI(3))) ' [degrees]' ]); xlabel('number of samples'); grid % figure(11); hold on; for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight4_average(in,n))-abs(w_weight4_average( in,reference_samples)))0.001 count=0; T_hoitu4(in,:)=reference_samples; end; end; plot(reference_samples_range,w_weight4_average(in,:),colors(in)); end; T_hoitu4 T_hoitu4_max=T_hoitu4(1,1); for x=2:N if T_hoitu4(x,1)>T_hoitu4_max T_hoitu4_max=T_hoitu4(x,1); end; end; T_hoitu4_max hold off; title(['LMS Algorithm, number of antenna=' num2str(N) '; muy-max=' num2str(muy_max) '; muy=' num2str(muy)]); ylabel(['Weight value of SOI(4) = ' num2str(DOA(SOI(4))) ' [degrees]' ]); xlabel('number of samples'); grid % time=toc;%stop timer to count the time consuming fprintf('Time consuming (seconds) %6.2f \n',(time)); Hàm T_hoitu_Muy_N_Gain_LMS %Matlab code:unconstrained multi LMS beamforming for a smart antenna array function [w]=T_hoitu_Muy_N_Gain_LMS tic;%start timer to count the time consuming % number_simulation=100;%total time for simulation reference_samples=1000;%total samples of reference signal for simulation % position_INTERFERENCE=7; position_SOI=2;%second position in DOA Gain=[]; Gain_dB=[]; Gain_dB_convert=[]; % DOA=[-80 -60 -40 -20 20 40 60 80];%angles of signals arriving at array number_DOA=length(DOA);%number elements in DOA SOI=[2 8];%elements of SOI are positions in DOA: SOI(2,4,6)=-60;-20;20 number_SOI=length(SOI);%number elements in SOI d_divide_lampda=0.5;%ratio between antenna element's space and wavelength d=0.095;%space between each element of antenna array (m) number_points_angle=361;%180 divides 0.5, consisting of '0' % P_soi_dB=0;%power of SOI in dB P_interference_dB=-20;%power of interference in dB P_noise_dB=-20;%power of noise in dB P_soi_W=10^(P_soi_dB/10);%power of SOI in W HVTH: Nguyễn Hữu Tài 116 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên P_interference_W=10^(P_interference_dB/10);%power of interference in W P_noise_W=10^(P_noise_dB/10);%power of noise in W % %creating gain matrix for SOI's signal and SNOI's signal reference_gain=[];%gain of reference signal for x=1:number_DOA temp=1; for y=1:number_SOI if x==SOI(y) reference_gain=[reference_gain;(sqrt(P_soi_W))* ones(1,reference_samples)]; temp=0; break; end; end; if temp==1 reference_gain=[reference_gain;(sqrt(P_interference_W))* ones(1,reference_samples)]; end; end; % for N=1:20 for i_muy=1:10 % Vector_Weight_SOI_average=[]; w_weight1_total=zeros(N,reference_samples); w_weight2_total=zeros(N,reference_samples); w_weight3_total=zeros(N,reference_samples); w_weight4_total=zeros(N,reference_samples); p_watt1_total=0; p_watt2_total=0; p_watt3_total=0; p_watt4_total=0; MSE_total=zeros(number_SOI,reference_samples);%sum of mean-squared error error_total=zeros(number_SOI,reference_samples);%sum of error between %output of the antenna array and the reference signal after simulations % simulating number -for tr=1:number_simulation % simulating number -S=steering_matrix_ULA(N,DOA,d_divide_lampda); % LMS -w=zeros(N,number_SOI);%Nxnumber_SOI (20x3) e=zeros(number_SOI,reference_samples);%average error between output of %the antenna array and the reference signal after simulations MSE=zeros(number_SOI,reference_samples);%average of mean-squared error y=zeros(number_SOI,reference_samples);%average of output of the array %Rm=round(rand(number_DOA,reference_samples))*2-1; %reference BPSK signal modulation Rm=sign(randn(number_DOA,reference_samples)); Rs=reference_gain.*Rm; noise=(sqrt(P_noise_W))*randc(N,reference_samples);%white noise U=S*Rs+noise;%received signals at antenna array(Nxreference_samples) R=U*U'/reference_samples;%correlation matrix(Nxreference_samples) muy_max=1/trace(R); % muy=0.1*i_muy*muy_max; % - HVTH: Nguyễn Hữu Tài 117 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên for k=1:number_SOI R_training=Rs(SOI(k),1:reference_samples);%training sequence:1x1000 w_weight_temp=[]; p_watt_temp=0; for in=1:reference_samples%repeat 1000 times y(k,in)=w(:,k)'*U(:,in);%antenna array output: constant e(k,in)=R_training(in)-y(k,in);%estimation error: constant %e(k,in)=R_training(in)-w(:,k)'*U(:,in);%e=d-w'*u MSE(k,in)=e(k,in)*e(k,in)'; w(:,k)=w(:,k)+2*muy*U(:,in)*conj(e(k,in));%tap-weight adaptation: %w(:,k)=w(:,k)+2*muy*U(:,in)*e(k,in)';%tap-weight adaptation: w_weight_temp(:,in)=w(:,k);%Nxreference_samples after for(in) p_watt(k,in)=w(:,k)'*R*w(:,k);%constant p_watt_temp=p_watt_temp+p_watt(k,in);%constant end; % if k==1 w_weight1=w_weight_temp; p_watt1=p_watt_temp/reference_samples; end; if k==2 w_weight2=w_weight_temp; p_watt2=p_watt_temp/reference_samples; end; if k==3 w_weight3=w_weight_temp; p_watt3=p_watt_temp/reference_samples; end; if k==4 w_weight4=w_weight_temp; p_watt4=p_watt_temp/reference_samples; end; end;%for k w_weight1_total=w_weight1_total+w_weight1; w_weight2_total=w_weight2_total+w_weight2; w_weight3_total=w_weight3_total+w_weight3; w_weight4_total=w_weight4_total+w_weight4; p_watt1_total=p_watt1_total+p_watt1; p_watt2_total=p_watt2_total+p_watt2; p_watt3_total=p_watt3_total+p_watt3; p_watt4_total=p_watt4_total+p_watt4; error_total=error_total+e; MSE_total=MSE_total+MSE; % simulating number -end;%number_simulation % simulating number -w_weight1_average=w_weight1_total/number_simulation; w_weight2_average=w_weight2_total/number_simulation; w_weight3_average=w_weight3_total/number_simulation; w_weight4_average=w_weight4_total/number_simulation; p_watt1_average=p_watt1_total/number_simulation; p_watt2_average=p_watt2_total/number_simulation; p_watt3_average=p_watt3_total/number_simulation; p_watt4_average=p_watt4_total/number_simulation; error_average=error_total/number_simulation; MSE_average=MSE_total/number_simulation; angle_range=[-90 90]; HVTH: Nguyễn Hữu Tài 118 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên angle_step=(angle_range(2)-angle_range(1))/(number_points_angle-1); % beam=zeros(1,number_points_angle);%beam performance after simulations beam_dB=[]; beam_DOA=[]; beam_DOA_dB=[]; for in=1:number_SOI for h=1:number_points_angle angle=angle_range(1) + (h-1)*angle_step; s_vec=[]; for k=0:(N-1) s=exp(-j*2*pi*d_divide_lampda*sin(angle*pi/180)*k); s_vec=[s_vec;s]; end; beam(h)=abs((w(:,in))'*s_vec);%beam performance % beam_dB(in,h)=10*log10(beam(h)); % for x=1:number_DOA if DOA(x)==angle beam_DOA(in,x)=beam(h); beam_DOA_dB(in,x)=beam_dB(in,h); end; end; % end; end; beam_DOA;%3x9 beam_DOA_dB;%3x9 % INTERFERENCE_mean=[]; INTERFERENCE_dB_mean=[]; for x=1:number_SOI beam_INTERFERENCE=0; beam_INTERFERENCE_dB=0; for y=1:number_DOA if y==SOI(x) beam_SOI(x)=beam_DOA(x,y); beam_SOI_dB(x)=beam_DOA_dB(x,y); else beam_INTERFERENCE=beam_INTERFERENCE+beam_DOA(x,y); beam_INTERFERENCE_dB=beam_INTERFERENCE_dB+beam_DOA_dB(x,y); end; end; INTERFERENCE_mean(x)=beam_INTERFERENCE/(number_DOA-1); INTERFERENCE_dB_mean(x)=beam_INTERFERENCE_dB/(number_DOA-1); end; beam_SOI;%1x3 beam_SOI_dB;%1x3 INTERFERENCE_mean;%1x3 INTERFERENCE_dB_mean;%1x3 % %INTERFERENCE=INTERFERENCE_mean(position_INTERFERENCE); INTERFERENCE_dB=P_interference_dB+beam_DOA_dB(position_SOI, position_INTERFERENCE);%interference at DOA(position_INTERFERENCE) INTERFERENCE=10^(INTERFERENCE_dB/10); SIGNAL=beam_SOI(position_SOI);%signal at a DOA HVTH: Nguyễn Hữu Tài 119 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên % SIR_OUT=SIGNAL/INTERFERENCE;%constant SIR_OUT_dB=10*log10(SIR_OUT);%constant SIR_IN=P_soi_W/P_interference_W;%constant SIR_IN_dB=10*log10(SIR_IN);%constant Gain(N,i_muy)=SIR_OUT/SIR_IN;%constant (times) Gain_dB(N,i_muy)=SIR_OUT_dB - SIR_IN_dB;%constant (dB) % for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight1_average(in,n))-abs(w_weight1_average( in,reference_samples)))0.001 count=0; T_hoitu1(in,:)=reference_samples; end; end; end; T_hoitu1; T_hoitu1_max=T_hoitu1(1,1); for x=2:N if T_hoitu1(x,1)>T_hoitu1_max T_hoitu1_max=T_hoitu1(x,1); end; end; T_hoitu1_max; T1(N,i_muy)=T_hoitu1_max % for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight2_average(in,n))-abs(w_weight2_average( in,reference_samples)))0.001 count=0; T_hoitu2(in,:)=reference_samples; end; end; end; T_hoitu2; T_hoitu2_max=T_hoitu2(1,1); for x=2:N if T_hoitu2(x,1)>T_hoitu2_max T_hoitu2_max=T_hoitu2(x,1); HVTH: Nguyễn Hữu Tài 120 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên end; end; T_hoitu2_max; T2(N,i_muy)=T_hoitu2_max % for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight3_average(in,n))-abs(w_weight3_average( in,reference_samples)))0.001 count=0; T_hoitu3(in,:)=reference_samples; end; end; end; T_hoitu3; T_hoitu3_max=T_hoitu3(1,1); for x=2:N if T_hoitu3(x,1)>T_hoitu3_max T_hoitu3_max=T_hoitu3(x,1); end; end; T_hoitu3_max; T3(N,i_muy)=T_hoitu3_max % for in=1:N count=0; for n=1:reference_samples if abs(abs(w_weight4_average(in,n))-abs(w_weight4_average( in,reference_samples)))0.001 count=0; T_hoitu4(in,:)=reference_samples; end; end; end; T_hoitu4; T_hoitu4_max=T_hoitu4(1,1); for x=2:N if T_hoitu4(x,1)>T_hoitu4_max T_hoitu4_max=T_hoitu4(x,1); end; end; T_hoitu4_max; HVTH: Nguyễn Hữu Tài 121 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên T4(N,i_muy)=T_hoitu4_max % end;%end i_muy end;%end N % Gain%Nxi_muy Gain_dB%Nxi_muy % X=[]; Y=[]; Z1=[]; Z2=[]; Z3=[]; Z4=[]; Z5=[]; Z6=[]; for x=1:20 for y=1:10 X(x,y)=0.1*y*muy_max; end; end; X for x=1:20 for y=1:10 Y(x,y)=x; end; end; Y Z1=T1; Z2=T2; Z3=T3; Z4=T4; Z5=Gain Z6=Gain_dB % -figure(1); hold on; stem3(X,Y,Z1,'fill')%plot Z(i,j) to X(i,j) and Y(i,j) view(-25,30) hold off; title(['Unconstrained-multi-LMS with 20 elements,10 step-size values']); xlabel('Muy=0.1*i*Muy-max, i=1:10'); ylabel('antenna elements: N=1:20'); zlabel(['samples of reference signal: SOI(1)=' num2str(DOA(SOI(1))) 'degree']); grid % -figure(2); hold on; stem3(X,Y,Z2,'fill')%plot Z(i,j) to X(i,j) and Y(i,j) view(-25,30) hold off; title('Unconstrained-multi-LMS with 20 elements,10 step-size values'); xlabel('Muy=0.1*i*Muy-max, i=1:10'); ylabel('antenna elements: N=1:20'); zlabel(['samples of reference signal: SOI(2)=' num2str(DOA(SOI(2))) 'degree']); HVTH: Nguyễn Hữu Tài 122 MSHV: 128520203022 Phụ lục GVHD: PGS.TS Phạm Hồng Liên grid % -figure(3); hold on; stem3(X,Y,Z3,'fill')%plot Z(i,j) to X(i,j) and Y(i,j) view(-25,30) hold off; title(['Unconstrained-multi-LMS with 20 elements,10 step-size values']); xlabel('Muy=0.1*i*Muy-max, i=1:10'); ylabel('antenna elements: N=1:20'); zlabel(['samples of reference signal: SOI(3)=' num2str(DOA(SOI(3))) 'degree']); grid % -figure(4); hold on; stem3(X,Y,Z4,'fill')%plot Z(i,j) to X(i,j) and Y(i,j) view(-25,30) hold off; title(['Unconstrained-multi-LMS with 20 elements,10 step-size values']); xlabel('Muy=0.1*i*Muy-max, i=1:10'); ylabel('antenna elements: N=1:20'); zlabel(['samples of reference signal: SOI(4)=' num2str(DOA(SOI(4))) 'degree']); grid % -figure(5); hold on; stem3(X,Y,Z5,'fill')%plot Z(i,j) to X(i,j) and Y(i,j) view(-25,30) hold off; title(['Unconstrained-multi-LMS with 20 elements,10 step-size values']); xlabel('Muy=0.1*i*Muy-max, i=1:10'); ylabel('antenna elements: N=1:20'); zlabel(['Gain at DOA=' num2str(DOA(SOI(position_SOI))) 'degree']); grid % -figure(6); hold on; stem3(X,Y,Z6,'fill')%plot Z(i,j) to X(i,j) and Y(i,j) view(-25,30) hold off; title(['Unconstrained-multi-LMS with 20 elements,10 step-size values']); xlabel('Muy=0.1*i*Muy-max, i=1:10'); ylabel('antenna elements: N=1:20'); zlabel(['Gain (dB) at DOA=' num2str(DOA(SOI(position_SOI))) 'degree']); grid % -time=toc;%stop timer to count the time consuming fprintf('Time consuming (seconds) %6.2f \n',(time)); HVTH: Nguyễn Hữu Tài 123 MSHV: 128520203022 S K L 0

Ngày đăng: 10/10/2016, 02:19

Từ khóa liên quan

Mục lục

  • 1.pdf

    • Page 1

    • 2.pdf

      • 2 NOI DUNG.pdf

        • Bia LV A4.pdf

        • LLKH-Muc Luc A4.pdf

        • phu luc.pdf

        • 4 BIA SAU.pdf

          • Page 1

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

Tài liệu liên quan