woensdag 29 april 2015

Low pass filter added.

To do's of the previous post I have worked on:
- Make graphs of the spurious level with normal and shifted oscillator.
- Make a proper low pass filter between oscillator and DVB-T dongle to see if I can reduce noise (the signal into the mixer is not a clean sine wave, as the Si5351a outputs a square wave).
- Make a script to use or alter rtl_power to make frequency plots with spurious-bypass option.

As I mentioned the clock from the Si5351a board has a square wave output.
Here is the signal at the input of the R820t mixer at an 8mA drive level, and without filtering (just the decoupling capacitor and 82 ohm load resistor).


With the help of rtl_power and Matlab (or Excell) you can see the amount of noise you will have with no antenna connected. I've used the exact same command as on the http://kmkeen.com/rtl-power/ page. The antenna input was loaded with a 50 Ohm load.

rtl_power -f 24M:1.7G:1M -g 50 -i 15m -1 noise.csv 

Noise at 8mA drive level, without lowpass filter.
Wow lots of spurious. But bare in mind that I did not alter anything else to the DVB-t dongle yet. No metal case. USB not filtered, etc...

Time to add in a low pass filter.
On the website http://www.wa4dsy.net/filter/filterdesign.html you can model a low pass filter in a second. I've asked for a 3-pole filter with a cutoff frequency of 30MHz and a load of 50 Ohms. If you click the link below you will see what filter was calculated.

http://www.wa4dsy.net/cgi-bin/lc_filter3?FilterResponse=Lowpass&poles=3&cutoff=30&funits=MHZ&Z=50



Part Values
PartButterworthChebyshev 0.1 DBBessel
L10.2653 uH0.3801 uH0.0895 uH
L20.2653 uH0.3801 uH0.5845 uH
C1212.21 pF169.10 pF102.97 pF

The butterworth type filter had values closest to what I had in my SMD 0805-size assortment I recently bought on Ebay. With two 270 nH inductors and a 220 pF capacitor this is wat I build. Two SMA edge connectors back to back with the components in between. This filter was added between the Si5351a board and my local oscillator SMA-connector on the DVB-t dongle.



And connect it.




Hey the signal now starts to look way more like a sine wave. Still some distortion in there, but that was to be expected. Perhaps I'll make another with more poles in the future, but I'm just experimenting now, I don't have to go all the way yet.


Now let's see if it made any difference in the spurious levels.

Noise at 8mA drive level, without lowpass filter.
Noise at 8mA drive level, filter added.

Yes it did. The spurious levels have dropped significantly. Time to lower the drive level all the way back to 2mA.


Spurious at 2mA drive level with low pass filter.

YES !!! This is the way to go. If you add an external local oscillator to your DVB-t dongle and you want no spurious, you have so make sure that you:

A: Supply a clean sine wave to the R820t
B: Supply the correct signal level to the R820t (to be determined)

Now for all you folks that have soldered a 3.3Volt TCXO directly to your DVB-t dongle. Did any of you do any filtering or level correction? Please answer in the comments.

Milan.

vrijdag 24 april 2015

NT7S's Si5351a VCO hooked up to the local oscillator of a DVB-T dongle.

Hello and welcome to my second post on this fresh blog.

A few days ago I've posted this picture on twitter (@mvdswaluw) and managed to get a few retweets and favorites. Clearly people like what I've done, so I would now like to describe it with a few more letters than twitter would allow.















What you see here is @NT7S's Si5351a breakout board connected to the local oscillator of one of my DVB-T dongles. The DVB-T dongle with its 28.8 MHz crystal oscillator is normally not so frequency-stable because of the temperature drift of the frequency of the crystal. Inspired by this post by Simon Schrödle I've made the same setup (with a less expensive frequency generator). On the edge of the DVB-T dongle I've soldered an SMA edge connector by scraping a bit of the soldering mask for the ground connection.
Between the center pin and the ground is an 82 Ohm 0805 SMD resistor. Then the signal goes trough a 10nF capacitor to the place where the signal goes into the R820T mixer. For good measure I've removed both loading capacitors of the original crystal. With a sketch from https://github.com/etherkit/Si5351Arduino I generate the needed 28.8 MHz to the mixer. The mixer then feeds this signal to the RTL2832 chip that needs this signal to.

The 28.8 MHz from the breakout board is generated with a 25 MHz TCXO, so there is no temperature drift with this setup anymore. Also the 28.8 MHz programmed on in the sketch is dead on frequency, even so that I can receive stations in the 23cm band without having to tune the ppm offset in GQRX. With 0 ppm offset I've received a local 23cm repeater exactly on-channel.

The Si5351a can output different drive levels. With 8mA drive level you get about 3.3Volts on the R820T-chip, same as with a TCXO soldered directly to the DVB-T board as I've seen in other mods. By lowering the drive level to 2mA you get about 800mV, and the spurious signals that you see in your spectrum (every 28.8 MHz, e.g. 45x1296 MHz) will also be lower.

Another nice thing you can do is de-tune the oscillator a bit. In the picture below I alternate the oscillator between 28.800 and 28.801 MHz. If you do this you can shift all your signals that you receive on your antenna, but most of the spurious coming from the DVB-T dongle will stay in place. This way you can tune around any spurious signals that you get from the RTL2832 chip or the USB-connection. In my example case I would have been able to de-tune the oscillator to bypass large the spurious signal on 432MHz. Luckily the RTL-2832 chip operates just fine when the oscillator is de-tuned a bit as Simon already mentioned. Can you see al the signals shifting?


To do:
- Make graphs of the spurious level with normal and shifted oscillator.
- Make a proper low pass filter between oscillator and DVB-T dongle to see if I can reduce noise (the signal into the mixer is not a clean sine wave, as the Si5351a outputs a square wave).
- Make a script to use or alter rtl_power to make frequency plots with spurious-bypass option.

Any comments? 

First blog message.

Hello world,

Let me introduce myself.

My name is Milan van de Swaluw. At the moment I'm 37 years young, married and the father of two kids.
I live in Mijdrecht, The Netherlands. At the moment I'm mainly interested in hamradio (callsing PE1RYY), electronics, domotica and model quadcopter and helicopter flying. The electronics and domotica interest is the main reason why I wanted to put up a blog, as I have too many ideas to turn into successful projects. It would be a waste to not share my ideas with the world and let them end in a pile of junk on my workbench.

Hope you all enjoy my (probably not so frequent) write ups, and if you have any comments please share them. Sharing ideas is the reason why I start this.

Milan.