Teensy Convolution SDR (Software Defined Radio)

...I looked at what the key difference if between the Elektor board and all others (QRP, Softrock, etc). Amongst many things, it is the main multiplexer chip, the Elektor board uses a HC4066 and the spec sheets state the max switching frequency of that chip is around 30 - 35Mhz. On the other hand, the other boards use the 3253 chip which can switch at approx 250Mhz (although the si5351 could not go that high). So, maybe the Elektor board is beyond it's capabilities to receive proper WFM. My question is: is there a success story here with the Elektor board and WFM reception ?

Hi Les,

change the 74HC4066 to a better 74LVC4066.

The 350MHz of the 3253 is the max. high-pass frequency of the switches and not the switching frequency. The max. switching frequency is about 100Mhz. The 74LVC4066 has the same max. switching frequency and a the switches a bandwide of max. 250MHz@5V.

The max. output frequency of the 5351 is about 300MHz, so that you must change the johnson counter for 2xfo and not 4xfo frequencies. To do this, clock the both D-FF separate with 180° phase shiftet 2xfo clocks from two outputs of the 5351.

Karlchen
 
Karlchen, thanks for the great input. I certainly will give it a go. In the meantime I ordered another front end from QRP Labs and I'm waiting for the arrival and putting it to a test. Back to your point, did you also play with the Elektor board ? maybe try out the mod as well? I'm adamant to find, build or mod a front to pair with the amazing software part Frank and the community put together.
 
Hi Les,

I don't have the Elektor SDR. You have four options to work with 2xfo, cut the trace from CLK1 of the 5351 to one clock pin (3 or 11) of the 74AC74 and connect the open clock pin with CLK0 or CLK2, which one is simpler on the PCB:

ElektorSDR.jpg

Then configure the 5351 so that CLK0 or CLK2 (which one is connected as additional clock for the 74AC74) is the inverted CLK1.

Some 74AC74 don't have such a high clock frequency above 200MHz, but you can use a 74ALVC74 instead. Have attention, the 74ALVC74 are only for max. 3,3V and need a modification of the power supply trace(s).

The same modification can be done with the QRP-Labs receiver modul!

The greatest disadvantage of the Elektor SDR ist the noisy TS914 OP amp. This one is ten times noisier as a good noiseless OP amp.

Karlchen
 
Thank you. :)

WH7U, DD4WH: Do you think it is possible to use analog switches to switch the gain resitors (Rg) on the INA163 ? Four, or even two steps, controllable by the Teensy would be fine.
I'm planning my new board-rev.
Let me modify my question:
A digital pot like AD5252 (1K) has 256 steps. 1k/256 = ~4 Ohm per step (+ 74Ohm wiper) - i could not use all steps, but, enough.
Do you see an problems to use it as RG for INA163? Bandwidth? other?
 
@Les, @Karlchen: for ICs with higher frequency capability, maybe you can find something useful here: http://www.potatosemi.com/

They have 7474, 3253 and alike with switching frequencies up to 1GHz ! They have been used with success in many SDR designs.

@Frank B: I am not sure why you need switchable gain in the OP-Amp after the sampling caps? What is the reason for that? All designs I know of use something like 40dB of gain, that is sufficient for all freqs from DC to 30MHz. For VHF, you would probably better insert a switchable low noise preamp directly at the antenna input.
 
@Les, @Karlchen: for ICs with higher frequency capability, maybe you can find something useful here: http://www.potatosemi.com/

They have 7474, 3253 and alike with switching frequencies up to 1GHz ! They have been used with success in many SDR designs.

@Frank B: I am not sure why you need switchable gain in the OP-Amp after the sampling caps? What is the reason for that? All designs I know of use something like 40dB of gain, that is sufficient for all freqs from DC to 30MHz. For VHF, you would probably better insert a switchable low noise preamp directly at the antenna input.

To use the full range of the ADCs and prevent clipping on the other hand. The INAs are low noise.
 
To use the full range of the ADCs and prevent clipping on the other hand. The INAs are low noise.
OK, understood! However, I think the limiting factor will not be the noise of the OP-Amp (most QSDs use low noise types, e.g. the LT6231 has 1.1nV/sqrt Hz), but the noise coming from the fast updates of the spectrum display lines and the T4 itself.
 
I read this as a suggestion to have a gain reduction mechanism before the ADC to avoid overload on strong signals. I agree.

Joe
 
@Les, @Karlchen: for ICs with higher frequency capability, maybe you can find something useful here: http://www.potatosemi.com/

They have 7474, 3253 and alike with switching frequencies up to 1GHz ! They have been used with success in many SDR designs.
...

I'm knowing the Potato chips and the analog switches don't have switching frequencies of 1GHz and more. The 1GHz and more are the bandwidth of the switches. But, they are somthing better as the 74LVC4066 or 74ALVC74, a little bit. The switching frequency of the Potato analog switches will be at 150+Mhz and of the 74LVC4066 at 110+MHz. The 74ALVC74 hase a switching frequency of 450+MHz and Potato PO74G74A of 600+MHz.

Unfortunately, the Potato chips are usually only available as TSSOP and not as SOIC. I cannot etching PCBs for TSSOPs and handsolder TSSOPs.
 
The switching frequency of the Potato analog switches will be at 150+Mhz and of the 74LVC4066 at 110+MHz. [...] Unfortunately, the Potato chips are usually only available as TSSOP and not as SOIC. I cannot etching PCBs for TSSOPs and handsolder TSSOPs.
@Karlchen: you are right: switching time != bandwidth of the chip.
All recent designs for QSD frontends I know of now use the 3253 instead of the 4066. Potato offers a 3253 in SOIC16 package (easy soldering ;-) and it is specified better than the 72CBTLV3253 (smaller enable/disable time). If I did the math correctly, the Potato 3253 http://www.potatosemi.com/potatosemiweb/datasheet/PO3B3253A.pdf has about 300MHz max switching freq? Maybe you can help me with the math.

So, I think there is no barrier to use the 3253 in SOIC package and improve max useable freq a bit, as you said.
 
Yes, if you can buy them.
At least in their EBAY-Shop is no 3253 /SOIC available. And wasn't when I ordered them last year. I suspect they have SOIC in their datasheet but are not producing them?

Karlchen, there a many companies who are happy to make some PCBs for you :)
OSH-Park (USA) Who are a bit expensive, and many from Asia.
 
Last edited:
@Karlchen: did you test one of the 2xfo-setups you posted in #403 in a real SDR frontend? I would be very interested in your experiences and the performance differences compared to a 4xfo setup!
I am asking because I wonder what could be the reason that up to now, many of the QSD frontends do not use 2xfo, but 4xfo setup, although the 2xfo setup does not require any more parts and has the advantage of doubling the theoretical receive frequency?
 
I use the 2xfo with a modified QRP-Labs receiver module and a ugly constructed frontend with the 74ALVC74/74LVC4066. I test this for receiving of the 6m (50MHz)/4m (70MHz) band and FM broadcast at 100MHz. The Performance is the same as with the 4xfo up to 70MHz. But the QRP-Labs receiver module is a not good designed/layouted PCB for frequencies above 30MHz.

The problem of the 2xfo setup is the phase error between the two clocks, therefore the 4xfo is easier and better. But the 5351 perform with 2xfo good and have a low phase error, I think (I have no equipment to measure it at frequencies above 20MHz). For good performance at 100MHz I need better HF designed construction as the ugly soldered testboard, but I can receive FM broadcast stations with it.
 
Thank you. :)



WH7U, DD4WH: Do you think it is possible to use analog switches to switch the gain resitors (Rg) on the INA163 ? Four, or even two steps, controllable by the Teensy would be fine.

Hi Frank,
You could do that? Interesting idea. Normally, at low voltage, FET switches are better at pulling signals to ground. They may struggle if floating if the audio gets near Vdd.
I have used the technique in the attached schematic (from the book Experimental Methods in RF Design).
 
I'm in a meeting at work while I'm typing this, so I hope it makes sense. It might clear up some things in the discussions I have been catching up on.

As far as the noise discussions for different amplifiers etc., here is how I think of it (for what its worth). A high performance receiver is all about a high signal-to-noise-ratio (so you can receive very small signals without them being buried in the noise) along with high dynamic range (so you can receive very small signals that are next to very large signals). Achieving these together is very difficult and it is 98% dependent on the front-end. The front end can either be a preamp or the Tayloe detector itself.

The super cool thing about a Tayloe detector is that it achieves both low noise and high dynamic range without using a lot of power. In the '90s we employed all sorts of shenanigans to achieve low noise + high dynamic range including things like a front-end preamp that ran at 40V and 1/2 Amp. This allowed high dynamic range (a high power amplifier will not overload easily with large signals). But a 20W front-end is not great if you want to run on a battery! A Tayloe detector doesn't overload easily so solves this problem to a large extent.

The source of noise (in the signal to noise ratio) is a bit different for LF, HF, VHF or UHF, etc. Normally, atmospheric noise dominates the lower frequencies. The noise generated in the receiver amplifiers (or mixer) dominate at higher frequencies. The amount of gain needed can vary a great deal depending on the antenna. A full-sized dipole at 7 MHz will provide a large signal to the receiver, but a small loop antenna will provide a much smaller signal (maybe 100X or 1000X less) to the receiver (but with perhaps a better signal-to-noise ratio). A good receiver will handle either the dipole or the loop signal equally well; the signal to noise ratio is all that matters. You will need more receive gain with the loop though.

For low frequencies, it is usually best to run the antenna into the detector. The detector will generally add less noise than a preamp. But at higher frequencies, a preamp is usually better - but not always. And if you are using a small aperture antenna, a preamp will often help whereas with a giant dipole, the preamp will do more damage than good. For this reason, HF receivers usually have an input switch that allows you to add a front-end attenuator maybe 20dB and 10dB and a preamp with maybe 10dB and 20dB of gain. This way you can select whatever works best. I think this is a good plan for this type of receiver - it gives flexibility for various receive situations and antennas.

All that being said, the noise at higher frequencies (> mid-HF) will be determined by the noise generated in the first stage in the receiver. On the high end, the Tayloe detector works well up to a few hundred milli-volts. But if you are trying to receive a signal that it really tiny - say 0.2 uV, it will make it through the detector fine, but you had better have an extremely quiet (low noise) amplifier after the detector. This is the critical bit and where I think most folks go wrong. Choosing a very low noise op-amp is important, but if your op-amp (or detector) power supply has 1mV of noise on it (from say the Teensy or TFT) you are not ever going to hear that small signal - it will be buried in noise. So I would amplify the signal here very carefully using short traces, good shielding, etc. Amplify it at least 40dB and then add variable gain amplification if you want. Setting the maximum signal to be near (but not over) the input range of the A/D is the sweet spot (the maximum signal coming out of the I and Q, not the signal you are receiving). Otherwise you will clip the maximum signal and it will splatter over the top of your desired signal.

So how do you get a super quiet situation for the detector and audio amps with that noisy Teensy and noisier TFT? I'm happy you asked...

If you are designing a circuit board, put the receiver and audio amps on a separate ground plane - or better yet, a separate board - or even better, on their own board inside a shield. Provide separate high PSR linear regulators for the digital and analog signals for the receiver and audio amps. Put the A/D converter where it will be sort of half-way on the receiver ground plane but keep the digital part off of it. I would be tempted to give the A/D two more high PSR linear regulators of its own - one for the analog pin and one for the digital pin. This will keep a bunch of the noise (from the Teensy and TFT) from getting into the sensitive parts and ruining your receiver performance. Then run the digital signal over to the Teensy through a shield with impedance matched traces or little coax. Provide seperate high PSR regulators for the Teensy and TFT and a another one for the analog half of the D/A (never run a digital and analog circuit from the same power supply regulator). Tie the two ground planes (or circuit boards) together only at the output pin of the main power supply regulator driving all the other regulators (otherwise you will have the Teensy and TFT ground currents flowing through your sensitive power supply grounds and ruining all your hard work).

If you do all this, you should be able to amplify a 0.2 uV audio signal coming out of the Tayloe detector and keep it above the noise. And if you use the really good newer op-amps with good power supply rejection and super low noise, you will be in good shape.
 
Hello everyone.
I'd like to build the SDR and I hope you forgive my beginner questions. I have the Teensy 4.0, its audio board, Elektor shield and the LCD. Now I need to build the PCB:

1- There's a PCB by EA7GIB in the previous page, called "TeensyConvolution SDR PCB Main". Is it different than the original PCB design by DD4WH?

2- Where can I find the BoM for the mentioned PCB (from EA7GIB)? It seems to be using parts that are not in the original design (like PCA9674)

Thanks
 
SDR2.jpg

So, here’s my latest build.

• I took the main board design from gmaii in post #376. I like the idea of using a I/O expander, makes connecting the T4 much easier. Instead of the PCA9674, I used the PCF8574 - simply because I had this on hand.
• I used Frank’s (DD4WH) original code from Github and added the initialisation for the 8574, the Interrupt service routine and the modded ‘buttons()’ function to cater for new circuit.
• All went fine without a hiccup. I’m happy to share the consolidated code if you tell me how best to do.
• I also built a new front-end (I’m still waiting for the 27Mhz SMD Chrystal delivery).

All-in-all, everything other than WFM is working fine. I can’t get that part working like the demo from Frank. I’m sure it’s something I’m doing wrong, can’t figure out what.
 
great!

This wonderful software project needed an inexpensive board to get started. I also believe that using the msi001 as a receiver can make a significant leap in coverage and reception quality.

Regards.
 
great!

This wonderful software project needed an inexpensive board to get started. I also believe that using the msi001 as a receiver can make a significant leap in coverage and reception quality.

Regards.

I completely agree with you on the use of a cheap but functional Msi001 in this project. It has a large coverage range from LW to 2GHz with a gap between 250 - 400MHz.

Although there are several projects of amateur standalone AM / SSB SDR receivers such as the portable CentSDR, БЕЛКА !, FV-1, SI4735 ESP32 radio or desktop Пион-DSP, all of these receivers have a range limited to 30MHz. (although the Teensy receiver has more functionality)
In fact, the only receiver (also according to the author RX9CIM) with the range of HF-VHF-UHF is the Малахит-DSP receiver using the same tuner MSI001. Unfortunately with closed source firmware. I think Teensy with MSI001 would be a good alternative.

So, DD4WH, gmtii - any news in development regarding MSI001, is there a chance that the modified firmware for MSI001 will be merged to the master branch and modified (frequency bands etc..) for this front-end?

Best regards
Radek
 
I have pending to merge the code. Support for the msi001 chip has been done using separate files at first, but integration with main source file code requires major surgery.

I will send merge to GitHub asap as dedicated msi001 pcb add-on is being produced and tested atm.

Regards.

I completely agree with you on the use of a cheap but functional Msi001 in this project. It has a large coverage range from LW to 2GHz with a gap between 250 - 400MHz.

Although there are several projects of amateur standalone AM / SSB SDR receivers such as the portable CentSDR, БЕЛКА !, FV-1, SI4735 ESP32 radio or desktop Пион-DSP, all of these receivers have a range limited to 30MHz. (although the Teensy receiver has more functionality)
In fact, the only receiver (also according to the author RX9CIM) with the range of HF-VHF-UHF is the Малахит-DSP receiver using the same tuner MSI001. Unfortunately with closed source firmware. I think Teensy with MSI001 would be a good alternative.

So, DD4WH, gmtii - any news in development regarding MSI001, is there a chance that the modified firmware for MSI001 will be merged to the master branch and modified (frequency bands etc..) for this front-end?

Best regards
Radek
 
Hello all together,

I see that the Msi001 topic is slowly getting hot :) Here I will share with with you my progress up to now.

I already built the a prototype merging the Franks software and pieces of the gmtiis (I corrected a fragments for the setting frequency function and the gain setting of the Msi001, in my eyes now it is much better) with the nice RF front end of the Malachite DSP project. I added additionally on extra board a digitally switchable 8 channel band-bass filter.
As you can see from the attached circuit diagrams the idea is to have autonomous SDR (open source version of the Malachite DSP).
I hope you will like it and will get more people in to it to make it even better :)

Circuit diagram of the main board
View attachment Teensy4_SDR_MSI001_v2.pdf

Circuit diagram of the optional band-pass filter
View attachment RF_FrontEnd_Filter.pdf

Sorry for the quality of the pictures, needed better light
20200623_202130_T.jpg

20200623_202510_T.jpg

The inside out :)
20200623_202341_T.jpg
 
Back
Top