⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 antenna_selection.m

📁 mimo2x2天线选择系统的全系统matlab程序,先前的是dsp程序.
💻 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 + -