#include #include #include //const int N_sim=2*1024; const int N_sim=2048; const int N_samp=8; //const int N_ch=N_samp; const int N_ch=8; const int N_col=32; void FBCore(int N_samp,int N_ch, int N_col,float r[N_sim],float y[N_sim], float H[N_ch][N_col],float F[N_ch][N_col]); void doCalculation(void); int main() { int i; raw_test_pass_reg(0); for (i=0; i<3; i++) { doCalculation(); raw_test_pass_reg(1);; } return 0; } void doCalculation(void){ float r[N_sim]; float y[N_sim]; float H[N_ch][N_col]; float F[N_ch][N_col]; int i,j; for (i=0;i=0)); k++) Vect_H[j]+=H[i][k]*r[j-k]; } //Down Sampling for (j=0; j < N_sim/N_samp; j++) Vect_Dn[j]=Vect_H[j*N_samp]; //Up Sampling for (j=0; j < N_sim;j++) Vect_Up[j]=0; for (j=0; j < N_sim/N_samp;j++) Vect_Up[j*N_samp]=Vect_Dn[j]; //convolving F for (j=0; j< N_sim; j++) { Vect_F[j]=0; for (k=0; ((k=0)); k++) Vect_F[j]+=F[i][k]*Vect_Up[j-k]; } //adding the results to the y matrix for (j=0; j < N_sim; j++) y[j]+=Vect_F[j]; } }