Joint 'dirty paper' pre-coding and downlink beamforming | Synapse