The 3D MIMO beamforming system needs a weighting method to determine the direction of beam whist reducing the interference for other beam areas operating at the same carrier frequency. The challenge is to determine the weights of the 3D MIMO beams to direct each beam towards its cluster of user terminals while placing its nulls at undesired user directions to minimise undesired interference. Therefore, the signal-to-interference-plus-noise ratio should be increased while the interference from the side lobes of the other beams reduced. A weight determining method is presented that constructs horizontal and vertical array weights, respectively, by minimising the mean-square error between the array pattern vector and the unit vector, where the unit vector expresses the desired direction for the array pattern and zero vector expresses the undesired direction. Since the rectangular planar array can be viewed as M linear arrays of N elements, the weight of the M–Nth element can be obtained based on the horizontal and vertical array weights.