Software Defined Radio (SDR) is an increasingly common technology that involves the development of systems with radio applications such as FM based radio, DAB, satellite signal reception, mobile phone signal processing etc.
There are a number of technologies that can help with learning about software defined radio including Matlab and Gnu Radio. GNU radio is quite an extensive set of functions and libraries that have been written in a number of languages that enable the rapid prototyping and development of SDR based systems.
An example of the prototyping of an FM radio can be seen here: