Ettus support is fantastic from my experience
and I don't have any affiliations with them
and LimeSDR support has been like super bad, I had a couple bricked Limes early on
And part of that: is there a good way to map out the power output as a function of frequency?
from my experience
@Aaron a lot of FPGAs include DSP blocks that are good for implementing FIR filters
sorry if there are Lime folks here
I'll have to look into that NMR app later
hadnt seen it before
keep in mind, when someone uses a certain SDR for a certain app, 99% of the time they could have used a different SDR
so it really comes down to being familiar with the API
and having code examples and such
NMR is super useful for my work so it def caught my attention
looks like there's a range of possibilities with various rf-freq measurement of materials.
yeah I wouldn't put much emphasis on the LimeSDR part
they probably could have used several other SDRs
SDRs are very general purpose
Will this chat transcript be available later?
@perronemajr - Any idea how old that NMR article is? Might make a good Hackaday writeup if it's still pretty fresh.
and like I said, the way I usually use them is to deliver the baseband IQ samples to my host machine, where they get processed
That's why I asked if there was a good way of mapping the power output
I only rarely modify the FPGA on the SDR itself
because if you can map it out for hackrf one then you can use that instead
@Aaron - Yes, absolutely. I'll post it right after the chat.
yeah and another SDR uses the same FPGA or RFIC then there's less work to do
Great, Thanks! Some of us are still at work.. shhhh... =)
or if the app didn't involve modifying the FPGA, you can probably sub them out with little effort
like if all the DSP is happening on the host machine, its easy to swap SDRs
the SDR is just a frequency-agile receiver (or transmitter) in that case
I think it did modify the FPGA, according to the paper written
Will check again though
so then you would want to check how big an FPGA is needed
And look for ways around
like the PlutoSDR has almost no room left on the FPGA for custom stuff
but USRP B210 I think has a lot of room
not sure about HackRF
bigger FPGAs cost a lot more
so when you see more expensive SDRs, that might be one reason, larger FPGA
I like to do my DSP on the host side, for the sake of rapid development
but if you need to do some DSP at "high rate", sometimes it has to be done on the FPGA
What's a good budget SDR with an FPGA at least as large as the one lime has?
using GNU Radio, I swap between USRP B200mini and a Pluto with almost zero effort for transmit and receive
yeah GNU Radio is all about doing DSP on the host, until you get into RFNoC
I dont know exactly how large the Lime's is, but considering the price its probably on the smaller end
you can see how many LUTs or however they measure the size of the FPGA
its an Intel, not Xilinx, so might be harder to compare, not sure
FPGA development is like a whole other thing =P
lots of jobs out there for FPGA devs, if any students are in the chat
Makes me want to ask, the BladeRF Micro has two choices between 40k and 300k LEs. Any idea what kind of applications would require the much larger chip?
Have you tried the pynq board for python to fpga?
www.pysdr.org) and you'll have a lot of opportunitiesget good with FPGA dev, and learn DSP basics (eg with
40k already "feels" like a lot but I imagine the DSP gets very heavy on resource usage
Doesn't list one for hackrf; perhaps it doesn't have one? Or maybe it's just very small
any app that requires a lot of DSP on the FPGA will need the larger one. The smaller one has just enough room for the existing code, I believe, it's not intended to add much to
the HackRF just has a very small CPLD for glue logic, no FPGA
yeah I mean most of the apps I made did not involve adding to the FPGA
I always prefer not to do FPGA dev, unless its necessary
in fact i like to stay within Python, where most folks use C/C++ for SDR apps
so I prefer SDRs with good Python APIs, which most have
usually the heavy lifting it done in C, and they use pybind or something for the Python API
so dont think you are going to have a huge performance hit by using Python for your SDR app
like most numpy functions are implemented in C, and very performant
It will depend on the device installed on.
RE "40k already "feels" like a lot but I imagine the DSP gets very heavy on resource usage" dont forget about everything the company had to add
yeah for sure
I tried using the Raspberry Pi, it was SLOW..
yeah I like to use x86 platforms whenever I can, for rapid development sake
rpi 3 or 4?
Ive been enjoying using these x86 based single board computers that have either Atoms or full Core CPUs on them
Could the DSP be moved to the computer instead of FPGA? for NMR or EPR real time isn't needed; just needs to scan through the frequencies
"Could the DSP be moved to the computer instead of FPGA" Always!!!!
just depends how many samples you want to pump through
Well that's encouraging: I'll take a look
a given realtime app can usually be performed near-realtime by using CPU instead of FPGA
I can do the basic GNU Radio stuff on an rPi, but it can be overloaded with higher sample rates
I started making an SDR image for the PI.. Great idea! I would love to try someone elses..
and i would recommend that if you're a hobbyist, you can always port the functionality to the FPGA later
I've done stuff on the Pi, but I usually do the development on a powerful machine, then make sure it can run fast enough on the Pi
its just more rapid development that way
As someone looking to move the functionality out of the CPU/PC into the FPGA, what resources do people recommend?
well you'll need to learn FPGA development
so might want to start with a dev kit for whatever ecosystem you plan to use (e.g. Vivado)
like an Artix based board, which can be had for less than $100
Plus there are several companies. You have to stick with the one that has the most for your application.
you can use the free Vivado license if your FPGA is small enough
yeah figure out which FPGA you will have to target
Like Altera, I use them, but xilinx has some features that seem better for certain applications.
like switching from Xilinx to Intel is unlike any other switch I can think of
I am excited they bought Altera..
During remoticon I set up the PiSDR on a RasPi3 and it runs nicely.
I can't wait to try GNU Radio on the pi 4..
in the SDR world, Xilinx has been the dominant force
as well as US gov
AMD recently bought xilnix
the SDRs that use Intel/Altera did it to save money =P
yeah AMD has been insane lately
Gnu radio + rpi4 = personal space heater
they are crushing it on all fronts
You also have to make sure your FPGA dev board has enought memory for what you need to do.
Thanks Barry.. I am going to try that!
The AMD CEO knows what she is doing.
from a branding perspective, Altera switched to Intel, but I doubt Xilinx will switch their branding
I think it was because Altera was losing the race and Intel had always been a big name
what about synchronization of multiple receivers? antenna arrays, time-of-arrival passive radars...?
well when I suggested FPGA dev board, that was purely for learning FPGA dev
@kiggins.chris :-D That's the reason I have a fan on the RasPi3.
What about tips specifically for implementing DSP in HDL?
i wouldnt get too caught up in the capabilities of the dev board, since you will likely be switching to the FPGA onboard your SDR
"what about synchronization of multiple receivers? antenna arrays, time-of-arrival passive radars...?" yeah thats an important consideration
Aaron: it also has some other good apps with it
I've done work using USRP X310's that were synced over PPS/10MHz, and also work with SDRs synced over GPS
I don't have tips for implementing DSP in HDL =P
learn DSP from a conceptual/algorithmic POV
then also get good with FPGA dev
When you start talking about getting multiple coherent channels using SDRs, you get into the more expensive SDRs (unless you just need 2 channels which the B210 can do)
and that coherency is required for angle-of-arrival and phased arrays
What types of AI/ML techniques or algorithms have you implemented in SDR? What kind of benefits/improvements do they provide?
I've done quite a bit of ML apps, but they were always implemented at the host side
since the ML tends to happen at the end of the chain, after any DSP preprocessing and such
can a syncing signal be added to the input signals and then numerically isolated?
I mean folks have implemented stuff like DNN inference into FPGAs
well even with a syncing signal you still need coherent receivers
the sync signal will fix any constant phase shift that might exist
but the sync signal is usually over a wire, right?
Are SDR outputs delicate to reflected waves? for NMR you basically need to put the transmitter and reciever in a Faraday cage together which means the amplitudes can get pretty high
because otherwise it might reach the two apertures at different times
"Are SDR outputs delicate to reflected waves" yes!!! make sure if you are transmitting, you use a well-matched antenna
Is it possible to use the reciever as a sink for the energy?
oh but in a faraday cage your reflections shouldnt be that high
hmm good question
can be wire, can be laser, can be separate radio channel, can be third-party transmitter, can be something gps-derived...
if you end up receiving at too high a level, just stick an attenutator on the rx port
in faraday cage the reflections can be sky-high. see microwave oven. but it could be lined by a rf absorber.
but high compared to a poorly matched antenna that reflects half the power back?
You'd basically be getting all the power back
I guess im confusing rx and tx sides of the SDR which have different hardware
oh geez, yeah def add an attenuator to the rx side then
Especially in NMR where you're resonating the material
Transmitter / receiver switching for NMR is a solved problem.
the SDR data sheets usually have a max input on the RF connector in dBm
Got it; attenuator was the search term I needed
When designing an SDR, do you recommend starting with the tx side or rx side? Why?
what about radar? something pretty cool could be pinging the moon.
designing an SDR, or SDR app?
also did that NMR app include an added T/R switch?
or did they just use the TX and RX ports separately
An SDR, hardwire and softwaer
if you are interested in designing an SDR itself, I would join whatever the largest open source hardware project is
it's an enormous task
@Thomas Shaddack https://www.technologyreview.com/2019/08/23/75512/quantum-radar-has-been-demonstrated-for-the-first-time/ cool stuff, don't know why they mentioned it considering certain things...
what if you just shit out PCBs like its no thing ?
Yet, china sells the chips for pennies... LOL
anyone know what the biggest open hardware SDR project is?
That's why I mentioned squeezed states
yeah if you just want an SDR, buy one, lol
With NMR there is typically only one coil for transmit and receive.
but I would avoid the chinese clones if it's your first SDR
Agreed... What is the larges SDR open source project?
for learning DSP, and how to use SDRs, definitely start with the RX side
now keep in mind, stuff like USRPs have their schematics publicly available, and firmware is open source
Besides GNU radio?
well GNU Radio is the software/DSP/GUI side of the SDR app
@Jeffrey Forbes Seems to be, just wasn't aware of that stuff, being more in physics than electrical eng.
For DSP? Or for hardware?
Anyone looked at HPSDR?
GNU Radio competitors include Pothos(sp?) and maybe Red Hawk
but you don't need a framework like GNU Radio to create an SDR app
GNU Radio just makes it easier to re-use other people's work, and share your work
HackRF is open source...
so you dont have to reinvent the wheel
yeah but it's still company-driven right
are there any community lead ones?
I wanted to do one around the AD9375
I guess the short answer is, I wouldn't waste time designing/building an SDR unless that's what you are passionate about
the board design wouldn't be that challenging for me
@Whitney Knitter def start with rx because accidentally transmitting in bands reserved for military applications gets ugly fast
Do you have answers for this? Or asking if we know? *waiting for the answer impatiently..*
keep in mind, a big part of the SDR is its firmware/driver
"What is the larges SDR open source project?"?
it's too vague a question imo, depends which side you're talking about
@Jeffrey Forbes Interesting how is that done with tx and rx? Just measure the resonance somehow?