|Subject:||[Discuss-gnuradio] Why aren't these streams synchronous? (was: No change when set_processor affinity() is used)|
|Date:||Tue, 12 May 2015 22:14:09 +0200|
|User-agent:||Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0|
I took the liberty of changing the subject to reflect the new topic :)
You're right, the low pass filters that the firdes tool produces should have linear phase, meaning that their impulse response is symmetrical and they have a constant phase delay of half the filter length.
I don't really think your synchronization as it is broken, but your signals might be:
* you're doing a 27k-tap filter. That means you're summing up 27k floating point numbers when doing the convolution of signal and filter. This *might* be a bit harsh for the numerical accuracy that a single precision floating point number offers. IIRC, the general (un-hand-optimized) volk kernel doing this just takes a single accumulator variable and sums over all tap[k-n]*sample[n]; not the optimal thing when it comes to numerical stability. However, hopefully no longer streaks in the filter impulse response have the same sign -- thus minimizing these effects. I'd strongly recommend using gr_filter_design, and plotting your filter's impulse, and its frequency response. Do you really need a transition width that narrow, or a ripple that small, or a suppression that high? Can you not decimate after the band pass? Does it have to be a complex band pass, or are the requirements in the upper and lower transitions so different, that you gain significantly by doing a LPF and a HPF after another?
* You do complex2mag²->low pass->logarithm. I don't really think taking the logarithm of a negative number is a good idea, and unless you now your signal very well, I don't think you can avoid getting negative numbers out of that low pass .
 http://imgur.com/70feESf (by the way, that example is a bit constructed, but it brings the point across; it especially applies to situations where your signal gets clipped and you're working close to nyquist)
On 05/12/2015 07:07 PM, Nemanja Savic wrote:
|[Prev in Thread]||Current Thread||[Next in Thread]|