|
From: | mleech |
Subject: | Re: [Discuss-gnuradio] Can the io signatur of the gnuradio blocks be dynamically updated? |
Date: | Fri, 12 Oct 2012 11:16:44 -0400 |
User-agent: | Roundcube Webmail/0.7.2 |
On 12 Oct 2012 11:12, Tom Rondeau wrote:
On Thu, Oct 11, 2012 at 7:41 PM, Alex Zhang <address@hidden> wrote:Let me take an example for my question. For some OFDM blocks, the io signature is determined by the fft length, during the constructing the block. However, sometimes, we need to adjust the the fft length dynamically based on some physical environment or computing environment.Hi Alex, I haven't thought about this too much, so my recollection of how things work could be a bit off. But I'm pretty sure that the answer is no, you cannot dynamically adjust this. You'd be messing too much with the scheduler. The way that you can do it is to lock the flowgraph, swap out the block in question with a new block that has the new parameters, and unlock to restart the graph. But you are going to lose samples in the buffers into the block that you're removing. This would actually be a great case for the event stream scheduler. You could have different processing graphs that are selected based on the state that you need. So you could populate graphs of different FFT lengths and then dynamically select the right graph based on an event when you detect a different length is required. This is still a work-in-progress: https://github.com/osh/gr-eventstream.
So, my question is why this is any different than the existing cases of FFT and FIR filter blocks -- they have an I/O signature of a complex-stream, and internally they "do the right thing" when the filter length changes. I don't immediately see why blocks that conceptually "change size" can't just do it internally just like the FFT and FIR filter cases.
[Prev in Thread] | Current Thread | [Next in Thread] |