Newbie: From bitstream to QPSK
20mhz qpsk is easy.

you can easily accomplish a 20MHz baseband with 2 GPIOs from a modern ARM processor and an IQ modulator.

essentially, GPIO A sends 0 or 1 for the I channel. GPIO B, sends 0 or 1 for the Q channel. The IQ modulator will combine this to give you the 4 symbols for QPSK. your bandwidth is directly proportional to your symbol rate. something like 18 MSymb/s will probably give you your 20MHz BW.

Generating 18MHz signals on an ARM M4's GPIOs is easy. the info can be fed directly from a USB 2.0 (480mbps) transceiver to the ARM.

of coarse, this is just baseband.. then you will need a mixer and amplifier...but thats another question

what gets difficult to do, are modulations like SOQPSK. which require DACs, DDS, or RF circuity to shape symbol transitions. Another super hard one would be something like multi-h cpm, where 20mhz really needs some massive processing behind it.