www.gusucode.com > 瑞利信道下噪声能量的估计源码程序 > 瑞利信道下噪声能量的估计源码程序/MSP_estimate_version1/MSP/MSP_Rayleigh_distribution.m
% MSP-Rayleigh based on Kullback-Leibler divergence % % Tomasz Pieciak % AGH university of Science and Technology, Krakow, Poland % pieciak@agh.edu.pl, http://home.agh.edu.pl/pieciak/ % % ARGUMENTS % sigma - sigma parameter % m - data (order statitics according to eq. (5)) % k - order of the MSP estimator, eq. (16) % delta - parameter to avoid impermissible numerical calculations % weights - unused (to be used in future) % % FUNCTION RETURNS % value - value of the MSP-Rayleigh estimator at sigma % grad - gradient of the MSP-Rayleigh estimator at sigma % % USAGE % FUNCTION_HANDLE_MSP_RAYLEIGH_KL = @(sigma_, m_, k_, delta_, weights_)MSP_Rayleigh_distribution(sigma_, m_, k_, delta_, weights_); % ... % [value, grad] = feval(FUNCTION, sigma_old, m, k, delta, weights); % Optimization_Rayleigh_GD.m file function [value, grad] = MSP_Rayleigh_distribution(sigma, m, k, delta, weights) n = length(m); alpha = exp( -(m.^2) ./ (2*sigma^2) ); % alpha_i defined in paragraph 2.1 beta = (n+1)/k; % beta parameter defined in paragraph 2.3 % Value of the Q_MPS function at 'sigma' value = -( (1/(n-k+2)) .* (log(1 - alpha(k) + delta) + sum(log(alpha(1:n-k) - alpha(k+1:n) + delta)) - m(n-k+1).^2/(2*sigma^2)) + log(beta) ); % extended version of eq. (7) % Gradient of the Q_MPS function at 'sigma' grad = -(1/((n-k+2)*sigma^3)) * ( (m(k)^2 * alpha(k))/(alpha(k) - 1 + delta) + sum((m(1:n-k).^2 .* alpha(1:n-k) - m(k+1:n).^2 .* alpha(k+1:n)) ./ (alpha(1:n-k) - alpha(k+1:n) + delta)) + m(n-k+1)^2 ); % extended version of eq. (15)