This week of GSoC, I dealt with the final GUI issues and improvements. Also, I improved the error handling of the Signal Separator block and implemented a JSON logic to load precalculated filter taps. Finally, my final milestones where changed in discussion with my mentors.
After 5 weeks of coding it’s time for the midterms and to have a look back and see what I have accomplished. Let’s have again a look at the milestones:
- Prototype signal detection algorithms in python and evaluate best approach to implement
- Implement signal detection algorithm in C++ and wrapping it in a new block
- Create first GUI with QWT and QT with graphical feedback of signal detection block
- Verification with over-the-air signals
- Documentation for the mentioned components
All of the mentioned milestones could be accomplished thanks to the great help of my mentors. Read here about the details. If you want to check out the inspector, feel free to use the master branch of the official repo.
During the fourth week of GSoC, I mainly dealt with building the GUI. Read here more about it.
The third week of GSoC comes to an end and I have been making further progress. Most of the time was consumed by debugging the Signal Separator block, that showed unintended outputs in the unit tests. Also, I changed the format of the RF map and implemented a single pole IIR averaging filter in the Signal Detector block to average the PSD and make detection more reliable. To be able to test the Signal Separator, I created a prototype of the Signal Extractor block, which is able to extract the samples of the selected signal in the messages from the Signal Separator. For the Signal Detector I implemented some callbacks to be able to change parameters during runtime. This is most interesting when changing the threshold after seeing the actual spectrum. Last but not least, I started to implement the QT GUI Inspector Sink.Read More »
After having prototyped the Signal Detector block last week, I implemented a first version in C++ this week. Also, I wrote a C++ prototype of the Signal Separator. To actually test it’s functionality, I need to implement the Signal Extractor block to be able to analyze one of the signals and compare it to the input (right now it’s just passing serialized samples of each signal).Read More »
As seen in my last blog post, my first task within GSoC was to implement a signal detection block. In this week, I have prototyped the Signal Detector in Python and have done over-the-air testing to verify it’s functionality. Also, I have started with the Signal Separator block, which will separate all detected signals from the input signal and pass them serialized within a message (or maybe tagged stream). As a first shot, I have chosen the second approach from the last blog post, where the signal frequency information is not stored in a central RF map, but passed between blocks with messages (see figure below). This way, I don’t have to deal with write/read access coordination of the object. Also, if a GUI is used, the detected frequency bands can be altered by manual band selection before the signals get separated.Read More »
After last weeks talks to my mentors, we have agreed on one strategy how to detect signals out of the input spectrum. This task will be the main focus beginning with the coding period next week until the midterms. Read More »