Projects for next ARDF Championship
To make the experience fit your profile, pick a username and tell us what interests you.
SDR With FPGA is soo cool:
Most of the blocks are just there for you, I had to create only two very simple blocks to complete the SDR. First I made a SDR Mixer designed to work with multichannel AXI4 Streams. To optimize resources the LO is made also multichannel, so the same DDS generates the actual LO sin/cos and also the sin/cos for the weaver demodulator, this saves many BRAM's. My SDR mixer takes either RF input or I/Q input and mixes (that is multiplies) it with the LO signal fetched from the multichannel LO stream. This IP Core is basically just one DSP48. The other IP Block I made also works on multichannel stream and uses one DSP48 to add the incoming interleaved data samples. So it will select either LSB or USB to be demodulated.
For proof of concept I added signal generator to mimic the received Transmitter signal into the FPGA so that I do not need any external signals for initial debug.
And here it is the demodulated CW audio signal after weaver demodulator.
RF input is set to 3.5MHz
LO is set 3.5003MHz,
Weaver LO is set to 300Hz
and demodulated CW audio is then 600Hz tone! Working!
This is proof of concept mainly, there are several filters still missing in the design, but those are just click and configure to be created, they will also be implemented as multichannel to process both I and Q samples in the same FIR filter.
All the receiver will easily fit into Zynq 7010, actually several such channels will fit also.
Ordered from german reseller - a real china wonder:
Kit content as shipped to me. Note the color of the ear-pieces!!
Fully assembled receiver. This is real china at its worst! The direct conversion diode mixer is optimized for one diode !! Never seen that and would never guess it does work :) Well it does a bit.. and for some reason this diode has been choosen as Ge type? There is no real reason for Ge here, as this diode is used as discrete on-off switch and not as rectifier for the RF signal. The german translation from mandarin is also cool - this single Ge diode is described as "FM Detector" .. so that all the DIY and kids/ self learners know how to make a FM detector with one diode! Grrrrrrrrrrrr
There is one function this receiver for sure has, the "microphone effect" if you knock, you hear it loud and clear. Turning the frequency adjustment knob makes REAL BAD noise..
But you can hear something with this thing, and the direction sensitivity is present in both modes, min and max.
Close to wifi router there is lots of EMI noise, strange why this thing should only receive around 3.5mhz ?
It would be so cool to test immediatly with real hardware, but sometimes simulation can also show a lot. The use of weaver for SDR CW demodulation should be very simple, but let see:
Created in no time, SDR simulation with Delphi and Mitov Signal Lab. Sample rate is set to 25msps, input signal is around 3.51mhz, LO is set to produce 600Hz tone. Seems to work! What I did not manage in "no time" was to find a way to change sample rate with the mitov components, so the Audio output with very small bandwidth is still sampled at 25mhz, so only small part of the waveform can be seen in the upper scope view.
This SDR could be used as general purpose SDR as well, but I am designing as ARDF 80m direction finding receiver. Concept for SDR Base:
Thats basically it - well it has also be lowest power, so I am making all the digital part and ADC to work from 1.8V, there will be no I/O at higher voltage, also there is no external DDR memory, for the standalone SDR application it is not needed.
I think I have all homework done, 7010 FPGA fabric should be large enough, as of power I think it will be in acceptable range - for the ARDF competion it is sufficient if the battery pack gives 3 hours of work time.
For ADC I have selected LTC2270, this seems to be best available ADC for my goals, 20MSPS, 16 bit with very low noise. And well there are compatible versions with higher sample rate also.
After 2 hours the Heart of the ARDF SDR is designed and routed in PCB also, LTC2270 is next to 7010 all ADC signals are routed in top layer only, and the PCB can be made still with 6 layers only. This is good progress!
To complete the design, some design decisions are still to be made, the complicated ones: the connectors! And another decision: one connector or 2 connectors? The ADC inputs are nicely at one edge of the PCB, so logical choice would be to have all analog signals there in "analog" connector, and the digital part in another one, to separate the digital and analog domains.
Top would be "analog signal" entry and bottom digital connector? Or maybe one long connector at the left with part of the connector being analog and part digital?
First log or maybe backlog, this is not the beginning:
When I got the china ARDF receiver soldered, then I needed some transmitter to test it - this was done in about 5 minutes:
pin header provides 3.3V power supply from the USB JTAG Adapter: pinout GND-spare-3.3V, at the RED arrow is SOT23-5 packaged MEMS oscilattor that I did pre-program to 3.510 MHz. Here another shot, the 2 pin header is GND and ANT output!
The "transmitter" IC is really hard to see!
Here the ARDF mini transmitter is powered, and I have 5 cm antenna also, this is not so efficient at 80m meter band, but at short distance it should work.
I am comaring the china Receiver with Zynq SDR seems the SDR has better sensitivity! Well for the SDR I used another piece of wire directly at ADC input, no filters or preamplifier was used.
Become a member to follow this project and never miss any updates