cvmov_selector.m

来自「implement basic routines in Matlab and O」· M 代码 · 共 30 行

M
30
字号
function [n, mysummation] = cvmov_selector(r, s, Nmax)

numSnapshots = size(r, 2);
w_av_filters = zeros(size(r,1), Nmax, numSnapshots);

for m = 1:numSnapshots
%    R = (1/(size(r,2)-1))*([r(:, 1:(m-1)) r(:, m+1:numSnapshots)]*[r(:, 1:(m-1)) r(:, m+1:numSnapshots)]');
    R = cov([r(:, 1:(m-1)) r(:, m+1:numSnapshots)]');
    w_av_filters(:, :, m) = calculate_av_mvdr(Nmax, s, R);
%     if mod(m, 25) == 0
%         disp('--------------- Generating AV Filters ---------------------')
%         m
%         numSnapshots
%     end
end

mysummation = zeros(1, Nmax);

for m = 1:numSnapshots
    mysummation2(m, :) = sum(((((w_av_filters(:, :, m))') * r(:,m)*r(:,m)').') .* w_av_filters(:, :, m));
%     if mod(m, 25) == 0
%         disp('--------------- Estimating Best Filter ---------------------')
%         m
%         numSnapshots
%     end    
end
mysummation = sum(mysummation2);
[x n] = min(abs(mysummation));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?