1. A processor for performing a QR-decomposition, the processor comprising: a program memory; a program controller connected to the program memory to receive program instructions therefrom; and at least one processing unit, wherein each processing unit comprises: a CORDIC calculation block; a distributed memory structure comprising separate memory blocks for storing respective parameter values; a first memory block for receiving and storing input value data, and connected to an input of the CORDIC calculation block; a second memory block for receiving and storing input phase data, and connected to an input of the CORDIC calculation block; a third memory block connected to an output of the CORDIC calculation block for receiving and storing a matrix value of R, and connected to an output of said processor; and a delay line that connects to an output of said second memory block and that receives and delays output phase data.