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

Giải thuật tạo búp sóng thích nghi bền vững sử dụng mạng nơron

142 14 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 142
Dung lượng 3,53 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN VĂN NGUYÊN GIẢI THUẬT TẠO BÚP SĨNG THÍCH NGHI BỀN VỮNG SỬ DỤNG MẠNG NƠRON Chuyên ngành: KỸ THUẬT ĐIỆN TỬ LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2010 Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN VĂN NGUYÊN GIẢI THUẬT TẠO BÚP SÓNG THÍCH NGHI BỀN VỮNG SỬ DỤNG MẠNG NƠRON Chuyên ngành: KỸ THUẬT ĐIỆN TỬ LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 07 năm 2010 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 TP HỒ CHÍ MINH Cán hướng dẫn khoa học: TS Đỗ Hồng Tuấn Cán chấm nhận xét 1: Cán chấm nhận xét 2: Luận Văn bảo vệ tại: 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 07 tháng 07 năm 2010 TRƯỜNG ĐH BÁCH KHOA TP HCM PHÒNG ĐÀO TẠO SĐH CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN VĂN NGUYÊN Phái: Nam Ngày, tháng, năm sinh: 26 12 1982 Nơi sinh: Bình Định Chuyên ngành: Kỹ thuật điện tử MSHV: 01406320 TÊN ĐỀ TÀI: I “Giải thuật tạo búp sóng thích nghi bền vững sử dụng mạng nơron” II NHIỆM VỤ VÀ NỘI DUNG: Tổng quan phương pháp liên quan đến đề tài Tìm hiểu sở lý thuyết anten giải thuật tạo búp sóng Tìm hiểu sở lý thuyết mạng nơron Thực giải thuật tạo búp sóng thích nghi bền vững sử dụng mạng nơron RBFNN Thực mô MATLAB để đánh giá chất lượng giải thuật RBFNN so sánh với giải thuật truyền thống SMI, LSMI III NGÀY GIAO NHIỆM VỤ: 25 01 2010 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 02 07 2010 V CÁN BỘ HƯỚNG DẪN: TS ĐỖ HỒNG TUẤN CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN QL CHUYÊN NGÀNH Nội dung Đề cương Luận văn Thạc sĩ Hội đồng chuyên ngành thông qua Ngày 07 tháng 07 năm 2010 PHÒNG ĐÀO TẠO SĐH KHOA QUẢN LÝ NGHÀNH LỜI CẢM ƠN Đầu tiên tơi xin kính gửi đến Thầy TS Đỗ Hồng Tuấn lời trân trọng với lòng biết ơn sâu sắc Thầy dành nhiều thời gian quý báu trực tiếp hướng dẫn, giải đáp thắc mắc, khó khăn, tạo điều kiện thuận lợi tài liệu tận tình bảo cho tơi lời khun bổ ích, giúp tơi hồn thành Luận Văn Tôi xin chân thành cảm ơn quý thầy cô trường Đại học Bách Khoa Tp Hồ Chí Minh, người truyền đạt kiến thức suốt thời gian học tập nghiên cứu năm sau đại học trường Tôi nhận giúp đỡ bạn khóa, lớp đồng nghiệp nơi cơng tác Các bạn đóng góp cho ý kiến tài liệu giá trị Xin gởi đến bạn lời cảm ơn chân thành tơi Cuối cùng, tơi xin kính gởi đến gia đình lịng biết ơn chân thành, sâu sắc Gia đình, Cha Mẹ động viên, giúp đỡ, tạo điều kiện thuận lợi cho suốt trình học tập nghiên cứu qua TP HCM, ngày 07 tháng 07 năm 2010 Nguyễn Văn Nguyên TĨM TẮT Do nhu cầu phát triển thơng tin di động tăng liên tục nên cần phải có vùng phủ sóng tốt hơn, cải thiện dung lượng chất lượng đường truyền cao Do đó, cần thiết phải sử dụng phổ tần số vô tuyến cách hiệu Hệ thống anten thơng minh có khả sử dụng cách hiệu phổ tần số vô tuyến hứa hẹn giải pháp hiệu cho khó khăn hệ thống vơ tuyến đạt tốc độ cao bền vững tin cậy Kỹ thuật anten thông minh cung cấp giải pháp tiên tiến quan trọng để giảm mức can nhiễu cải thiện dung lượng Với kỹ thuật này, tín hiệu thuê bao truyền nhận trạm thu/phát theo hướng thuê bao Kỹ thuật anten thông minh cố gắng giải vấn đề thơng qua kỹ thuật xử lý tín hiệu tiên tiến gọi tạo búp sóng Giải thuật thích nghi sử dụng xử lý tín hiệu có ảnh hưởng lớn đến chất lượng hệ thống anten thơng minh khả phân tích triệt can nhiễu biết xác vectơ lái Tạo búp sóng thích nghi sử dụng để tăng cường tín hiệu mong muốn triệt nhiễu can nhiễu ngõ dãy anten Tuy nhiên, chất lượng giải thuật tạo búp sóng thích nghi giảm rõ rệt so với trường hợp lý tưởng điều kiện giả sử mơi trường, nguồn tín hiệu dãy anten khơng cịn điều dẫn đến tượng sai lệch Khi giải thuật gọi khơng bền vững Có nhiều giải pháp hiệu cải thiện tính bền vững chống lại sai lệch chẳng hạn giải thuật LSMI Mạng nơron xử lý song song hàng loạt tạo thành từ đơn vị xử lý đơn giản với chất có thiên hướng lưu trữ “kiến thức” học sẵn sàng để sử dụng “kiến thức” Mạng nơron có ưu điểm đặc tính phi tuyến, khả học thích nghi, tính tổng qt hóa vấn đề tốc độ hội tụ nhanh Với ưu điểm vốn có đó, Luận Văn sử dụng mạng nơron để thực giải thuật tạo búp sóng thích nghi bền vững chống lại sai lệch vectơ lái tín hiệu Phương pháp sử dụng mạng RBFNN ba lớp với cách giải vấn đề xem việc tính tốn trọng số tối ưu dãy anten thích nghi toán ánh xạ ngõ vào/ngõ Giải thuật tạo búp sóng thích nghi bền vững sử dụng mạng RBFNN cho thấy tính bền vững cao có sai lệch vectơ lái, tăng cường chất lượng hệ thống anten điều kiện không lý tưởng làm cho tỷ số SINR ngõ dãy anten gần sát với giá trị tối ưu Luận Văn tổ chức thành chương Chương giới thiệu tình hình nghiên cứu chung mục đích, phạm vi thực đề tài Chương giới thiệu sở lý thuyết anten, hệ thống anten thông minh, giải thuật tạo búp sóng cố định thích nghi Chương trình bày giải thuật tạo búp sóng thích nghi bền vững dựa mạng RBFNN Chương thực mơ MATLAB trình bày đánh giá kết đạt Chương kết luận vấn đề đề hướng phát triển đề tài ABSTRACT As the growing demand for mobile communications is constantly increasing, the need for better coverage, improved capacity, and higher transmission quality Thus, a more efficient use of the radio spectrum is required A smart antenna system is capable of efficiently utilizing the radio spectrum and is a promise for an effective solution to the present wireless system problems while achieving reliable and robust high-speed Smart antenna technology offer significantly improved solution to reduce interference level and improve system capacity With this technology, each user’s signal is transmitted and received by the base station only in the direction of that particular user Smart antenna technology attempts to address this problem via advanced signal processing technology called beamforming The adaptive algorithm used in the signal processing has a profound effect on the performance of a Smart Antenna system because it has resolution and interference rejection capability when array steering vector is precisely known Adaptive beamforming is used for enhancing a desired signal while suppressing noise and interference at the output of an array However the performance degradation of adaptive beamforming may become more pronounced than in an ideal case because some of underlying assumptions on environment, sources array and these may cause mismatch Thus, the adaptive algorithm is not robust There are several efficient approaches that provide an improved robustness against mismatch as like LSMI algorithm Neural network is a massively parallel processor made up of simple processing units, which has a natural propensity for storing experimental knowledge and making it available for use Neural network has advantages such as nonlinear property, adaptive learning capability, generalization capability and fast convergence rates Motivated by these inherent advantages of the neural network, in this thesis work, a robust adaptive beamforming algorithm using neural network is investigated which is againsts case of signal steering vector mismatch This method employs a three-layer radial basis function neural network (RBFNN), which treats the problem of computing the weights of an adaptive array antenna as an input/output mapping problem The robust adaptive beamforming algorithm using RBFNN, provides higher robustness to signal steering vector mismatches, enhances the array system performance under non ideal conditions and makes the mean output array SINR (Signal-to-Interference-plus- Noise Ratio) consistently close to the optimal one This thesis is organized into five chapters Chapter introduce curent research and task, scope of thesis Chapter provides basic theory about antennas, smart antenna system, fixed and adaptive beamforming algorithms Chapter discribes the robust adaptive beamforming algorithm based on neural network Chapter contains several simulation and results by MATLAB Chapter provides conclusion remarks and scope of future work MỤC LỤC CHƢƠNG 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 CHƢƠNG 2.1 Anten hệ thống anten 2.1.1 Anten 2.1.1.1 Anten đẳng hướng 2.1.1.2 Anten định hướng 2.1.2 Hệ thống anten 2.1.2.1 Hệ thống phân vùng (Sectorized Systems) 2.1.2.2 Hệ thống phân tập (Diversity System) 2.1.3 2.2 Anten thông minh Hệ thống anten thông minh 10 2.2.1 Kiến trúc hệ thống anten thích nghi 11 2.2.1.1 Xử lý đường lên 12 2.2.1.2 Xử lý đường xuống 12 2.2.2 Các loại hệ thống anten thông minh 13 2.2.2.1 Hệ thống chuyển mạch búp sóng 13 2.2.2.2 Hệ thống dãy thích nghi 14 2.2.2.3 So sánh hệ thống chuyển mạch búp sóng hệ thống dãy thích nghi 15 2.2.3 Các ứng dụng anten thông minh 16 2.2.4 Lợi ích anten 16 2.2.5 Trở ngại anten thông minh 17 2.3 Giải thuật tạo búp sóng 17 2.3.1 Tạo búp sóng trọng số cố định 18 -i- Phụ lục plot(x,SINRlsmi,'-b>','linewidth',2) hold on plot(x,SINRrbfnn,'-mp','linewidth',2) hold on plot(x,SINRopt,'-k','linewidth',2) title('Output SINR vs Mismatch level'); xlabel('Mismatch Level (degree)'); ylabel('Output SINR(dB)'); legend('SMI','LSMI','RBFNN','Optimal',3) % END % test_rbfnn_sinr_vs_snap.m % -BEGIN -% clc; clear all; close all; % -% TH = input('Enter the case which you want to run = '); % 1: no-mismatch % 2: DoA mismatch % 3: array_calibration_errors % 4: coherent_scattering % 5: incoherent_scattering % -% trials = 100; % number of trails M = 12; % number of antennas dw = 0.5; DoA = [2 30 50]*pi/180; assumedDoA = 0*pi/180; SNR = 0; snap = 4:4:200; [amp, Pn] = signals_amplitude(SNR); % -% %%% Initial values wSMI = zeros(M,trials); wLSMI = zeros(M,trials); wRBFNN = zeros(M,trials); % -% SINRsmi_tmp = zeros(1,trials); SINRlsmi_tmp = zeros(1,trials); SINRrbfnn_tmp = zeros(1,trials); SINRopt_tmp = zeros(1,trials); % -% SINRsmi = zeros(1,length(SNR)); SINRlsmi = zeros(1,length(SNR)); SINRrbfnn = zeros(1,length(SNR)); SINRopt = zeros(1,length(SNR)); % -% -107- Phụ lục switch TH case [ASV, PSV, ISV] = steering_vector_no_mismatch(M,dw,DoA); case [ASV, PSV, ISV] = steering_vector_mismatch(M,dw,DoA,assumedDoA); case [ASV, PSV, ISV] = array_calibration_errors(M,dw,DoA); case [ASV, PSV, ISV] = coherent_scattering(M,dw,DoA,4); case [ASV, PSV, ISV] = incoherent_scattering(M,dw,DoA,4); end; % -% for i = 1:size(snap,2) %%% Training RBF Neural Network net = training_rbfnn_snap(DoA,ASV,PSV,ISV,M,snap(i),dw,SNR,TH,assumedDoA); %%% Performance phase for runtimes = 1:trials [Sd, Si, Sn] = signals_generation(amp,M,snap(i),DoA); Rss = (ASV*Sd)*(ASV*Sd)'/snap(i); Rii = (ISV*Si)*(ISV*Si)'/snap(i); Rnn = Sn*Sn'/snap(i); Rxx = covariance_matrix_Rxx(ASV,ISV,Sd,Si,Sn); Ps = mean(abs(Sd).^2); % % %%% SMI Beamformer %%% wSMI(:,runtimes) = beamformer_smi(PSV,Rxx); SINRsmi_tmp(runtimes) = Ps*abs(wSMI(:,runtimes)'*ASV)^2/(wSMI(:,runtimes)'*(Rii+Rnn)*wSMI(:, runtimes)); % SINRsmi_tmp(runtimes) = wSMI(:,runtimes)'*Rss*wSMI(:,runtimes)/(wSMI(:,runtimes)'*(Rii+Rnn)* wSMI(:,runtimes)); % % %%% LSMI Beamformer %%% wLSMI(:,runtimes) = beamformer_lsmi(PSV,Rxx,Pn); SINRlsmi_tmp(runtimes) = Ps*abs(wLSMI(:,runtimes)'*ASV)^2/(wLSMI(:,runtimes)'*(Rii+Rnn)*wLSMI (:,runtimes)); % SINRlsmi_tmp(runtimes) = wLSMI(:,runtimes)'*Rss*wLSMI(:,runtimes)/(wLSMI(:,runtimes)'*(Rii+Rn n)*wLSMI(:,runtimes)); % % %%% RBF Beamformer %%% wRBFNN(:,runtimes) = weighting(sim(net,rearrangeRxx(Rxx))); SINRrbfnn_tmp(runtimes) = Ps*abs(wRBFNN(:,runtimes)'*ASV)^2/(wRBFNN(:,runtimes)'*(Rii+Rnn)*wRB FNN(:,runtimes)); % SINRrbfnn_tmp(runtimes) = wRBFNN(:,runtimes)'*Rss*wRBFNN(:,runtimes)/(wRBFNN(:,runtimes)'*(Rii +Rnn)*wRBFNN(:,runtimes)); % % -108- Phụ lục %%% Optimal Beamformer %%% SINRopt_tmp(:,runtimes) = Ps*ASV'*inv(Rii+Rnn)*ASV; end; % trials % -% %%% Output SINR of SMI Beamformer %%% SINRsmi(i) = sum(SINRsmi_tmp,2)/trials; SINRsmi(i) = 10*log10(abs(SINRsmi(i))); % dB % -% %%% Output SINR of LSMI Beamformer %%% SINRlsmi(i) = sum(SINRlsmi_tmp,2)/trials; SINRlsmi(i) = 10*log10(abs(SINRlsmi(i))); % dB % -% %%% Output SINR of RBFNN Beamformer %%% SINRrbfnn(i) = sum(SINRrbfnn_tmp,2)/trials; SINRrbfnn(i) = 10*log10(abs(SINRrbfnn(i))); % dB % -% %%% Output SINR of Optimal Beamformer %%% SINRopt(i) = sum(SINRopt_tmp,2)/trials; SINRopt(i) = 10*log10(abs(SINRopt(i))); % dB end; % -% %%% Saving data switch TH case save SINRsmi_case1_snap SINRsmi; save SINRlsmi_case1_snap SINRlsmi; save SINRrbfnn_case1_snap SINRrbfnn; save SINRopt_case1_snap SINRopt; case save SINRsmi_case2_snap SINRsmi; save SINRlsmi_case2_snap SINRlsmi; save SINRrbfnn_case2_snap SINRrbfnn; save SINRopt_case2_snap SINRopt; case save SINRsmi_case3_snap SINRsmi; save SINRlsmi_case3_snap SINRlsmi; save SINRrbfnn_case3_snap SINRrbfnn; save SINRopt_case3_snap SINRopt; case save SINRsmi_case4_snap SINRsmi; save SINRlsmi_case4_snap SINRlsmi; save SINRrbfnn_case4_snap SINRrbfnn; save SINRopt_case4_snap SINRopt; case save SINRsmi_case5_snap SINRsmi; save SINRlsmi_case5_snap SINRlsmi; save SINRrbfnn_case5_snap SINRrbfnn; save SINRopt_case5_snap SINRopt; end; % -% %%% Plot output SINR vesus snap plot(snap,SINRsmi,'-go','linewidth',2); grid on -109- Phụ lục hold on plot(snap,SINRlsmi,'-b>','linewidth',2) hold on plot(snap,SINRrbfnn,'-mp','linewidth',2) hold on SINRopt(1:size(snap,2)) = 11.2250 ; plot(snap,SINRopt,'-k','linewidth',2) switch TH case title('Case: No mismatch'); case title('Case: Unknown Steering Vector'); case title('Case: Random amplitude and phase error'); case title('Case: Local coherent scattering'); case title('Case: Local incoherent scattering'); end xlabel('Number of snapshots'); ylabel('SINR(dB)'); legend('SMI','LSMI','RBFNN','Optimal',4) % -END -% test_rbfnn_sinr_vs_snr_and_gain_vs_snr.m % -BEGIN -% clc; clear all; close all; % -% TH = input('Enter the case which you want to run = '); % 1: no-mismatch % 2: DoA mismatch % 3: array_calibration_errors % 4: coherent_scattering % 5: incoherent_scattering % -% %%% Antenna & signals parameters trials = 100; M = 12; dw = 0.5; K = 100; % snapshots DoA = [2 30 50]*pi/180; assumedDoA = 0*pi/180; % in case of unknown steering vector SNR = -10:2:10; % -% %%% Initial values wSMI = zeros(M,trials); -110- Phụ lục wLSMI = zeros(M,trials); wRBFNN = zeros(M,trials); % -% SINRsmi_temp = zeros(1,trials); SINRlsmi_temp = zeros(1,trials); SINRrbfnn_temp = zeros(1,trials); SINRopt_temp = zeros(1,trials); % -% SINRsmi = zeros(1,length(SNR)); SINRlsmi = zeros(1,length(SNR)); SINRrbfnn = zeros(1,length(SNR)); SINRopt = zeros(1,length(SNR)); % -% switch TH case [ASV, PSV, ISV] = steering_vector_no_mismatch(M,dw,DoA); case [ASV, PSV, ISV] = steering_vector_mismatch(M, dw, DoA, assumedDoA); case [ASV, PSV, ISV] = array_calibration_errors(M, dw, DoA); case [ASV, PSV, ISV] = coherent_scattering(M, dw, DoA, 4); case [ASV, PSV, ISV] = incoherent_scattering(M, dw, DoA, 4); end; % -% lambda = [0.0107,0.0098,0.0098,0.0078,0.0072,0.0060,0.0048,0.0041,0.0027,0.0018,0.00 12,7.8074e-004 5.1841e-004,3.3489e-004,1.8470e-004,1.3091e-004, 9.7685e-005,6.5647e006,3.8144e-006,0.0107,0.0098]; % -% for i = 1:length(SNR) [amp, Pn] = signals_amplitude(SNR(i)); % Training RBF Neural Network net = training_rbfnn_snr(DoA, ASV, PSV, ISV, M, K, dw, SNR(i), TH, assumedDoA, lambda(i)); %%% Performance phase for runtimes = 1:trials % % [Sd, Si, Sn] = signals_generation(amp,M,K,DoA); Rxx = covariance_matrix_Rxx(ASV,ISV,Sd,Si,Sn); Rss = (ASV*Sd)*(ASV*Sd)'/K; Rii = covariance_matrix_Rii(ISV,Si,M,K); Rnn = Sn*Sn'/K; Ps = mean(abs(Sd).^2); % -% %%% SMI Beamformer %%% wSMI(:,runtimes) = beamformer_smi(PSV,Rxx); SINRsmi_temp(runtimes) = Ps*abs(wSMI(:,runtimes)'*ASV)^2/ (wSMI(:,runtimes)'*(Rii+Rnn)*wSMI(:,runtimes)); % SINRsmi_temp(runtimes) = wsmi(:,runtimes)'*Rss*wsmi(:,runtimes)/ % (wsmi(:,runtimes)'*(Rii+Rnn)*wsmi(:,runtimes)); -111- Phụ lục % -% %%% LSMI Beamformer %%% wLSMI(:,runtimes) = beamformer_lsmi(PSV,Rxx,Pn); SINRlsmi_temp(runtimes) = Ps*abs(wLSMI(:,runtimes)'*ASV)^2/ (wLSMI(:,runtimes)'*(Rii+Rnn)*wLSMI(:,runtimes)); % SINRlsmi_temp(runtimes) = wlsmi(:,runtimes)'*Rss*wlsmi(:,runtimes)/ % (wlsmi(:,runtimes)'*(Rii+Rnn)*wlsmi(:,runtimes)); % -% %%% RBFNN Beamformer %%% wRBFNN(:,runtimes) = weighting(sim(net,rearrangeRxx(Rxx))); SINRrbfnn_temp(runtimes) = Ps*abs(wRBFNN(:,runtimes)'*ASV)^2/ (wRBFNN(:,runtimes)'*(Rii+Rnn)*wRBFNN(:,runtimes)); % SINRrbfnn_temp(runtimes) = wRBFNN(:,runtimes)'*Rss*wRBFNN(:,runtimes)/ %(wRBFNN(:,runtimes)'*(Rii+Rnn)*wRBFNN(:,runtimes)); % -% %%% Optimal Beamformer %%% SINRopt_temp(:,runtimes) = Ps*ASV'*inv(Rii+Rnn)*ASV; end; % trials % -% %%% Output SINR of SMI Beamformer %%% SINRsmi(i) = sum(SINRsmi_temp,2)/trials; SINRsmi(i) = 10*log10(abs(SINRsmi(i))); % dB % -% %%% Output SINR of LSMI Beamformer %%% SINRlsmi(i) = sum(SINRlsmi_temp,2)/trials; SINRlsmi(i) = 10*log10(abs(SINRlsmi(i))); % dB % -% %%% Output SINR of RBFNN Beamformer %%% SINRrbfnn(i) = sum(SINRrbfnn_temp,2)/trials; SINRrbfnn(i) = 10*log10(abs(SINRrbfnn(i))); % dB %%% Output SINR of Optimal Beamformer % SINRopt(i) = sum(SINRopt_temp,2)/trials; SINRopt(i) = 10*log10(abs(SINRopt(i))); % dB end; % SNR % -% %%% Saving data switch TH case save SINRsmi_case1_snr SINRsmi; save SINRlsmi_case1_snr SINRlsmi; save SINRrbfnn_case1_snr SINRrbfnn; save SINRopt_case1_snr SINRopt; case save SINRsmi_case2_snr SINRsmi; save SINRlsmi_case2_snr SINRlsmi; save SINRrbfnn_case2_snr SINRrbfnn; save SINRopt_case2_snr SINRopt; case save SINRsmi_case3_snr SINRsmi; save SINRlsmi_case3_snr SINRlsmi; save SINRrbfnn_case3_snr SINRrbfnn; save SINRopt_case3_snr SINRopt; -112- Phụ lục case save SINRsmi_case4_snr save SINRlsmi_case4_snr save SINRrbfnn_case4_snr save SINRopt_case4_snr case save SINRsmi_case5_snr save SINRlsmi_case5_snr save SINRrbfnn_case5_snr save SINRopt_case5_snr SINRsmi; SINRlsmi; SINRrbfnn; SINRopt; SINRsmi; SINRlsmi; SINRrbfnn; SINRopt; end; % -% %%% SINR vs SNR (truonghop = 0) or Gain vs SNR (truonghop = 1) truonghop = 0; if truonghop == %%% Plot output SINR vesus SNR plot(SNR,SINRsmi,'-go','linewidth',2); grid on hold on plot(SNR,SINRlsmi,'-b>','linewidth',2) hold on plot(SNR,SINRrbfnn,'-mp','linewidth',2) hold on % SINRopt(1:size(SNR,2)) = 11.2250 ; plot(SNR,SINRopt,'-k','linewidth',2) elseif truonghop == %%% Plot Gain vesus input SNR SINRin = SNR - 60; plot(SNR,SINRsmi- SINRin,'-go','linewidth',2); grid on hold on plot(SNR,SINRlsmi- SINRin,'-b>','linewidth',2) hold on plot(SNR,SINRrbfnn- SINRin,'-mp','linewidth',2) hold on % SINRopt(1:size(SNR,2)) = 11.2250 ; plot(SNR,SINRopt- SINRin,'-k','linewidth',2) end; switch TH case title('Case: case title('Case: case title('Case: case title('Case: case No mismatch'); Unkown Steering Vector'); Random amplitude and phase error '); Local coherent scattering'); -113- Phụ lục title('Case: Local incoherent scattering'); end xlabel('SNR (dB)'); ylabel('Output SINR(dB)'); legend('SMI','LSMI','RBFNN','Optimal',2) % END % test_rbfnn_SLL.m % -BEGIN -% clc; clear all; close all; % -% TH = input('Enter the case which you want to run = '); % 1: no-mismatch % 2: DoA mismatch % -% %%% Antenna & signals parameters trials = 100; M = 12; dw = 0.5; K = 100; % snapshots DoA = [2 30 50]*pi/180; assumedDoA = 0*pi/180; % in case of unknown steering vector SNR = -10:5:10; % -% %%% Initial values SLLsmi = zeros(1,length(SNR)); SLLlsmi = zeros(1,length(SNR)); SLLrbfnn = zeros(1,length(SNR)); % -% lambda = [0.0107,0.0098,0.0098,0.0078,0.0072,0.0060,0.0048,0.0041,0.0027,0.0018,0.00 12,7.8074e-004 5.1841e-004,3.3489e-004,1.8470e-004,1.3091e-004, 9.7685e-005,6.5647e006,3.8144e-006,0.0107,0.0098]; % -% for i = 1:length(SNR) [amp, Pn] = signals_amplitude(SNR(i)); switch TH case [ASV, PSV, ISV] = steering_vector_no_mismatch(M,dw,DoA); case [ASV, PSV, ISV] = steering_vector_mismatch(M,dw,DoA,assumedDoA); end; % % %%% Training RBF Neural Network net = training_rbfnn_snap(DoA,ASV,PSV,ISV,M,K,dw,SNR(i),TH,assumedDoA); % % %%% Performance phase -114- Phụ lục for runtimes = 1:trials [Sd, Si, Sn] = signals_generation(amp,M,K,DoA); Rxx = covariance_matrix_Rxx(ASV,ISV,Sd,Si,Sn); Rss = (ASV*Sd)*(ASV*Sd)'/K; Rii = covariance_matrix_Rii(ISV,Si,M,K); Rnn = Sn*Sn'/K; Ps = mean(abs(Sd).^2); % -% wSMI = beamformer_smi(PSV,Rxx); wLSMI = beamformer_lsmi(PSV,Rxx,Pn); wRBFNN = weighting(sim(net,rearrangeRxx(Rxx))); SLLsmi_tmp(:,runtimes) = SLL(DoA,M,dw,wSMI); SLLlsmi_tmp(:,runtimes) = SLL(DoA,M,dw,wLSMI); SLLrbfnn_tmp(:,runtimes) = SLL(DoA,M,dw,wRBFNN); end SLLsmi(i) = sum(SLLsmi_tmp,2)/trials; SLLlsmi(i) = sum(SLLlsmi_tmp,2)/trials; SLLrbfnn(i) = sum(SLLrbfnn_tmp,2)/trials; end % -% %%% Plot output SLL vesus SNR plot(SNR,SLLsmi,'-go','linewidth',2); grid on hold on plot(SNR,SLLlsmi,'-b>','linewidth',2) hold on plot(SNR,SLLrbfnn,'-mp','linewidth',2) switch TH case title('Case: No mismatch'); case title('Case: Unknown Steering Vector'); end xlabel('SNR(dB)'); ylabel('SLL(dB)'); legend('SMI','LSMI','RBFNN',2); % END % training_rbfnn_beam.m function net = training_rbfnn_beam(DoA,ASV,PSV,ISV,M,K,dw,SNR,TH,assumedDoA) % -% % Date 12 Apr 2010 % By Nguyen Van Nguyen % -% Ropt = []; Wopt = []; delta1 = (DoA(2)-DoA(1))*180/pi; -115- Phụ lục delta2 = (DoA(3)-DoA(1))*180/pi; theta = DoA_generation(delta1,delta2); assumedDoA = theta(1,:)-2*pi/180; Nt = size(theta,2); amp = signals_amplitude(SNR); for n = 1:Nt switch TH case [ASV, PSV, ISV] = steering_vector_no_mismatch(M,dw,theta(:,n)); case [ASV, PSV, ISV] = steering_vector_mismatch(M,dw,theta(:,n),assumedDoA(n)); end [R, W] = OneSample_Beam(ASV,PSV,ISV,theta(:,n),amp,M,K); Ropt = [Ropt R]; Wopt = [Wopt W]; end; net = newrbe(Ropt,Wopt); % or % net = newrb(Ropt,Wopt); % END % function [Ropt, Wopt] = OneSample_Beam(ASV,PSV,ISV,DoA,amp,M,K) Ropt = []; Wopt = []; itr = 50; for i = 1:itr [Sd, Si, Sn] = signals_generation(amp,M,K,DoA); Rxx = covariance_matrix_Rxx(ASV,ISV,Sd,Si,Sn); Ropt = [Ropt rearrangeRxx(Rxx)]; Wtemp(:,i) = rab_beamformer_beam(ASV,PSV,Rxx); end; W = sum(Wtemp,2)/itr; W = rearrangeWopt(W); for i = 1:itr Wopt = [Wopt W]; end; % END % function wRAB = rab_beamformer_beam(ASV,PSV,Rxx) lambda = 0.002; % de rut ngan thoi gian, tinh lambda truoc M = size(Rxx,1); I = eye(M); [U,V] = eig(Rxx); % wRAB = -(inv(Rxx)*(inv(lambda*Rxx+I)I)*PSV)/(PSV'*inv(Rxx)*((inv(lambda*Rxx+I)-I)^2)*PSV); wRAB = -(U*inv(V)*(inv(lambda*V+I)I)*U'*PSV)/(PSV'*U*inv(V)*((inv(lambda*V+I)-I)^2)*U'*PSV); % wRAB = (U*inv(V)*(inv(lambda*V+I)I)*U.'*PSV)/(PSV.'*U*inv(V)*((inv(lambda*V+I)-I)^2)*U.'*PSV); % END % -116- Phụ lục training_rbfnn_snap.m function net = training_rbfnn_snap(DoA,ASV,PSV,ISV,M,K,dw,SNR,TH,assumedDoA) % -% % Date 12 Apr 2010 % By Nguyen Van Nguyen % -% Ropt = []; Wopt = []; delta1 = (DoA(2)-DoA(1))*180/pi; delta2 = (DoA(3)-DoA(1))*180/pi; theta = DoA_generation(delta1,delta2); assumedDoA = theta(1,:)-2*pi/180 ; Nt = size(theta,2); amp = signals_amplitude(SNR); for n = 1:Nt switch TH case [ASV, PSV, ISV] = steering_vector_no_mismatch(M,dw,theta(:,n)); case [ASV, PSV, ISV] = steering_vector_mismatch(M,dw,theta(:,n),assumedDoA(n)); case [ASV, PSV, ISV] = array_calibration_errors(M,dw,theta(:,n)); case [ASV, PSV, ISV] = coherent_scattering(M,dw,theta(:,n), 4); case [ASV, PSV, ISV] = incoherent_scattering(M,dw,theta(:,n), 4); end [R, W] = OneSample(ASV,PSV,ISV,theta(:,n),amp,M,K); Ropt = [Ropt R]; Wopt = [Wopt W]; end; net = newrbe(Ropt,Wopt); % or % net = newrb(Ropt,Wopt); % END % function [Ropt, Wopt] = OneSample(ASV,PSV,ISV,DoA,amp,M,K) Ropt = []; Wopt = []; itr = 50; for i = 1:itr [Sd, Si, Sn] = signals_generation(amp,M,K,DoA); Rxx = covariance_matrix_Rxx(ASV,ISV,Sd,Si,Sn); Ropt = [Ropt rearrangeRxx(Rxx)]; Wtemp(:,i) = rab_beamformer_snap(ASV,PSV,Rxx); end; W = sum(Wtemp,2)/itr; W = rearrangeWopt(W); for i = 1:itr Wopt = [Wopt W]; end; -117- Phụ lục % END % function wRAB = rab_beamformer_snap(ASV,PSV,Rxx) lambda = 0.002; % de rut ngan thoi gian, tinh lambda truoc M = size(Rxx,1); I = eye(M); [U,V] = eig(Rxx); % wRAB = -(inv(Rxx)*(inv(lambda*Rxx+I)I)*PSV)/(PSV'*inv(Rxx)*((inv(lambda*Rxx+I)-I)^2)*PSV); wRAB = -(U*inv(V)*(inv(lambda*V+I)I)*U'*PSV)/(PSV'*U*inv(V)*((inv(lambda*V+I)-I)^2)*U'*PSV); % wRAB = (U*inv(V)*(inv(lambda*V+I)I)*U.'*PSV)/(PSV.'*U*inv(V)*((inv(lambda*V+I)-I)^2)*U.'*PSV); % END % training_rbfnn_snr.m function net = training_rbfnn_snr(DoA,ASV,PSV,ISV,M,K,dw,SNR,TH,assumedDoA,lambda) % -% % Date 12 Apr 2010 % By Nguyen Van Nguyen % -% Ropt = []; Wopt = []; delta1 = (DoA(2)-DoA(1))*180/pi; delta2 = (DoA(3)-DoA(1))*180/pi; theta = DoA_generation(delta1,delta2); assumedDoA = theta(1,:)-2*pi/180 ; Nt = size(theta,2); amp = signals_amplitude(SNR); for n = 1:Nt switch TH case [ASV, PSV, ISV] = steering_vector_no_mismatch(M,dw,theta(:,n)); case [ASV, PSV, ISV] = steering_vector_mismatch(M,dw,theta(:,n),assumedDoA(n)); case [ASV, PSV, ISV] = array_calibration_errors(M,dw,theta(:,n)); case [ASV, PSV, ISV] = coherent_scattering(M,dw,theta(:,n), 4); case [ASV, PSV, ISV] = incoherent_scattering(M,dw,theta(:,n), 4); end [R, W] = OneSample(ASV,PSV,ISV,theta(:,n),amp,M,K,lambda); Ropt = [Ropt R]; Wopt = [Wopt W]; end; net = newrbe(Ropt,Wopt); % or -118- Phụ lục % net = newrb(Ropt,Wopt); % END % function [Ropt, Wopt] = OneSample(ASV,PSV,ISV,DoA,amp,M,K,lambda) Ropt = []; Wopt = []; S = []; itr = 50; for i = 1:itr [Sd, Si, Sn] = signals_generation(amp,M,K,DoA); % S = [S; Sd; Si; Sn]; Rxx = covariance_matrix_Rxx(ASV,ISV,Sd,Si,Sn); Ropt = [Ropt rearrangeRxx(Rxx)]; Wtemp(:,i) = rab_beamformer_snr(ASV,PSV,Rxx,lambda); end; W = sum(Wtemp,2)/itr; W = rearrangeWopt(W); for i = 1:itr Wopt = [Wopt W]; end; % END % function wRAB = rab_beamformer_snr(ASV,PSV,Rxx,lambda) M = size(Rxx,1); I = eye(M); [U,V] = eig(Rxx); % wRAB = -(inv(Rxx)*(inv(lambda*Rxx+I)I)*PSV)/(PSV'*inv(Rxx)*((inv(lambda*Rxx+I)-I)^2)*PSV); wRAB = -(U*inv(V)*(inv(lambda*V+I)I)*U'*PSV)/(PSV'*U*inv(V)*((inv(lambda*V+I)-I)^2)*U'*PSV); % wRAB = (U*inv(V)*(inv(lambda*V+I)I)*U.'*PSV)/(PSV.'*U*inv(V)*((inv(lambda*V+I)-I)^2)*U.'*PSV); % END % weighting.m function y = weighting(x) % -% % input % x = [2Mx1] % Date: 07 April 2010 % By: Nguyen Van Nguyen % -% num = 1; for i = 1:size(x,1)/2 y(i,1) = x(num,1) + j*x(num+1,1); num = num+2; end % END % -119- LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Văn Nguyên Giới tính: Nam Ngày tháng năm sinh: 26/12/1982 Nơi sinh: Bình Định Quê quán: Bình Định Dân tộc: Kinh Địa liên lạc: 21/36 Trường Sơn, P.4 Q Tân Bình, TpHCM Điện thoại liên hệ: (0199) 9890-447 Email: nguyennv82@gmail.com QUÁ TRÌNH ĐÀO TẠO Đại học: Hệ đào tạo: Chính quy Thời gian đào tạo: từ 09/2000 đến 01/2005 Nơi đào tạo: Đại học Bách Khoa Tp.HCM – Đại học Quốc gia TpHCM Ngành học: Điện tử - Viễn thông Tên đồ án, luận án môn thi tốt nghiệp: Bộ cân Neural Network sử dụng giải thuật Di truyền Ngày nơi bảo vệ đồ án, luận án: tháng 12/2005 TpHCM Người hướng dẫn: Th.S Hoàng Đình Chiến Thạc sĩ: Thời gian đào tạo: từ 09/2007 đến Nơi đào tạo: Đại học Bách Khoa TpHCM – Đại học Quốc gia TpHCM Ngành học: Kỹ thuật Điện tử Q TRÌNH CƠNG TÁC Thời gian 07/2005-04/2009 Nơi công tác Công việc đảm nhiệm Trung tâm Điện thoại Di động CDMA Nhân viên Phòng Kỹ – STelecom, 97 NTMK Q1 Tp.HCM thuật Công ty Cổ phần Viễn thông Di động 04/2009 – Gtel Mobile, 47 Phạm Viết Chánh, P.Nguyễn Cư Trinh, Q1 Tp.HCM Nhân viên Phòng Vận hành mạng ... K sử dụng suốt trình lặp -29- Chương 3: Giải thuật tạo búp sóng thích nghi bền vững dựa mạng nơron CHƢƠNG GIẢI THUẬT TẠO BÚP SĨNG THÍCH NGHI BỀN VỮNG DỰA TRÊN MẠNG NƠRON Tạo búp sóng thích nghi. .. kỹ thuật tạo búp sóng thích nghi giảm trầm trọng có sai lệch đáp ứng giả sử đáp ứng thực Lúc giải thuật gọi khơng bền vững Để cải thiện tính bền vững kỹ thuật tạo búp sóng thích nghi sử dụng mạng. .. thuyết anten giải thuật tạo búp sóng Tìm hiểu sở lý thuyết mạng nơron Thực giải thuật tạo búp sóng thích nghi bền vững sử dụng mạng nơron RBFNN Thực mô MATLAB để đánh giá chất lượng giải thuật RBFNN

Ngày đăng: 15/02/2021, 07:35

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN