1. A three-dimensional systolic architecture for beamforming, arranged to accept broadcasted data samples from an array and to convolve said data samples with sets of weighting coefficients, said architecture being formed of a one dimensional array of similar modules, each comprising: at least one finite impulse response or FIR filter element; a plurality of pipelining register stacks receiving outputs of said at least one FIR elements and propagating said outputs to boundaries of said register stacks; accumulator arrays for summing said outputs at said stack boundaries; and demultiplexers, receiving the summed outputs and passing the outputs to beamformer output ports.