The Complex To Mag^2 block can operate on a vector, so that part you can get for free. If you don't actually need the mean, it could be sufficient to use a Single Pole IIR filter (also takes vectors) as a smoothing function.
On Tue, Mar 15, 2022 at 9:39 AM e heuchamps <alex-...@hotmail.com> wrote: > Hello everyone, > > I am trying to implement a bandwidth segmentizer (cutting a given > bandwidth into smaller channels) and energy detector using GNU Radio, as > schematically shown here below, but I am experiencing some trouble. > More precisely, to achieve the desired result, I have tried to implement > two python blocks, given in the attached archive, in files > "compute_average_power.py" and "custom_thres.py". > The goal of those blocks is to compute the average power contained in all > the channels (compute_average_power.py), and feed that computed value to a > self-made threshold block (custom_thres.py). > So far, the implementation does not work. > I have already learned in this post > <https://dsp.stackexchange.com/questions/81858/problem-to-extract-value-from-complex-to-mag-squared-gnuradio-block> > thanks > to *Markus Müller *that using np.mean (where np is short for numpy) is > bad because it depends on the length of input_items. > I have however not been able to reach the desired result. Can someone help > me out ? > > Thank you, have a nice day, > Alex > > > P. S. : the whole, complete, code is given in the attached archive, in the > "bw_segmentizer.py" file. >