[Top][All Lists]

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

[Discuss-gnuradio] Gr channel_model Problems

From: Wang Ning
Subject: [Discuss-gnuradio] Gr channel_model Problems
Date: Fri, 22 Mar 2013 14:37:41 +0800

Hi guys, 

I am trying to use gnuradio channel_model to do some simulation right now, and 
I found something is not consistent in the implementation of the channel_model 
C++ code.  Here is my confusion:

In gnuradio-core/src/lib/hier/gr_channel_model.cc : line 57

d_timing_offset = gr_make_fractional_interpolator_cc(0.0, epsilon);

defines the timing offset filter as a fractional interpolator. 
In  ./gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc or its 

we can see that the constructor's first argument is `phase_shift' and the 
second arg is 'interp_ration'. From my point of view, `interp_ration' defines 
the number of input to output ratio, so if it is less than 1.0, this filter 
gives more output items than what it is input; And the `phase_shift' defines 
the relative phase of the interpolated sample.

However, timing offset should be a metric of phase shift based on symbol timing 
T instead of `interpolation ratio'.  In our software implementation, M=Ts/T 
>=2, which means the interpolator can only model timing offset at most 1/M, 
even so, line 57 of gr_channel_model.cc should be 

d_timing_offset = gr_make_fractional_interpolator_cc(epsilon, 1.0);

And many other files using this channel model would then not need to define its 
timing offset (like example_timing.py, qa_constellation_receiver.py etc.) to be 
to make things correct. 

I wonder if everyone agrees with this, or I am wrong about this? Thanks. 


Wang Ning

reply via email to

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