howto_interp_gscrambler_cc.cc

「howto_interp_gscrambler_cc.cc」の編集履歴(バックアップ)一覧はこちら

howto_interp_gscrambler_cc.cc」(2011/06/18 (土) 02:54:36) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#ifdef HAVE_CONFIG_H #include "config.h" #endif #include <howto_interp_gscrambler_cc.h> #include <gr_io_signature.h> #include <stdexcept> #include <iostream> howto_interp_gscrambler_cc_sptr howto_make_interp_gscrambler_cc (unsigned interpolation, int degree, int mask, int seed) { return howto_interp_gscrambler_cc_sptr (new howto_interp_gscrambler_cc (interpolation, degree, mask, seed)); } howto_interp_gscrambler_cc::howto_interp_gscrambler_cc (unsigned interpolation, int degree, int mask, int seed) : gr_sync_interpolator ("interp_fir_filter_ccf", gr_make_io_signature (1, 1, sizeof (gr_complex)), gr_make_io_signature (1, 1, sizeof (gr_complex)), interpolation) { if (interpolation == 0) throw std::out_of_range ("interpolation must be > 0"); d_len = (unsigned int)((1ULL << degree)-1); if (mask == 0) mask = gri_glfsr::glfsr_mask(degree); d_reference = new gri_glfsr(mask, seed); } howto_interp_gscrambler_cc::~howto_interp_gscrambler_cc () { delete d_reference; } int howto_interp_gscrambler_cc::work (int noutput_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 ntaps = interpolation (); // as same as d_len int ni = noutput_items / interpolation (); for (int i = 0; i < ni; i++){ for (int nt = 0; nt < ntaps; nt++){ d_pn = 2.0*d_reference->next_bit()-1.0; // no conditionals *out++ = *in * d_pn; } in++; } return noutput_items; } ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: