Software Defined Radio with Pi-Pico
Vložit
- čas přidán 10. 09. 2024
- Build a simple software defined radio receiver using a pi-pico and a few external components. (Only 2 ICs needed), Covers 0 to 30MHz, LW/MW/SW bands including Amateur bands. Supports AM/FM/SSB mode.Standalone design, no PC or soundcard needed. Runs on 3xAAA batteries, ideal for portable use.
Design Description/Circuit Diagram: 101-things.rea...
Code on Github: github.com/daw...
3D printed enclosure: github.com/daw...
Pre-built .uf2 firmware image: github.com/daw...
SDR is very interesting to me as an old Radio Amateur (HAM), and SDR was kind of magic sauce up till now, you explained it so I can understand how it works a bit better, thanks.
Thanks! Happy to help!
Lol funny enough last night I was visiting the yt page to see if there were any updates on this project. Gotta watch this
Great hope you enjoy!
Awesome. Both your design and presentation are top notch. A+++
Thank you! Cheers!
Delighted to discover a real schematic in the docs link! That blobby diagram tells us nothing if we don't know the pinouts for all the chips involved, it should cede some of its screen time to the proper schematic.
Noted!
Nice work on the simplicity of the design and incorporating the Pico!
Thank you very much!
As a returner to the amateur radio hobby, this was fascinating. Thanks for explaining it at basic level without assuming any prior knowledge. Very well presented and I look forward to development and mods. 👍
Thanks 👍
That is pretty cool. I am in Florida in the USA. Shortwave isn't much of a thing here anymore. It does look like a nice project for the pi pico.
Thanks! The broadcast shortwave stations are certainly dwindling, there is usually plenty of activity on the amateur bands (on a good day at least).
Very elegant design and clever NCO solution! I ordered a non-DC2DC version of Pico to see how it performs. Thanks for sharing!
Glad you like it!
I can't resist building this SDR. I related to your comparison of this receiver to the classic crystal radio. I too was hooked on radio after hearing music in the earphone of a simple crystal radio I bought from the Scholastic Book Club when I was in grade school. I seem to recall that this item was more expensive than most of the books and little kits for sale, the number $6 sticks in my mind. When translated into today's dollars, the Pi-Pico radio will cost about the same. I ordered the 3253 mux part but when they came , I learned that I ordered the TSSOP package. I'm not confident that I will be able to solder that tiny package to the adapter board. I looked closer and found that a SOIC version is available also. I ordered the SOIC parts just in case I make a mess of the TSSOP part. I can't wait to get started.
That's great 👍 I hope you enjoy the process as much as I did!
This is amazing! Will definitely be trying your design! Thanks for sharing.
You’re welcome 😊
With the Pico 2 out, will be interesting to see this done with it
I have one on order, watch this space!
@@101Things-ds8tc oh yeah :) I want to see that - subsribed :)
Wow this is amazing, it's a shame the OLED display is so small. Could you make a video running the band to really see how it behaves... Congratulations on the incredible project🎉
Thanks, I figured I would make it as small and cheap and possible, then think about some upgrade options. A bigger screen is on the agenda!
Very interesting. I've played around with SDR from time to time- but radio is like black magic to me.
Thanks, I don't think that black magic feeling ever goes away...
Excellent !. Thank you.
Glad you liked it!
Very impressive, Sir. Great project!
Thank you very much!
Seriously impressed, and slow scan as a bonus.
Here in Australia the Silicon Chip magazine did publish one some years ago.
Thanks!
Suggestion for those building this:
Troll through the available opamps and you likely will be able to find one that has a better noise performance. Remember to look down in the datasheet for the real numbers. The one up in the banner headline is always the "typical" number. As we all know, they shipped those to someone else. Go with the maximum numbers. MCP6022 has a very small noise current but quite a lot of noise voltage. You likely can find one with a bit more noise current and less noise voltage.
I am bookmarking this. I think I just thought of a way to extend the upper frequency range a whole bunch. I will work on the idea this evening and put something here if it looks likely.
Yes definitely, there's nothing particularly special about that op-amp, I'm sure there are plenty with similar specs, better noise performance and lower cost. Especially if you are willing to substitute an smd part.
@@101Things-ds8tc The idea for more high frequencies would work but it seriously increases the parts count
1) A PIO can make a much faster local oscillator but you don't get a large number of frequency choices.
2) A Taylor mixer could mix down from really high to just too high for the ADC.
3) Instead of going straight to the ADC, you amplify, low pass a bit and do 2 more Taylor mixers this time using a more reasonable frequency
4) Doing some math with resistors, you get the I and Q channels for the ADC with the op-amp as you are doing it.
@@kensmith5694 Genius!
Nice little extension to add onboard audio to the EasySDR project by Doctor Volt (Michal)
Cool idea!
Amazing! Thanks for the video!
Glad you liked it!
Excelente resultado, parabens pelo projeto e obrigado por compartilhar.
Really cool Jon. Think I'll give it a try. Thanks!
Thanks, much appreciated 👍
Well done.
Thanks 👍
Legend,well done
Thanks very much!
that is an awesome bit of kit well done i love it what about a nice touch screen say 7" to watch some waterfalls.
That would be pretty cool! I think there's probably enough spare CPU....
@@101Things-ds8tc are you using the new pico2 more memory and faster.
@@jediknight2350 I haven't been able to get hold of one yet, but its on order. FPU should be a game changer, but to be honest, I don't think I have hit the limits of the first generation pico yet!
@@101Things-ds8tc i get you but imagine what you could do with the new one i cant wait to see your progress its awesome what youve done so far.
Funny, i was looking at your project at the weekend. Seems that op amp is unobtanium in NZ. They all seem to be in the UK, i wonder why. Nice little project and well documented. Thank you.
Cool, thanks! Hopefully the op-amp won't be a show stopper, I think there must be a quite a few with similar specs, especially if you are willing to use an SMD device with an adaptor. There's always the LT6231 if you don't mind paying a bit extra.
Hey man, I loved that circuit diagram with realistic looking components. Did you make it yourself or is it from an app?
Thanks, its nothing special, I just draw them in libreOffice draw.
This is very intriguing. 20 years ago I was wondering if it's possible to build a cheap analog receiver for marine utility radio (NAVTEX, weather reports via RTTY and radiofax). Cheap receivers would have too much drift for reliable operation, but a microcontroller might monitor the demodulated aufio signal and re-tune the receiver accordingly. Probably possible, but too much of a challenge for someone barely confident in digital electronics.
Seeing this project makes me reconsider that old idea …
Cool, it all sounds doable!
amazing performance!!
Thanks!
Hello! What is the algorythm of demodulation in the receiver? The simplest way for SSB - is an alorithm of the Wevaer reciever. Other case - square root of sum I^2+Q^2 for AM. In other cases there must be low-frequency wideband phase shifter: it is very heavy for CPU
Thanks! I'm using frequency shifts and filters to suppress the opposite sideband. For AM I use a fast min/max magnitude approximation. There is a full description here: 101-things.readthedocs.io/en/latest/radio_receiver.html#demodulation-fm.
Very cool project!
Thank you! Cheers!
Can you share a proper electronic schematic diagram? A confusing cable diagram is not helping to understand your project that otherwise seems to be very interesting. Thanks for sharing it.
Sure, there's a bunch of documentation here 101-things.readthedocs.io/en/latest/breadboard_radio.html including a more traditional schematic. If you want to know all the technical details you could take a look at the documentation for the original PicoRx here: 101-things.readthedocs.io/en/latest/radio_receiver.html, it goes into detail about the hardware, and software design with schematics and code samples.
@@101Things-ds8tc Thanks!
@@101Things-ds8tc The older version ran the op amp at 5v, the newer one at 3.3v. Both use a divider fed from 3.3v to set the input levels. Shouldn't the input level be set at half the op amp pwr supply? Or is this to just set the zero signal dc level for the A/D inputs of the pico? I have a bunch of OP275 opamps. They have a GBP or 9 mhz, should be high enough, but they seem to have a min pwr supply of +/- 4.5 v so maybe not?
A DIY kit with all the parts would be nice. The biggest problem like always is finding the parts to build. 73
A kit would be great to avoid sourcing the components😉
Great idea, it's something I'm considering.
I like the PWM audio gives it a certain aesthetic.
Muito legal esse projeto parabéns.
muito obrigado
Super awesome! Subscribed ❤
What modifications does this circuit required to add an amplifier and change to transmission mode ?
Thanks and all the best!
Thanks, I don't think it would be that difficult to implement TX. in It's simplest form, it could be a simple merge with the transmitter project.
I'll dig into this channel more,
Would love to see this turned into a 2way+ SDR for infrastructure-less mesh communication. If the unit can adjust frequencies modes on the fly and the amplitude based on the provided adhoc power source + antenna, then any device can be made into a powerful relay and extend the network with no hw changes.
Not sure if pico runs unix but add pi zero and a touch screen and you got a infa-less cellphone.
Imagine not paying mobile isps, serving sites with edge load balancing, a truely free internet could be built on this
Two more questions. Is this colored schematic available somewhere on github? Is the battery connected to VSYS and does the D1 diode need to be still removed from Pico?
Thanks! I haven't added the coloured schematic (not in an editable form anyway). But I can if you need it. In terms of power, you have options! Simplest is to leave as is and have a USB powered device using phone charger power bank etc. Second option is to connect battery to VSYS and remove D1, effectively giving you a battery powered device with a USB connection, but it won't work without batteries. Third option would be to implement one of the solutions in datasheets.raspberrypi.com/pico/pico-datasheet.pdf section 4.5 using either a diode or PFET to allow either batteries or USB power to be used interchangeably. I think there are also versions of the pi-pico that have built in lithium batteries and charging circuitry, this might be a neat solution in a compact device.
@@101Things-ds8tc Thanks!
@@101Things-ds8tc I have one USB-C RP2040 board with double schottky, but with only 3.3V LDO. LDO should be better for RF stuff, but I would also like to add a LNA which requires 5V. Adding another 5V LDO will require at least 6V battery. Not sure how to solve this.
I can't see a simple solution, but maybe you could run LNA directly from the battery, perhaps using LC filter network rather than LDO?
felicitaciones muy bueno !!!!!
¡Muchas gracias!
Good sensitivity to pick up those SW stations. I'd struggle to do that with an rtlsdr or hackrf
Yes, it seems to pick up most things. Works well with the you loop and lna.
Tummed up subbed and saved 👍
Thanks! Much appreciated!
Awesome‼ Thanks 👍 Why did you go with the MCP6022 when there are other op-amps, less expensive op-amps, with a gain-bandwidth product of 10MHz and a slew rate of at least 7V/us? For example, I found the NE5532P on Mouser for $0.59 (US dollars) versus $1.86 (US dollars) for the MCP6022.
Thanks, Good question! I did consider that device, it's a popular option. I also looked at the lm4562. It's mainly because I wanted to run on 3.3v. That's not to say there aren't better options though. My search wasn't exactly exhaustive, I already had some in stock.
Nice work. Do you plan to do an upgraded version with a Pico 2?
That's the plan. Watch this space!
What tool did you use to draw that colorful circuit diagram?
Nothing special, just drew them in libre office.
AIS uses frequencies around 162MHz, would it be possible to use this for receiving AIS if using a quicker MCU ?
From Wikipedia:
Channel A 161.975 MHz (87B)
Channel B 162.025 MHz (88B)
You could probably achieve this using a down converter, but there might be other simpler solutions out there.
Simple is good. :)@@101Things-ds8tc
-Before I forget. You could have several receivers on a single MCU.
Perhaps you could set up the timers to generate frequencies and connect the DMA for sampling data, so the MCU is freed up to "relax". It might even be able to receive while being 'asleep' (WFI).
With the new Pico 2 coming out which has double the PIO channels, I'm curious if you can get even better performance characteristics!
Yes, I have done some testing with pico2 and it is very promising!
Do you have a link of any groups, forum or disccusion for this project ?
No I don't have anything like that, closest thing is the GitHub page.
Very nice.
Cheers, much appreciated!
Its possible to use the MC74ACT139N? Thanks and compliments for the projects.
Thanks, unfortunately I don't think this is suitable, it looks like a digital mux with the same pinout. You need a analog mux. Look for something with a low on resistance e.g. 5 ohms and a fast switching time e.g. 10ns.
Thanks
I wonder if you could replace the 743253 with a few resistors and capacitors. The input would be split into four channels using a resistor per channel. Then connect the channel to a GPIO through a capacitor. You would then ground the channel by switching the GPIO to output and cycle through the channels by ungrounding one by switching the associated GPIO to input.
That's an interesting idea! I did try something similar using an FPGA once, making a crude mixer by periodically grounding and ungrounding RF signal through RC network. It did work (up to a point), and I was able to receive strong local stations. There was a diode in the IO pin that clipped the negative swing below -0.7v.
Subbed
Thanks!
Can this be improved by using a PI PICO 2? Thanks.
Yes, will be posting a video on this soon! 👍
I love this project. I’ve been trying to figure out the math behind the IQ sampling by the single ADC. At first I thought that this was an issue unique to your design but then I realized that the ATMega328 used in the (tr)uSDX also has just one ADC so it must be solving the same issue, somehow. If I understand correctly, your solution ends up sampling 250K I and 250K Q values per second. If that’s the case, would it be possible to use a diode ring mixer instead of Tayloe, sample its single output at 500K, and then convert that to 250K I/Q in software? Such hardware might be even easier for beginners (like me) to understand.
Thanks! Yes, that's exactly right I'm sampling I at 250 and Q at 250. It took me a while to get my head around using a single (multiplexed) ADC, but its probably obvious to someone with a DSP background. I think its just an extension of interpolating using zero padding and low-pass filter. You can easily convert 500k to 250k I/Q in software, the only difficulty in that case would be distinguishing positive and negative frequencies. I can't think of a way to do this without using a second mixer. I think sBitx uses a superhet design along these lines.
What the appropriate cost of the parts? How does the performance compare to the typical HF radios, like the Icom 7300, Icom 7610, or other equivalent brands and model HF radios?
Hi, The Pi Pico costs 4 GBP, I paid 0.46 GBP for the analog mux and 1.44 GBP for the op amp. The displays cost between about 1.5 and 3.5 GBP depending where you buy them. I guess you could make one for about 10-20 GBP all in. I haven't done any scientific measurements and don't want to make any wild claims about the performance, but with the you-loop and LNA setup it seems to receive most of the stations that my RSP1A does, although they are harder to find and don't always sound as good.
kudos
Much appreciated 👍
I am insterested in building this. What package type of 743253 did you use?
Sure I used a 74CBTLV3253PW in a TSSOP-16 package. You will need an adaptor if you are building on a breadboard, I think most are double sided with soic-16 on one side and tssop-16 on the other.
Great project! Can I use a CBT3253 instead of the chip you used? What are some other options if not? The chip you used is unobtanium here.
Yes, 74cbt3253 would work so long as you supply it with 5v rather than 3.3v.
Bonjour, le schéma est bien réalisé, j'ai pas bien compris avec quel logiciel vous avez utilisé pour créer justement ce schéma très détaillé. Merci
Merci beaucoup ! Je n'ai utilisé aucun logiciel spécial pour les diagrammes, je les ai simplement dessinés dans LibreOffice Draw.
Nice project for the RP2040. By the way, to my ear, you sound like a Cardiffian who lives/lived in England?
Thanks! You clearly have a good ear for accents!
@@101Things-ds8tc I am originally from Roath but I now live in Budapest, Hungary (via London).
I don't understand the use of AAAs for power. They cost the same as AAs and have less than half the capacity.
Totally agree, the only advantage of AAA is that they are physically smaller. If you have the space use AA they will last even longer.
Amazing! - can it be even better if you port to the new 2350 Pico 2?
It might be since the RP2350 has hardware floating point and DSP functions👍
Thanks, the Pico 2 should be much better with the fpu and accelerated DSP. I have got one on order... To be honest though, I don't think I have found the limits of the first generation device yet!
I love the simplicity of this! 73 de VK2AOE
Thanks :-) That's what I was aiming for!
I wired the Pico up according to the pictorial diagram pointed to on the github. The display lights up and shows 1.411 mhz AM. Pressing the buttons or operating the encoder doesn't seem to do anything. I'm using the click wheel encoder from Adafruit, right and left buttons on the fwd and bkwd switches, encoder switch on the press switch. I uploaded the pre built firmware. Don't have the IQ mixer wired up yet (waiting for parts) but I wanted to see the UI functions. It does seem to be doing something, touching the pico causes temp reading to bounce, along with s meter. Just can't get into the menu as if the switches don't work.
Cool! Sounds like good progress so far! I can't see any reason why it wouldn't work with that encoder in the way you describe. There are internal pull-ups on the encoder/button pins, so these should normally read 3.3v, and dip to 0v when pressed. You should be able to check the pico pins with a scope or meter. Might also be worth checking the continuity of the encoder switches too, just to make sure the pins are connected as you expect. Assume you are using the original pico, not the pico2, the code for the pico2 isn't quite ready yet.
@@101Things-ds8tc I don't know who is "lucky" enough to have a pico2, I've signed up for notification at digikey on stock. I'm using a pcio 1.
The display used (0.96") is rather small and my vision isn't up to the task anymore (far sighted in my old age!). Am using a magnifier to read it!
Would like to sub a larger one, but then would need a different driver library.
Will check the encoder / switches with scope. Could also be the breadboard, might need to solder connections.
Tested with a scope, and then an ohmeter on the encoder. Looks like the encoder wheel is totally dead. NONE of the switches work. Will stick an encoder like you used on the breadboard and try it again. Can't believe I got a DOA from Adafruit. It's been sitting in the junque box for two years now, waiting for a project to use it in so too late to send it back.
That's a shame, I thought they looked pretty neat. It sounds like a bigger screen would be a really popular option, I'm sure its something I will be looking at when time permits.
@@101Things-ds8tc I think I just got a bad one, either the wheel or the adapter PC board.
I might move the bands and push io's elsewhere if possible so I can use the SPI interface for a tft display.
Brilliant!
Are you thinking of making a transmitter at all with your Tayloe design?
Thanks, I'd love to add a TX capability, it definitely something I'm keen to explore.
What’s the name of the LNA you are using with the antenna?
Its just an unbranded generic wideband LNA. Something like this one (not a recommendation but should give you an idea). www.ebay.co.uk/itm/126578890836?_trkparms=amclksrc%3DITM%26aid%3D1110013%26algo%3DHOMESPLICE.SIMRXI%26ao%3D1%26asc%3D264183%26meid%3De51288ebad91450d8c324999fb234140%26pid%3D101196%26rk%3D2%26rkt%3D12%26sd%3D186490543190%26itm%3D126578890836%26pmt%3D1%26noa%3D0%26pg%3D4429486%26algv%3DSimRXIVINativeV2WithSellersOwnItemsFilter&_trksid=p4429486.c101196.m2219&itmprp=cksum%3A126578890836e51288ebad91450d8c324999fb234140%7Cenc%3AAQAJAAABAPUpV7F1Bd%252BBh9UJeewaO4DKj%252BmyWoAZr9ZAL2aU%252FtKZ5Z5Dpbx7fDPnVlcJ5A8LF5uP8Rr8BkU%252B6dS9RRzP0VriUmQgh7795vpdINBLm77hMIXRqtLVn7bjRFXBGmbyS6nx6OqJLPrnaadtgfLzvVXHRgNdHBYNfeP%252Ff9%252BC2kZtLOf%252FiDv6Rj8BGsKFk6kTw3h9AHwVX8VbIzRGhTMOM1uHpUzPQ6XenaVg1Di0eWHEKBMxQ%252Ff1hsNGb0WA3Z1OwygDZQxuVsWOuW%252BO54r2zY3xzvIDbfZQfV9bWxv0k97vIiUT4Qk2s1FiM58S7yvwsO0My724Ju5ttloXn2lAHz0%253D%7Campid%3APL_CLK%7Cclp%3A4429486&itmmeta=01J5GQVV0KY8FWDNA0EZ7K6A77
@@101Things-ds8tc Thanks.
very interesting project ! do you have further details on the Pico PIO code for the quadrature oscillator ?
Yes, there is some description here from the old design 101-things.readthedocs.io/en/latest/radio_receiver.html#creating-quadrature-oscillator-using-pio. It still works the same, but now I also change the system clock to give me the best divide ratio, there is a bit more info here: 101-things.readthedocs.io/en/latest/breadboard_radio.html#improvements-and-tweaks. The actual code is here: github.com/dawsonjon/PicoRX/blob/master/nco.pio#L41. It just loops through the possible frequencies and chooses the one that gets closest. I actually deliberately aim for a small offset (low IF) so that any switching noise that we receive is a few kHz away from the wanted signal and gets removed by the digital filter.
@@101Things-ds8tc Thank you for your reply with your links and code for your Pico SDR receiver project. I think that RPI pico novices and radio hams would be very interested in a video that fully explained how the PIO was configured and coded to produce the quadrature local oscillator outputs.
Thanks for sharing, can use raspberry pi 3 ?
Thanks 👍 It won't work with a raspberry pi3, but the pi-pico is pretty cheap in comparison.
I wonder if you will print the case for us that don't have a 3d printer?
I'm not really set up for that sort of thing, but I expect you could persuade a friend to print one, or adapt a commercial enclosure. I bet you could fit one in an altoids tin with a bit of work!
@@101Things-ds8tc There are Chinese PC houses that also do 3d printing.
HERE: take my money!
Thanks very much 😊
@@101Things-ds8tc I'm tempted to do the PCB version. Do like that type of protoboard but they are quite expensive. I just need one of these and this is a great way to make a portable one!
Very neat project! Do you have any plans to add transmit capability?
Have long dreamed of a super low cost CW Morse code radio to get more people in the hobby. I know there are some relatively low cost options at about $200, but this could drastically reduce the entry cost so that more people would get into it. 73 Mike N4FFF
Thanks! Yes, I think it should be possible to get into the hobby quite cheaply nowadays. And there's the fun of building your own kit too!
@@101Things-ds8tc I think that your project is fantastic way for someone to get into radio, especially SDR RX, with the fun of building and leveraging your time investment in the hard parts! I love it!
I know there are also a lot of people who would really enjoy aspects of radio that will never have any interested in hardware or building things. I also know that you don't always know if you will enjoy it enough to take the plunge with an expensive first step. I'm particularly interested in getting kids and younger people in the hobby. After they get a taste of the fun, then maybe they will find it interesting enough to learn about hardware or spend more money.
I imagine that a $20-50 radio where you could listen to everything and send morse code (CW) would be cheap enough for a lot of people to try and then realize how much they love it. The $200 radios, which are awesome that they exist, are enough money to prevent a lot of people from getting started. That would be such an amazing first step into the magic of radio. Your project has me day dreaming of a base board that you simply plug a pico pi into and put into a case. Your project seems like it would be perfect for the SDR RX for such a "kit". I wonder how hard it would then be to add TX capability for morse code.
Can it receive weatherfax?
Yes, I'd never tried before but just hooked it up to fldigi and it seemed to work just fine!
Wow, great stuff. I'm not totally au fait with the maths (or the Pi). I assume you can't output whatever freq you want for the quadrature signals. You have to pick whatever nearby freq that can be achieved by the PLL - i.e. multiplying/dividing the base clock by integer values? And the SW does the final processing?
Thanks! Yes, that's it precisely! I use the PLL and fractional divider to generate get as close as I can. There is another much more precise (small fraction of 1Hz) mixer in the software for fine tuning. Its all transparent to the user and tunes like a normal receiver.
How hard would it be to add TX?
Shouldn't be too hard, the receiver is the hard part.
why not use si5351 ?
It's cool how he is able to do without that extra chip.
I was aiming for simple hardware with a minimum of external components, implementing as much as I can in software. I think its pretty neat that the Pi-Pico can drive the Tayloe detector directly. I don't have anything against the si5351 though, its pretty cheap and performs well. I might even add one as an optional upgrade!
@@BaldurNorddahl he already uses a mixer and a multiplexer
and they dont sell neither of it here 😭
how can this become a transmitter ?
There are a couple of ways, did you see the Pi Pico Transmitter on the channel? Another option.would.be to add a quadrature sampling exciter, which is a tried and tested approach.
Have you tried with a pico2 yet?
Yes, quite impressed so far. Will post a video soon.
@@101Things-ds8tc Thanks. I playing with larger display as well, I trying to follow the code, most of the display routines are in ui.c and ui.h right?
please share the gerber files of your project too 😁
There are some gerbers for the original design, but doesn't have all the latest updates (yet)...
Why are you IQ sampling, the pico has only one ADC , you are not IQ sampling at all
for iq you need to sample at the same time two signals coming out of the iq mixers, rpi pico doesnt have two independent ADC
That's an interesting question!
Although we can't sample I and Q at the same time, the pi-pico does provide a round-robin mode allowing us to sample I and Q alternately. Provided we meet the Nyquist criteria we can work out the value of the signal at any point between samples using interpolation, thus we know what the value of Q would have been when we sampled I and vice-versa.
It turns out that the processing required to do this is trivial, you just replace the "missing" samples with zeros, and remove the outer half of the spectrum (which we would need to do anyway). Of course you don't get something for nothing, we still get 250kHz bandwidth from a 500kHz ADC.
There is a write up on the technique here: 101-things.readthedocs.io/en/latest/radio_receiver.html#sampling-iq-data-using-a-round-robin-adc.
@@101Things-ds8tc I beilieve (after reading your article) you have a 250 khz bandwidth, if that is the case then why not just directly sample the signal at 500khz, you will get 250khz anyway, much easier! . Why even use tyloe mixer? use a balanced switching mixer, much much easier with very common and cheap thru hole parts. I made an sdr using pico direct sampling using a switching mixer, will link it soon
Cool, your project sounds very interesting, I'm always interested in minimalist receiver designs!
I chose a Tayloe detector for my design because they are (relatively) simple and perform very well with low loss, very good sensitivity and linearity. One of the main advantages of IQ sampling is that it can distinguish positive and negative frequencies, (signals which are above and below the local oscillator). For this reason I/Q mixers are sometimes called "image-rejecting" mixers.
You can use a single mixer, and sample the output directly using an ADC, but one downside of this approach is that it can't distinguish the positive and negative frequencies (they just get added together and can't be separated in software), so it might be susceptible to interference from adjacent channels.
To avoid interference, you need to filter out images in hardware before sampling with an ADC. Filtering image signals in hardware can be just as complex as IQ sampling, but it can perform better (e.g. in a superheterodyne receiver).
Simple direct conversion receivers, do work well for AM signals though, with AM signals, the positive and negative frequencies are the same, so you don't need to worry too much about them getting added together.
Thanks!