1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng bộ lọc kalman và anten thông minh trong hệ thống GPS và DGPS

183 12 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 183
Dung lượng 3,99 MB

Nội dung

Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN TẤN KIỆT ỨNG DỤNG BỘ LỌC KALMAN VÀ ANTEN THÔNG MINH TRONG HỆ THỐNG GPS VÀ DGPS Chuyên ngành: KỸ THUẬT ĐIỆN TỬ LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2008 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Cán hướng dẫn khoa học: TS ĐỖ HỒNG TUẤN (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: (Ghi rõ họ tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, NGÀY THÁNG NĂM ii ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc -oOo - Tp HCM, ngày tháng năm 2008 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN TẤN KIỆT Ngày, tháng, năm sinh: 13 – 10 – 1969 Chuyên ngành: KỸ THUẬT ĐIỆN TỬ Mã số ngành: 605270 MSHV: 01407342 Khố (Năm trúng tuyển): 2007 Giới tính: Nam Nơi sinh: Đồng Tháp 1- TÊN ĐỀ TÀI: Ứng dụng lọc Kalman anten thông minh hệ thống GPS DGPS 2- NHIỆM VỤ LUẬN VĂN: • Tìm hiểu sở lý thuyết hệ thống GPS, DGPS, lọc Kalman Anten thông minh băng hẹp • Ứng dụng lọc Kalman anten thông minh hệ thống GPS DGPS • Mơ đánh giá hiệu giải thuật Kalman, LCMV băng hẹp LMS băng hẹp 3- NGÀY GIAO NHIỆM VỤ: 4- NGÀY HOÀN THÀNH NHIỆM VỤ: 15 – 12 – 2008 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS ĐỖ HỒNG TUẤN Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) iii LỜI CẢM ƠN Đề tài “ Ứng dụng lọc Kalman anten thông minh hệ thống GPS DGPS” hoàn thành với hướng dẫn giúp đỡ tận tình Thầy – Tiến sĩ Đỗ Hồng Tuấn Xin ghi nhớ lòng biết ơn sâu sắc gửi lời cảm ơn chân tình đến thầy 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 Bách Khoa 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 hồn thành khóa học Xin chân thành cảm ơn bạn học viên cao học khóa 2006 khóa 2007 ngành Kỹ Thuật Điện Tử trường Đại Học Bách Khoa Tp.Hồ Chí Minh nhiệt tình giúp đỡ trao dồi kiến thức trình học tập 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 đỡ vật chất lẫn tinh thần trình học tập thực luận văn Tp Hồ Chí Minh, ngày 15 tháng 12 năm 2008 NGUYỄN TẤN KIỆT iv 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 giải pháp kỹ thuật DGPS (Differential GPS) đưa giải pháp lọc Kalman để giảm sai số tượng fading can nhiễu thu người sử dụng nguồn sai số khác; đồng thời luận văn đư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; đồng thời 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 Luận văn thực mô Matlab 7.0 giải thuật Kalman tuyến tính 2D 3D; 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 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ố v ABTRACT The Global Positioning System (GPS) consists of a constellation of 24 operational satellites and some standby ones which are arranged so that four satellites are placed in each of six nearly circular orbits These satellites transmit signals with information to the earth GPS receivers receive GPS signals and determine the distances from the user’s receiver to the GPS satellites in order to find out their positions in geometry These distances are often incorrect because of various errors, so the GPS receiver’s position is not exact In this thesis, we find out the solution to ensure the optimal transmission and to reduce the effect of errors In the thesis we also study the DGPS technology (Differential GPS) and apply the Kalman algorithm in order to decrease the errors due to the fading phenomenon receiver noise and different errors In this thesis we apply the Smart Antenna technique in order to reduce the multipath errors, interference and to ensure the optimal transmission in the GPS and DGPS systems The Multiple LCMV (Linearly Constrained Minimum Variance) Beamforming algorithm for the narrow band is applied at the DGPS system’s reference station (or at the user’s receiver) to receive signals from the GPS satellites; the Unconstrained LMS (Least Mean Square) Beamformer is applied at the reference station (or at the user’s receiver) to ensure the optimal transmission between reference stations and user’s receivers In the thesis, the Matlab 7.0 is used to simulate the linear Kalman algorithm in twodimensional (2D) and three-dimensional (3D) geometries The Multiple LCMV Beamformers using the Uniform Linear Array (ULA) and the Uniform Rectangular Array (URA) are used for 2D and 3D Unconstrained LMS Beamformer using the ULA is used for 2D The simulation results prove that the provided methods ensure the optimal transmission and reduce the influence of various errors v MỤC LỤC Tóm tắt v Mục lục vi Danh mục hình ix Danh mục bảng xiii Danh mục từ viết tắt xiv Chương ĐẶT VẤN ĐỀ 1.1 Đặt vấn đề tình hình nghiên cứu 1.2 Mục đích, đối tượng phạm vi nghiên cứu 1.3 Bố cục đề tài 1.4 Ý nghĩa đề tài 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ác hệ vệ tinh hệ thống GPS 2.1.4 Cấu trúc tín hiệu GPS 11 2.1.5 Các sai số hệ thống GPS 16 2.1.5.1 Sai số vệ tinh 16 2.1.5.1.1 Sai số chủ định SA (selective availability) 16 2.1.5.1.2 Sai số quỹ đạo vệ tinh (ephemeris error) 17 2.1.5.1.3 Sai số đồng hồ vệ tinh (satellite clock error) 18 2.1.5.2 Sai số truyền tín hiệu 18 2.1.5.2.1 Sai số truyền dẫn đa đường (multipath error) 18 2.1.5.2.2 Sai số tầng điện ly (ionospheric error) 19 2.1.5.2.3 Sai số tầng đối lưu (tropospheric error) 20 2.1.5.3 Sai số thu người sử dụng 21 2.1.6 Cách tính tọa độ thu dựa theo hình học 23 2.1.7 Giới thiệu thu tín hiệu GPS 26 2.2 Giới thiệu kỹ thuật DGPS 29 2.3 Giới thiệu lọc Kalman 33 2.3.1 Lý thuyết Kalman tuyến tính 33 2.3.2 Lý thuyết Kalman mở rộng 37 2.4 Giới thiệu anten thông minh 39 vi 2.4.1 Lý thuyết dãy anten 40 2.4.2 Phân loại hệ thống anten thông minh 46 2.4.2.1 Các hệ thống tạo búp chuyển đổi 46 2.4.2.2 Bộ tạo búp thích nghi dùng giải thuật LMS 47 2.4.2.3 Bộ tạo búp sử dụng hướng đến dùng giải thuật LCMV 53 2.4.3 Những lợi ích hệ thống anten thơng minh 59 Chương ỨNG DỤNG BỘ LỌC KALMAN VÀ ANTEN THÔNG MINH TRONG HỆ THỐNG GPS VÀ DGPS 61 3.1 Ứng dụng giải thuật Kalman tuyến tính máy thu GPS 61 3.1.1 Ứng dụng giải thuật Kalman tuyến tính máy thu GPS khơng gian 2D 61 3.1.2 Ứng dụng giải thuật Kalman tuyến tính máy thu GPS khơng gian 3D 65 3.2 Ứng dụng anten thông minh hệ thống GPS DGPS 69 3.2.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 72 3.2.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 73 3.2.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 79 3.2.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 83 Chương KẾT QUẢ MÔ PHỎNG 91 4.1 Kết mơ giải thuật Kalman tuyến tính 91 4.1.1 Kết mơ giải thuật Kalman tuyến tính khơng gian 2D 91 4.1.2 Kết mô giải thuật Kalman tuyến tính khơng gian 3D 95 4.2 Kết mô giải thuật Multiple LCMV Beamforming băng hẹp 101 4.2.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=20 phần tử không gian 2D 101 4.2.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 103 4.3 Kết mô giải thuật Unconstrained LMS Beamforming băng hẹp 110 vii 4.3.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 111 4.3.2 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 để 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, μ ) 117 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 126 5.1 Kết luận 126 5.2 Hướng phát triển đề tài 127 TÀI LIỆU THAM KHẢO 129 PHỤ LỤC 130 viii 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 2.27 Hình 3.1 Hình 3.2 Hình 3.3 Hình 3.4 Hình 3.5 Hình 3.7 Hình 4.1 Hình 4.2 Hình 4.3 Chịm vệ tinh GPS Các mảng hệ thống GPS Các hệ vệ tinh GPS 11 Minh họa (a) Sóng sin ; (b) mã số 11 Minh họa cấu trúc mã C/A sóng mang L1 13 Minh họa cấu trúc mã P sóng mang L1 13 Minh họa cấu trúc tin định vị 15 Sai số vị trí thu GPS có SA 17 Sai số vị trí thu GPS sau bỏ SA 17 Minh họa ảnh hưởng truyền dẫn đa đường 19 Minh họa sai số hệ thống GPS 23 Minh họa vị trí thu người sử dụng vệ tinh 23 Sơ đồ tổng quát thu tín hiệu GPS 27 Sơ đồ khối thu tín hiệu GPS 28 Minh họa mơ hình GPS sai phân 31 Minh họa mơ hình DGPS cục 32 Minh họa mơ hình DGPS mở rộng 33 Lưu đồ dịng tín hiệu hệ thống động có thời gian rời rạc tuyến tính 34 Minh họa dãy anten có phần tử 40 Các dãy anten (a) ULA (b) UCA (c) URA (d) Dãy anten chiều 41 Dãy anten ULA phân bố trục x 42 Mơ hình dãy anten ULA định hướng theo trục x, thu nhận sóng mặt theo hướng (θ, ф) 42 Mạng tạo búp chuyển đổi tạo M búp từ M phần tử dãy 47 Cấu trúc dãy anten thích nghi 48 Mô hình tổng qt hệ thống anten thơng minh dùng tín hiệu tham khảo 51 Bộ lọc tuyến tính 54 Sóng tới phẳng dãy anten tuyến tính 55 Mơ hình chi tiết giải thuật Kalman tuyến tính khơng gian 2D 65 Mơ hình chi tiết giải thuật Kalman tuyến tính khơng gian 3D 69 Mơ hình đặt anten thơng minh kết hợp với kỹ thuật DGPS 70 Mơ hình dãy anten ULA định hướng theo trục x, thu nhận sóng mặt theo hướng (θ, ф) 75 Minh họa dãy anten URA gồm M*N phần tử phân bố 80 Minh họa ngõ vào ngõ hệ thống 89 Ước tính vị trí 2D trường hợp khơng có Kalman có Kalman 91 Sai số vị trí theo phương x y khơng có Kalman có Kalman 93 Sai số vị trí theo phương x 200 mẫu đo trường hợp khơng có Kalman có Kalman 93 ix Phụ lục GVHD: TS Đỗ Hồng Tuấn 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 % 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 HVTH: Nguyễn Tấn Kiệt 153 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn %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: 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 ']; HVTH: Nguyễn Tấn Kiệt 154 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn % figure(1); hold on; for in=1:number_SOI MSE_abs=abs(MSE_average(in,:)); 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)); HVTH: Nguyễn Tấn Kiệt 155 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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]'); 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 HVTH: Nguyễn Tấn Kiệt 156 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn SIR_OUT SIR_OUT_dB SIR_IN SIR_IN_dB Gain Gain_dB % 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 HVTH: Nguyễn Tấn Kiệt 157 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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); 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 % - HVTH: Nguyễn Tấn Kiệt 158 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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 HVTH: Nguyễn Tấn Kiệt 159 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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 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; HVTH: Nguyễn Tấn Kiệt 160 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn %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; % 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 HVTH: Nguyễn Tấn Kiệt 161 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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]; 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); HVTH: Nguyễn Tấn Kiệt 162 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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 % 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); 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; 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'); HVTH: Nguyễn Tấn Kiệt 165 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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']); 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) HVTH: Nguyễn Tấn Kiệt 166 MSHV: 01407342 Phụ lục GVHD: TS Đỗ Hồng Tuấn 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 Tấn Kiệt 167 MSHV: 01407342 ... TÀI: Ứng dụng lọc Kalman anten thông minh hệ thống GPS DGPS 2- NHIỆM VỤ LUẬN VĂN: • Tìm hiểu sở lý thuyết hệ thống GPS, DGPS, lọc Kalman Anten thơng minh băng hẹp • Ứng dụng lọc Kalman anten thông. .. ích hệ thống anten thông minh 59 Chương ỨNG DỤNG BỘ LỌC KALMAN VÀ ANTEN THÔNG MINH TRONG HỆ THỐNG GPS VÀ DGPS 61 3.1 Ứng dụng giải thuật Kalman tuyến tính máy thu GPS 61 3.1.1 Ứng. .. định vị toàn cầu GPS, kỹ thuật DGPS, lọc Kalman anten thông minh Đặc biệt nghiên cứu trình bày ứng dụng lọc Kalman anten thông minh hệ thống GPS DGPS Anten thông minh dùng dãy anten thích nghi,

Ngày đăng: 09/03/2021, 00:59

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

TÀI LIỆU LIÊN QUAN