Research Article

A Triply Selective MIMO Channel Simulator Using GPUs

Listing 3

Filtering code.
VEX_FUNCTION_D(cl_double2, convolution,
(size_t, i)(cl_double2, x)
(double, y)(int, tF)(int, fS)
(int, nS)(int, nP),(csum)
(cmulscalar),
double2 sum = 0.0,0.0;
int tmp1 = i+(i/fS) (nS-fS);
int tmp2 = tF (i/(fSnP)+1) - 1;
for(size_t j = 0; j < tF; j++)
sum = csum(sum,
cmulscalar(x[tmp1+j],y[tmp2-j]));
return sum;
);