「gr_mpsk_receiver()」の編集履歴(バックアップ)一覧はこちら
gr_mpsk_receiver() - (2011/07/27 (水) 17:31:06) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
まずはworkの部分
int
gr_mpsk_receiver_cc::general_work (int noutput_items,
gr_vector_int &ninput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
const gr_complex *in = (const gr_complex *) input_items[0];
gr_complex *out = (gr_complex *) output_items[0];
int i=0, o=0;
while((o < noutput_items) && (i < ninput_items[0])) {
while((d_mu > 1) && (i < ninput_items[0])) {
mm_sampler(in[i]); // puts symbols into a buffer and adjusts d_mu
i++;
}
if(i < ninput_items[0]) {
gr_complex interp_sample = d_interp->interpolate(&d_dl[d_dl_idx], d_mu);
mm_error_tracking(interp_sample); // corrects M&M sample time
phase_error_tracking(interp_sample); // corrects phase and frequency offsets
out[o++] = interp_sample;
}
}
#if 0
printf("ninput_items: %d noutput_items: %d consuming: %d returning: %d\n",
ninput_items[0], noutput_items, i, o);
#endif
consume_each(i);
return o;
}
----