discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] quadrature_demod losing weak signals


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] quadrature_demod losing weak signals
Date: Sat, 30 Nov 2013 10:54:22 -0500

On Sat, Nov 30, 2013 at 5:09 AM, Alexandru Csete <address@hidden> wrote:
> On Sat, Nov 30, 2013 at 2:50 AM, Kevin Reid <address@hidden> wrote:
>>
>> This seems like a bug, but I want to check first that I'm not having 
>> unreasonable expectations. I'm using GNU Radio 3.7.2.
>>
>> If the amplitude of the input to quadrature_demod_cf is less than about 
>> 10^(-2.23), then the output samples are zero instead of the demodulated 
>> signal.
>>
>> Since such an exponent is well within the range for (complex) single-float 
>> samples, this seems like a problem with the arithmetic used by 
>> quadrature_demod.
>>
>> I noticed it because my analog FM receiver would produce complete silence 
>> instead of static, despite not having any squelch enabled; unfortunately, it 
>> also produces silence on weak signals that would otherwise be intelligible. 
>> I have a notion that this did not occur in older GNU Radio versions (e.g. 
>> 3.6) but I'm not in a good position to test exactly where the problem might 
>> have been introduced.
>>
>> I've attached a GRC flowgraph for experimenting with the behavior, and a 
>> screenshot of what the demodulated output looks like just at the threshold 
>> of failure (the signal is 200 samples per cycle).
>>
>>
>
> I tried your grc file and the scope sink shows a perfect sinewave
> here. So maybe it is a voilk issue or the gr::fast_atan2f on your
> parchitecture. Mine was using avx_64_mmx_orc
>
> Alex


Works fine for me, too. Alex is probably right that there's something
going on with the SIMD architecture of your processor. The
quadrature_demod_cf block uses the
volk_32fc_x2_multiply_conjugate_32fc kernel. On my machine, I'm using
the SSE3 version of the kernel for both aligned and unaligned
architectures (in ~/.volk/volk_config). That kernel only has SSE3 and
generic kernels. You might try changing those to 'generic' to see if
that makes a difference on your machine.

For more details on VOLK and how the configure file is structured,
see: http://gnuradio.org/redmine/projects/gnuradio/wiki/Volk

Tom



reply via email to

[Prev in Thread] Current Thread [Next in Thread]