discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Interpolation and filtering


From: Ravishankar. M
Subject: [Discuss-gnuradio] Interpolation and filtering
Date: Wed, 3 Jun 2009 17:42:48 +0530

Hello all,

 

  I have two interpolation and filtering related queries in “gri_mmse_fir_interpolator_cc.cc”.

 

1) In the code portion:

gri_mmse_fir_interpolator_cc::gri_mmse_fir_interpolator_cc ()

{

  filters.resize (NSTEPS + 1);

 

  for (int i = 0; i < NSTEPS + 1; i++){

    std::vector<float> t (&taps[i][0], &taps[i][NTAPS]);----------------------------------------(1)

    filters[i] = gr_fir_util::create_gr_fir_ccf (t);----------------------------------------------------(2)

  }

}

 

Can you let me know what is performed in steps (1) and (2). In step (2), filter is designed but I don’t understand the procedure behind the design. “Taps[][]” is a two dimensional array defined and provided values in “interpolator_taps.h”. I don’t understand the step (1) of how the 2D array is used. Can anyone please provide their explanation involved in this procedure?

 

 

2) In the code portion:

 

gr_complex

gri_mmse_fir_interpolator_cc::interpolate (const gr_complex input[], float mu)

{

  int       imu = (int) rint (mu * NSTEPS);

 

  assert (imu >= 0);

  assert (imu <= NSTEPS);

 

  gr_complex r = filters[imu]->filter (input);------------------------------------------------------------------(1)

  return r;

}

 

What “filter” function is called in step (1)? How exactly is the interpolation done and values returned using “filter”?

 

Thanks in advance.

 

Regards

Ravi

 

 

 

 


reply via email to

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