For accurate frequency tuning even amongst large temperature in an SDR, a Temperature Compensated Crystal Oscillator (TCXO) should be used as the main oscillator. Standard RTL-SDR dongles used a frequency of 28.8 MHz and do not come with a TCXO, but for some time now we have been selling our own branded dongles that come with a TCXO built in (out of stock at the moment sorry – back in the first half of April!). If you have an older or other dongle that does not have a TCXO it can be an interesting exercise to hack one in yourself. The biggest problem though, is that 28.8MHz TCXO oscillators are not commonly found for sale in low quantities.
Over on YouTube user devttys0 (Craig) has uploaded a video that thoroughly explains the theory behind creating a home brew 28.8 MHz TCXO out of a standard non-temperature controlled 19.2 MHz oscillator. The build involves halving the frequency, and then filtering and using the third harmonic as the clock signal (19.2/2 * 3 = 28.8 MHz), as well as creating the temperature compensation circuitry.
On his blog Craig has also uploaded schematics and a frequency temperature curve he measured from his home brew TCXO.
If you wanted to make something a little easier to build then we recommend looking at our previous post which shows how an experimenter used an SI5351A voltage controlled oscillator on the RTL-SDR.