1. A method of multi-user detection in a given uplink and downlink time slot in a software-defined wireless receiver, the method comprising: receiving a received signal by at least one antenna in the wireless receiver; filtering and sampling the received signal to create sampled signals; forming a block-banded matrix A of the sampled signals; via a multi-threaded processor, solving {circumflex over (d)}=T −1 y, where T=(A H A), y=A H x by selecting between and applying at least one computational approach comprising (1) applying the inverse matrix T of the system matrix T −1 using a zero-forcing equalizer or decorrelating detector and computing Cholesky factors of the matrix T by approximating using the block-banded property of the matrix T and A, wherein at least the solving and the computing are performed via the multi-threaded processor; (2) applying Schur decomposition for Cholesky factors of the matrix T, computing a generator matrix G of the matrix T, Givens rotating the matrix G to produce lower triangular Cholesky factor matrix R, and approximating matrix R using block Toeplitz property of matrix T, wherein at least the solving and the computing are performed via the multi-threaded processor; (3) applying Fourier Transformation and padding the matrix T to make it circulant before solving, wherein at least the solving and the padding are performed via the multi-threaded processor; wherein the multi-threaded processor is connected to the at least one antenna in the wireless receiver and comprises a single instruction multiple data (SIMD) Vector/digital signal processor (DSP) unit, a parallel reduction unit, and a reduced instruction set computer (RISC)-based integer unit.