summaryrefslogtreecommitdiff
path: root/gr-digital/lib/ofdm_cyclic_prefixer_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/lib/ofdm_cyclic_prefixer_impl.h')
-rw-r--r--gr-digital/lib/ofdm_cyclic_prefixer_impl.h37
1 files changed, 26 insertions, 11 deletions
diff --git a/gr-digital/lib/ofdm_cyclic_prefixer_impl.h b/gr-digital/lib/ofdm_cyclic_prefixer_impl.h
index 20f0489d7c..5a5766f131 100644
--- a/gr-digital/lib/ofdm_cyclic_prefixer_impl.h
+++ b/gr-digital/lib/ofdm_cyclic_prefixer_impl.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
-/*
- * Copyright 2004-2006,2011,2012 Free Software Foundation, Inc.
+/*
+ * Copyright 2013 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -27,23 +27,38 @@
namespace gr {
namespace digital {
-
+
class ofdm_cyclic_prefixer_impl : public ofdm_cyclic_prefixer
{
- private:
- size_t d_input_size;
+ private:
+ size_t d_fft_len;
+ //! FFT length + CP length in samples
size_t d_output_size;
+ //! Length of the cyclic prefix in samples
+ int d_cp_size;
+ //! Length of pulse rolloff in samples
+ int d_rolloff_len;
+ //! Buffers the up-flank (at the beginning of the cyclic prefix)
+ std::vector<float> d_up_flank;
+ //! Buffers the down-flank (which trails the symbol)
+ std::vector<float> d_down_flank;
+ std::vector<gr_complex> d_delay_line; // We do this explicitly to avoid outputting zeroes (i.e. no history!)
+
+ protected:
+ int calculate_output_stream_length(const gr_vector_int &ninput_items);
- public:
- ofdm_cyclic_prefixer_impl(size_t input_size, size_t output_size);
+ public:
+ ofdm_cyclic_prefixer_impl(size_t input_size, size_t output_size, int rolloff_len, const std::string &len_tag_key);
~ofdm_cyclic_prefixer_impl();
int work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
+ gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
};
- } /* namespace digital */
-} /* namespace gr */
+ } // namespace digital
+} // namespace gr
#endif /* INCLUDED_DIGITAL_OFDM_CYCLIC_PREFIXER_IMPL_H */
+