discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] gri_mmse_fir_interpolator_cc::interpolate returns NaN


From: Kyle Zhou
Subject: [Discuss-gnuradio] gri_mmse_fir_interpolator_cc::interpolate returns NaN
Date: Wed, 23 Jun 2010 13:31:24 +1000
User-agent: Thunderbird 2.0.0.24 (Windows/20100228)

I am testing the gr_mpsk_receiver_cc module using the code attached at the end.
It is gnuradio v3.3.1git-11-ge20160b7 on cygwin 1.7.5-1 with gcc 3.4.4.
When I run the code, the following error pops up:
===========================
assertion "imu >= 0" failed: file "gri_mmse_fir_interpolator_cc.cc", line 67, fu nction: gr_complex gri_mmse_fir_interpolator_cc::interpolate(const gr_complex*,
float)
Aborted (core dumped)
===========================

Digging into the source code, I found that the interpolator at line 306 of gr_mpsk_receiver_cc.cc return NaN when the inputs are all zeros. line 306: gr_complex interp_sample = d_interp->interpolate(&d_dl[d_dl_idx], d_mu);

trying it on ubuntu produced no problem.

Is this an known bug?
Kyle

######## test python script ################
#!/usr/bin/env python
#
from gnuradio import gr
from gnuradio.eng_option import eng_option
from optparse import OptionParser
import os

class my_top_block(gr.top_block):

   def __init__(self):
       gr.top_block.__init__(self)
parser = OptionParser(option_class=eng_option)
       parser.add_option("-i", "--input-file", type="string", default=None,
                           help="Input file name")
parser.add_option("-o", "--output-file", type="string", default=None,
                           help="Output file name")
       (options, args) = parser.parse_args ()
if len(args) != 0 or options.input_file==None or options.output_file==None:
           parser.print_help()
           raise SystemExit, 1
sinput = gr.file_source(gr.sizeof_short, options.input_file, False)
       src = gr.interleaved_short_to_complex()
       self.connect(sinput, src)
M=4
       theta=0.0
       alpha=0.01
       beta=alpha*alpha/4.0
       fmin=0.0
       fmax=1e-4
       mu=0.0
       gain_mu=0.05
       omega=2.2409
       gain_omega=omega*omega/4.0
       omega_rel=0.005
receiver = gr.mpsk_receiver_cc (M,theta,alpha,beta,fmin,fmax,mu,gain_mu,omega,gain_omega,omega_rel)
       dst = gr.file_sink (gr.sizeof_gr_complex, options.output_file)
       self.connect (src, receiver, dst)


if __name__ == '__main__':
   try:
       my_top_block().run()
   except KeyboardInterrupt:
       pass


reply via email to

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