In the first post on this blog series, I explained how to use the probe blocks in a basic project. In this post, I will show you how to integrate them to an existing hardware-in-the-loop project.
The project I choose for this demonstration is the GSM channelizer developed on top of Nutaq Wideband Digitizer (PicoDigitizer 250 + Wideband Receiver). See this blog and this video to understand the design flow and how the channelizer works. Since the host application has been developed using GNU Radio Companion (GRC) and there is configurable real-time signal processing performed in the FPGA, this project is well suited to demonstrate the utility of the GRC probe blocks.
Briefly, what the channelizer project does is separate the 102.4 MHz input signal bandwidth in 512 individual 200-kHz wide channels. Their average power of each channel is calculated inside the FPGA and is sent to the host computer for displaying the waterfall plot of every channel. Furthermore, two 200-kHz channels can be continuously monitored by specifying their channel index in the Custom Register 2 and 3.
I will introduce the probe blocks into my project to automatically select the most powerful GSM 850 uplink channels. This will allow the GUI to always display the channel with the highest energy without any human interaction. The Figure 1 shows the blocks I added to the default example in order to achieve this new behavior.