ESP32 Based SDR Transmitter - Part 2 Tayloe Encoder
In this video I continue the transmitter series and move on to the Tayloe Encoder which mixes the I and Q audio signals together with the LO to produce a sideband signal (either upper or lower)
0:00 Intro 0:54 Schematic walkthrough 2:20 I/Q to 0/90/180/270 opamps installed 03:25 0/90/180/270 audio signals tested 04:49 A diversion into some interesting patterns produced with quadrature audio signals 06:50 Tayloe Encoder installed 09:13 Looking at the code to swap upper and lower sideband output 10:15 Testing the output signal on the oscilloscope 13:36 Looking at a single tone SSB signal on the spectrum analyzer 15:31 looking at the effect of adjusting the I/Q balance 17:15 Looking at a two tone SSB signal 18:22 Looking at the out of band harmonics and wrap up ... https://www.youtube.com/watch?v=yNxErsmimLY
In this video I start to build up the transmitter portion. Not much micropython here unfortunately.
I am going to be using a few sources. This is traditional phasing transmitter
http://www.arrl.org/files/file/Technology/tis/info/pdf/9304027.pdf
and this is one built around the Tayloe mixer seen in the receiver
http://www.wb5rvz.org/ensemble_rxtx/index?projectId=14
Specifically this portion
http://www.wb5rvz.org/ensemble_rxtx/09_qse
I will be building both and comparing. In this video I will build up the Audio phasing section. Schematics and board here:
https://github.com/thaaraak/Tinypico-Radio/tree/master/kicad/Transmitter
More on Phasing radios can be found in Chapter 9 of Experimental Methods in RF design
...
https://www.youtube.com/watch?v=_56MiQ4oBJw
Dan Tayloe's original document
http://www.norcalqrp.org/files/Tayloe_mixer_x3a.pdf
The Eagle files for the board are here
https://github.com/thaaraak/Tinypico-Radio/tree/master/eagle
No changes to the micropython source for this video
I meant to say LM4562 - https://www.ti.com/lit/ds/symlink/lm4562.pdf
A separate debugging video is here:
https://youtu.be/EarY64Lf3ls
...
https://www.youtube.com/watch?v=iwBk3jIxszI
In this video I build up an I/Q style radio using a Tinypico running micropython as the controller
Tinypico can be found here
https://www.tinypico.com/
The tinypico maker's youtube channel Unexpected Maker is
https://www.youtube.com/channel/UCu94OHbBYVUXLYPh4NBu10w
Reference on Micropython can be found at
https://docs.micropython.org/en/latest/
The code I have built is at
https://github.com/thaaraak/Tinypico-Radio
Note: I am not the author of the lcd, bounce or si5351 libraries. The lcd and si5351 were both for circuit python which is a little different and bounce I adapted from an Arduino library. Simple Encoder is also adapted from some arduino code I found and "micropython-ized"
The main starting point of the code can be run by
import radiorun
The code itself is pretty simple - happy to answer any questions on how it works!
An explanation of the Tayloe detector can be found here
https://wparc.us/presentations/SDR-2-19-2013/Tayloe_mixer_x3a.pdf
...
https://www.youtube.com/watch?v=y6PFM3ab1Qs
In this video I enhance the clock I started in this video https://www.youtube.com/watch?v=2hyc2fgf3Io&t=1022s with the following:
- Use the external low speed oscillator to improve accuracy
- Use the MAX7219 LED Driver IC
- Include the Time and TimeZone libraries
- Use the Beitian GPS receiver
My github repo for the code
https://github.com/thaaraak/GPS-Clock
The MAX7219 datasheet is here:
https://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf
The Beitian GPS receiver is available here (not affiliated)
https://www.banggood.com/Beitian-BS-280-232-GPS-Receiver-Module-1PPS-Timing-With-Flash-+-GPS-Antenna-p-1334706.html?akmClientCountry=America&cur_warehouse=CN
Here's a link to a simple RX/TX RS232 to TTL circuit
http://picprojects.org.uk/projects/simpleSIO/ssio.htm
Timezone and Timelib arduino libraries
https://github.com/JChristensen/Timezone
https://github.com/PaulStoffregen/Time
The LED/MAX7219 combo from Amazon
https://www.amazon.com/gp/product/B087B8WTRZ/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
Please Note: There is a bug in the code currently parsing the GPS RMC message. I am using strtok to parse which doesn't work where there are duplicated delimiters. I'll post a fix shortly
Update: I added the "zstrtok" function from the zstring library to fix the above:
https://github.com/fnoyanisi/zString
Index
0:00 Intro
0:51 Using the Low Speed External Oscillator
1:49 Configuring the LSE in STMCube
4:54 The MAX7219 LED Driver
6:40 The MAX7219 Datasheet and capabilities (excuse focus)
8:05 Configuring SPI MAX7219
10:48 MAX7219 SPI write code
11:43 MAX7219 Operation Codes / Registers
13:31 MAX7219 In action
20:48 Using Timezone and TimeLib code
24:14 Local time displayed on the LED
25:18 Converting RS232 voltage levels from the Beitian 280 to 5V
29:55 RS232 signals from Beitian displayed on oscilloscope
30:58 Converted signals displayed on oscilloscope
31:54 Wrap up
...
https://www.youtube.com/watch?v=m8SF6exYkSs
In this video I use the circuit developed in my earlier video
https://www.youtube.com/watch?v=efGYnsF4bDU
and create a PCB as well as some heat sinking for the BS170s
The LTSpice model is here:
https://github.com/thaaraak/ltspice
and the kicad schematic and PCB layout is here:
https://github.com/thaaraak/SSB-Amplifier-V2
Apologies for not being able to walk through the math on the second stage. Still looking for a good explanation for the collector feedback model. Also the result deviated significantly lower than the LTSpice model so I have some research to do!
Correction: Around 9:20 I say "22 ohm resistors" I meant to say 220 ohm
...
https://www.youtube.com/watch?v=YAmw60fxdxI
In this video I complete the receiver circuitry and test by injecting RF
Datasheet for the MMG3 Heterojunction Bipolar transistor
https://www.nxp.com/docs/en/data-sheet/MMG3014NT1.pdf
Some technical details on the HBT
https://www.eecis.udel.edu/~hunsperg/855/HeterojunctionBipolarTransistors
0:00 Intro and Circuit Walkthrough
0:12 The MMG3 based Preamp
1:21 The T-Attenuator and High Pass Filter
1:59 Tayloe Detector
5:01 Building the preamp
6:42 Testing the preamp
8:43 T-attenuator and Highpass installed and tested
10:48 Tayloe Detector installed
11:56 Receiver tested with HDSDR
12:31 Testing the Receiver
14:37 Wrap up
...
https://www.youtube.com/watch?v=hq4Pze1qICQ
In this video I build up the second stage of the amplifier and do some testing and troubleshooting.
2SC1971 Datasheet
http://www.advancedsemiconductor.com/pdf/2sc1971.pdf
0:00 Intro and Schematic Walkthrough
1:59 Board walkthrough
3:02 SMD Components installed
4:06 Test fitting the 2SC1971 and mosfets on the heatsink
5:20 Transistors mounted to the board
6:55 T2 Wound and installed
7:56 Initial Testing - A problem and some troubleshooting
10:40 2SC1971 is the sulprit?
11:54 2SC1971 reinstalled and tested
12:42 Second stage waveforms on the oscilloscope and wrapup
...
https://www.youtube.com/watch?v=_iFd2HvwEW0
In this video I build up a IF Amplifier circuit using the MC1350 monolithic amplifier from Experimental Methods in RF Design
http://www.arrl.org/shop/Experimental-Methods-in-RF-Design-Classic-Reprint-Edition/
Datasheet for the MC1350
https://www.digchip.com/datasheets/parts/datasheet/311/MC1350-pdf.php
I made a mistake in the db gain calc it should be
20 log( 800 / 16 ) = 34dB gain not 60 db
...
https://www.youtube.com/watch?v=ncqcnrZMo3I