As a grad student working with communication systems i can verify that. In fact, most communication and signal processing systems involve pretty sophisticated algorithms, and these are almost always implemented in software. In fact, the performance differentiator in these products boils down to the quality and implementation of the signal processing algorithms, and that is where most of the research effort at university labs is directed at.
An exception with respect to some communication systems would be ones operating at extremely high frequencies, where it would be impractical to process signals in software due to memory constraints (higher operating frequencies -> more samples per second). In these cases, the mixing/modulation functions get implemented in hardware.
An exception with respect to some communication systems would be ones operating at extremely high frequencies, where it would be impractical to process signals in software due to memory constraints (higher operating frequencies -> more samples per second). In these cases, the mixing/modulation functions get implemented in hardware.