I will try to catch up with all the topics and questions in this thread.
During this second half of the year I've been very busy selling my house and lost contact with the various forums. I will enter my new home on december 23 and hope to setup my new lab and antennas within january. So I'm sorry if I will not reply in a timely manner still for some time.
Back in June I asked for info through the myriadrf forum comments.
Unfortunately, I completely missed Ian's proposal because I didn't get any email from the forum software despite I had set the option for that.
I have to thank Dave for bringing to my attention that comment by Ian and I replied to both of them that I'm still interested in all of this and would very welcome any info / knowledge sharing / sources related with the FFT on FPGA topic.
Thank you also to David for the quick recap about what I would like to build. That's correct and I would like to keep that approach both for my rlt-sdr setup and for the new LimeSDR one.
Laptops and computers can certainly do wonderful things leveraging USB 3 and fast CPUs. And I will also do that for some time or with a second LimeSDR in the future.
But now my main objective is to get something standalone, unattended and running 24/7 possibly with low power consumption.
As David pointed out, this is for me an additional way of using LimeSDR (not a replacement or a change in what RASDR4 is offering).
@David: I'm a backer of LimeSDR but I did not get an early version of the board. I'm waiting like the others for the shipment and following all their updates.
Months ago I exchanged some emails within the SUG group and Nathan Towne kindly shared info on his setup and how he was using his FPGA.
I think all of you have read the wonderful article by Nathan in latest SARA journal titled "Poly-phase filter banks in amateur radio astronomy". So you already know even more details and the different ways you can run PFBs.
I would like to improve my Jupiter spectrograms re-creating or mimicking Nathan's sw, but the FPGA used on the LimeSDR is a different one. This means that a different development environment should be used.
I'm approaching FPGAs for the first time, but I'm used to learn new things so I'm not so worried about this. I already have knowledge about programming Arduino, Teensy, STM32, Raspberry PI,..... hope to add FPGA to the list :-)
This is my current understanding of the FPGA landscape (someone will kill me for incorrect wording):
- We are all used to CPUs that can run programs... FPGA actually run something that is more close to a configuration than to a program. i think this is called a "design" since it's about designing hardware
- there's a lot of parallelism in how the FPGA works and your design runs on a "stream" of data with everything governed by the clock
- you can write FPGA sw using various tools that can simplify your job also in testing the design before deploying that to the FPGA and run it normally
- FPGAs internal "resources" (LUT, LE, memory, etc) vary a lot in number, offering you different degrees of capabilities and limitations between different FPGAs
- this is why a design used on one FPGA has to be "ported" in order to use it on another FPGA
- porting can be feasible or not depending also on the different "resources" available
- so the design used by Nathan on his Xilinx Spartan 3 should be "ported" in order to run on the LimeSDR ALTERA Cyclone IV
- if you look at an example source code for an FPGA, written in Verilog or VHDL, you will immediately understand that writing an FFT implementation is not so trivial and actually reminded me of when I wrote programs in assembly... this should give you an idea...
- there are FFT implementations available as so called "IP cores" but those are expensive
- so I searched for open source designs and found
http://opencores.org/ where you can find interesting things. I think some could be interesting for us but I need to setup a development environment in order to try and test something. Will see
- seems that interest for FPGA development keeps increasing month after month also because of new capabilities and increased usage by the industry. this is motivating lots of people that cannot afford expensive licenses for IP cores in creating free python based design tools. this happens also because of increased interest by Universities and shrinking budgets....
- i would be really happy if I could just run FFTs... adding all the other PFB code could be even more challenging.
Honestly, I think that good input from people already skilled on FPGA development is more than welcome.
I remember that the LimeSDR guys mentioned sw coming to the Ubuntu App Store but I don't know if and where we can get info on what is boiling down and if someone is actually writing sw interesting for us.
I will certainly start experimenting as soon as I can. Then I should be able to say if I can go on.
Hopefully one can get started designing and testing with similar speed :-)
please let me know your thoughts...
mario