📄 antenna_selection.m
字号:
function [A, B]= antenna_selection(H,Delta_S_Set,type,SNR)% function [A, B]= antenna_selction(H,Delta_S_Set,type,SNR)% Antenna Subset Selection, choose A and B by type = MBER,MMI,LAZY% A,B Antenna selected% H channel matrix estimation% Delta_S_Set exhaustive searching set of Delta_S% type different criteria MBER=Minimum BER, MMI=Maximum Mutual Info% SNR Signal to Noise Ritio in dB% by Jinfeng Du% 05-04-22MBER = 1;MMI = 2;LAZY = 3;MNP = 4; %Minimum Noise PowerMMNP = 5;LAZY2 = 6;if nargin<3 type = MBER;endif nargin<4 SNR = 20;%in dBendsignal_noise = 10^(SNR/10.0);if type == MBER % start of Minimum BER criteria set_len = length(Delta_S_Set); max_d = 0; for Ai = 1:2 for Bi = 3:4 d = norm(H([Ai Bi],:)*Delta_S_Set(:,1)); % Initial value of d for len = 2:set_len new_d = norm(H([Ai Bi],:)*Delta_S_Set(:,len)); if new_d < d d = new_d; end end %end of minimizing d if d > max_d max_d = d; A = Ai; B = Bi; end % end of finding the maximum minimum d end %end of Bi end %end of Ai% end of Minimum BER criteriaelseif type == MMI % start of Maximum Mutual Information criteria max_r = 0; for Ai = 1:2 for Bi = 3:4 new_r = det(eye(2) + signal_noise*H([Ai Bi],:)*H([Ai Bi],:)'); if new_r > max_r max_r = new_r; A = Ai; B = Bi; end % end of finding the max_r end %end of Bi end %end of Ai% end of Maximum Mutual Information criteriaelseif type == MNP % start of Minimum Noise Power criteria min_r = 10^8; for Ai = 1:2 for Bi = 3:4 new_r = trace(inv(H([Ai Bi],:))*inv(H([Ai Bi],:))'); if new_r < min_r min_r = new_r; A = Ai; B = Bi; end % end of finding the min_r end %end of Bi end %end of Ai% end of Minimum Noise Power criteriaelseif type == MMNP % start of Minimum Noise Power criteria max_r = 0; for Ai = 1:2 for Bi = 3:4 R = inv(H([Ai Bi],:))*inv(H([Ai Bi],:))'; min_r = 1/R(1,1); if R(1,1) < R(2,2) min_r = 1/R(2,2); end if max_r < min_r max_r = min_r; A = Ai; B = Bi; end % end of finding the min_r end %end of Bi end %end of Ai% end of Minimum Noise Power criteriaelseif type == LAZY % start of Lazy selection A = 1; B = 3; % end of LAZY selectionelseif type == LAZY2 % start of Lazy selection A = 2; B = 4; % end of LAZY selectionend% end of selection
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -