I designed an analog FM transmitter with GNU Radio Companion in order to understand the tool better. The hardware I use is an USRP B200. The carrier was built with a Signal Source block and the baseband was obtained from a .wav file. The last block of the diagram is a UHD: USRP Sink block with Center Freq set to 98.4 MHz (this does not matter much, could be any frequency between 88 MHz and 108 MHz).
The thing is that in order for the design to work I have to set the Frequency parameter of the Signal Source block to 0 and the Center Freq parameter in USRP Sink in the one I am interested in (in this case 98.4 MHz). With this setup the transmitter works perfectly.
On the other hand, if I set up the Frequency parameter of the Signal Source block to 98.4 MHz (which i think is the right thing to do) the trasmitter does not work, it transmits the original audiofile with a lot of background noise, like if the signal source is messing with the baseband signal. Can someone please explain the reason of this behaviour? I don't understand how it can work if the output of the Signal Source is a signal of frequency 0 and constant amplitude.