Software radio from scratch