www.pudn.com > ica_C.rar > bss.h


#include 
#include 
#include 

#ifndef ARRAY
#define ARRAY 1
#include "array.h"
#endif

#ifndef MATRIX
#define MATRIX 1
#include "matrix.h"
#endif

#ifndef SPEC
#define SPEC 1
#include "spec.h"
#endif

extern void mean0(int n, int m, matrix a);
extern void corr(int n, int length, matrix a, int tau, matrix corr);
extern void joint_diag(int n, int K, matrix *corr, matrix S);
extern void sphering(int n, int length, matrix x, matrix sph);
extern void bsep(int mode, int K, int n, int length, matrix x, matrix w_inv);
extern void separate(int src, int n, int length, 
		     matrix w_inv, matrix x, matrix out);
extern SCALAR update_W(int dim,int nfft, SCALAR eta,
		       matrix xf_r, matrix xf_i,
		       array3 W_r, array3 W_i,
		       array3 Winv_r, array3 Winv_i,SCALAR r);
extern void W2fil_t(int dim,int nfft,int tau,
		    vector window, 
		    array3 W_r, array3 W_i,
		    array3 Winv_r, array3 Winv_i,
		    array4 filter_t);
extern void W2fil_f(int dim,int nfft,int tau,
		    array3 W_r, array3 W_i,
		    array3 Winv_r, array3 Winv_i,
		    array4 filter_fr, array4 filter_fi);
extern int corr_f(int dim, int nfft, int shift, int len, int mnum,
		  vector window, matrix x, array4 Corr_r, array4 Corr_i);
extern void sphering_c(int dim, int nfft, int mnum,
		       array3 sph_r,  array3 sph_i, 
		       array4 Corr_r, array4 Corr_i);
extern void joint_diag_f(int dim, int mnum, int nfft,
			 array4 Corr_r, array4 Corr_i,
			 array3 rot_r, array3 rot_i);
extern void sph_rot2Wsep(int dim, int nfft, 
			 array3 sph_r, array3 sph_i, 
			 array3 rot_r, array3 rot_i, 
			 array3 Wsep_r, array3 Wsep_i);