I managed to figure the connect mistakes that I made out. Now there’s
something different that’s not working. From what I understand about
the analysis_filterbank, it works as follows (in my case).

You send it a signal with a bandwidth of 4MHz.
You have a lowpass filter with fc = 70kHz and fs = 100kHz.
You tell it that you have 20 channels.

The result should be that you have 20 outputs corresponding to the
lowpass filtered signals at frequencies of
-2MHz,-1.8MHz,…,-200kHz,0,200kHz,…,1.8MHz (the order would just be
a bit mixed up because of the FFT).

The problem is that I tested this block by opening a file in Gnuradio
with a signal with a BW of 4MHz with carriers that are 200kHz apart.
Each carrier has a different bandwidth. When I look at different
analysis_filterbank output, I should see each carrier in turn.

I only get a sensible output at channel 20 (output 19 of the
filterbank). The rest don’t make sense.

I’m thinking about writing my own block for this. I already have
normal C++ and Matlab code that works. Can someone please point me to
some examples that might be helpful?

What I need is a big polyphase filter and an FFT. The input of the
block should be a single complex stream running at a high rate. The
output should then be up to M channels each running at f_input/M. I’m
struggling to find a nice example on how filter channel memory and the
variable number of outputs work.

Thank you.


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs