• aYooo
    了解作者
  • matlab
    开发工具
  • 26KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 2
    下载次数
  • 2020-05-11 16:23
    上传日期
鲁棒独立分量分析 Kurtosis-based RobustICA method for deflationary ICA/BSS (see references below for details).
robustica_package_v3.zip
  • deflation_regression.m
    2.4KB
  • completion_bar.m
    4.1KB
  • compute_smse.m
    2.5KB
  • kurt_gradient_optstep.m
    8.4KB
  • robustica_tnn_fig3_sim.m
    9.2KB
  • fastica.m
    4.3KB
  • get_parameters.m
    4.6KB
  • robustica_demo.m
    8.8KB
  • robustica.m
    11KB
  • contents.m
    6.8KB
内容介绍
function [S, H, iter, W] = robustica(X, arguments) % Kurtosis-based RobustICA method for deflationary ICA/BSS (see references below for details). % % % SYNTAX: [S, H, iter, W] = robustica(X, arguments); % % % OUTPUTS: % S : estimated sources signals (one row per signal, one column per sample) % % H : estimated mixing matrix % % iter : number of iterations (one element per extracted source) % % W : estimated extracting vectors % (acting on whitened observations if prewhitened is required; % otherwise, acting on given observations). % % % INPUTS: % X : observed signals (one row per signal, one column per sample) % % arguments : a cell array of arguments with the structure % {'argument1', argument1_value, ..., 'argumentN', argumentN_value} % % If the argument is not specified, the default value is assumed. % The arguments are the following: % % 'deftype' deflation type: 'orthogonalization', 'regression' % * default: 'orthogonalization' % % 'dimred' dimensionality reduction in regression if parameter different from zero; % (not used in deflationary orthogonalization) % * default: false % % 'kurtsign' source kurtosis signs (one element per source); % maximize absolute normalized kurtosis if corresponding element = 0; % * default: zero vector (maximize absolute normalized kurtosis for all sources) % % 'maxiter' maximum number of iterations per extracted source; % * default: 1000 % % 'prewhi' prewhitening (via SVD of the observed data matrix); % * default: true % % 'tol' threshold for statistically-significant termination test of the type % ||wn - p*w||/||w|| < tol/sqrt(sample size); (up to a phase shift p) % termination is also tested by comparing the gradient norm according to: % ||g|| < tol/sqrt(sample size); % termination test is not used if tol < 0, so that the algorithm runs the maximum % number of iterations (except if optimal step size reaches a null value); % * default: 1e-3 % % 'verbose' verbose operation if true % * default: false (quiet operation). % % 'Wini' extracting vectors initialization for RobustICA iterative search; % if empty, identity matrix of suitable dimensions is used % * default: empty % % 'wreal' if different from zero, keep extracting vector real valued by retaining only the % real part of the gradient; useful, for instance, in separating real-valued mixtures % in the frequency domain, as in the RobustICA-f algorithm % * default: false. % % % EXAMPLES: % % >> S = robustica(X, arguments); % % - RobustICA with prewhitening, deflationary orthogonalization, identity matrix initialization, % up to 1000 iteratons per source, termination threshold 1e-3/(sample size), without aiming at % any specific source (default) % % arguments = {} (or use "S = robustica(X)" directly) % % - RobustICA with prewhitening and regression-based deflation: % % arguments = {'deftype', 'regression'); % % - RobustICA without prewhitening, with regression-based deflation: % % arguments = {'prewhi', false, 'deftype', 'regression'); % % - RobustICA without prewhitening, with regression-based deflation and random initialization: % % arguments = {'prewhi', false, 'deftype', 'regression', 'Wini', randn(size(X, 1)} % % - RobustICA without prewhitening, with regression-based deflation and dimensionality reduction: % % arguments = {'prewhi', false, 'deftype', 'regression', 'dimred', true} % % - RobustICA with prewhitening, regression-based deflation, verbose operation: % % arguments = {'deftype', 'regression', 'verbose', true} % % - RobustICA with prewhitening, deflationary orthogonalization, and exactly 10 iterations per independent % component: % % arguments = {'tol', -1, 'maxiter', 10} % % - RobustICA with prewhitening, deflationary orthogonalization, targeting first the sub-Gaussian % and then the super-Gaussian sources in a square mixture of 5 sub-Gaussian and 5 super-Gaussian sources: % % arguments = {'kurtsign', [ones(1,5), -ones(1,5)]} % % - RobustICA with prewhitening, regression-based deflation, targeting first a sub-Gaussian source: % % arguments = {'kurtsign', [-1, zeros(1,size(X, 1)-1)], 'deftype', 'regression'}. % % % REFERENCES: % % - V. Zarzoso and P. Comon, <a href = "http://www.i3s.unice.fr/~zarzoso/biblio/tnn10.pdf" rel='nofollow' onclick='return false;'>"Robust Independent Component Analysis by Iterative Maximization</a> % <a href = "http://www.i3s.unice.fr/~zarzoso/biblio/tnn10.pdf" rel='nofollow' onclick='return false;'>of the Kurtosis Contrast with Algebraic Optimal Step Size"</a>, % IEEE Transactions on Neural Networks, vol. 21, no. 2, pp. 248-261, Feb. 2010. % % - V. Zarzoso and P. Comon, <a href = "http://www.i3s.unice.fr/~zarzoso/biblio/ica07.pdf" rel='nofollow' onclick='return false;'>"Comparative Speed Analysis of FastICA"</a>, % in: Proceedings ICA-2007, 7th International Conference on Independent Component Analysis % and Signal Separation, London, UK, September 9-12, 2007, pp. 293-300. % % - V. Zarzoso, P. Comon and M. Kallel, <a href = "http://www.i3s.unice.fr/~zarzoso/biblio/eusipco06.pdf" rel='nofollow' onclick='return false;'>"How Fast is FastICA?"</a>, % in: Proceedings EUSIPCO-2006, XIV European Signal Processing Conference, % Florence, Italy, September 4-8, 2006. % % % Please, report any bugs, comments or suggestions to <a href = "mailto:zarzoso@i3s.unice.fr" rel='nofollow' onclick='return false;'>zarzoso(a)i3s.unice.fr</a>. % % % HISTORY: % % <Please add modification date here>: - <please add modification details here> % % -- 2014/11/21: Version 3 release ---------------------------------------------------------------- % % 2014/06/25: - added 'wreal' input parameter to allow the separation of real-valued mixtures % in a complex domain (e.g., after Fourier transform) % - simplified calling syntax using cell-array input argument % % -- 2010/02/16: Version 2 release ---------------------------------------------------------------- % % 2010/02/09: - added termination test based on gradient norm % % 2009/03/02: - project extracting vector before normalization % % 2009/02/02: - variable 'thmu' (for step-size based termination test) removed, as it was not used % % -- 2008/03/31: Version 1 release ---------------------------------------------------------------- % % 2008/12/03: - modified help info about output parameter W % (extracting vectors act on whitened observation if prewhitening is required) % % 2008/03/26: - added this help % % 2008/03/13: - created by Vicente Zarzoso % (I3S Laboratory, University of Nice Sophia Antipolis, CNRS, France). [n, T] = size(X); %%% remove mean X = X - mean(X, 2)*ones(1, T); argin = get_parameters(n, arguments); % get input parameters deftype = argin.deftype; dimred = argin.dimred; kurtsign = argin.kurtsign; maxiter = argin.maxiter; prewhi = argin.prewhi; tol = argin.tol; verbose = argin.verbose; Wini = argin.Wini; wreal = argin.wreal; %%%%% Prewhitening (if required) if prewhi if verbose, disp(' '); disp('>>> Prewhitening'); end [V, D, U] = svd(X', 0); % economy SVD of data matrix B = U*D/sqrt(T); % PCA mixing-matrix estimate Z = sqrt(T)*V'; % PCA source estimate else Z = X; end;
评论
    相关推荐
    • matlabcnhelp.rar
      matlab中文帮助很难找的,快速下载
    • MobilePolice.rar
      移动警察,车牌识别,车牌定位系统源代码,已经运用在移动车载稽查系统中。
    • SVM(matlab).rar
      支持向量机(SVM)实现的分类算法源码[matlab]
    • svm.zip
      用MATLAB编写的svm源程序,可以实现支持向量机,用于特征分类或提取
    • Classification-MatLab-Toolbox.rar
      模式识别matlab工具箱,包括SVM,ICA,PCA,NN等等模式识别算法,很有参考价值
    • VC++人脸定位实例.rar
      一个经典的人脸识别算法实例,提供人脸五官定位具体算法及两种实现流程.
    • QPSK_Simulink.rar
      QPSK的Matlab/Simulink的调制解调仿真系统,给出接收信号眼图及系统仿真误码率,包含载波恢复,匹配滤波,定时恢复等重要模块,帮助理解QPSK的系统
    • LPRBPDemo2009KV.rar
      车牌识别,神经网络算法,识别率高达95%,识别时间低于80ms。
    • MODULATION.RAR
      这个源程序代码包提供了通信系统中BPSK,QPSK,OQPSK,MSK,MSK2,GMSK,QAM,QAM16等调制解调方式 用matlab的实现,以及它们在AWGN和Rayleigh信道下的通信系统实现及误码率性能
    • algorithms.rar
      十大算法论文,包括遗传算法,模拟退火,蒙特卡罗法等等,对于初学者很有帮助!!