General FIR Pulse Shape. More...
#include <itpp/comm/pulse_shape.h>
Public Member Functions | |
Pulse_Shape () | |
Constructor. | |
Pulse_Shape (const Vec< T2 > &impulse_response, int upsampling_factor) | |
Constructor. | |
virtual | ~Pulse_Shape () |
Destructor. | |
void | set_pulse_shape (const Vec< T2 > &impulse_response, int upsampling_factor) |
Set the general impulse response of the FIR filter. | |
Vec< T2 > | get_pulse_shape (void) const |
Get the pulse shape. | |
int | get_upsampling_factor () const |
Get the over sampling factor. | |
int | get_pulse_length () const |
Get the length of the pulse in number of symbols. | |
int | get_filter_length () const |
Get the length of the internal FIR filter. | |
void | shape_symbols (const Vec< T1 > &input, Vec< T3 > &output) |
Shape the input symbols performing upsampling. | |
Vec< T3 > | shape_symbols (const Vec< T1 > &input) |
Shape the input symbols performing upsampling. | |
void | shape_samples (const Vec< T1 > &input, Vec< T3 > &output) |
Shape the input samples already upsampled. | |
Vec< T3 > | shape_samples (const Vec< T1 > &input) |
Shape the input symbols already upsampled. | |
void | clear (void) |
Clear internal states. | |
Protected Attributes | |
Vec< T2 > | impulse_response |
The impulse resounse of the pulse shaping filter. | |
MA_Filter< T1, T2, T3 > | shaping_filter |
The pulse shaping filter. | |
int | pulse_length |
Length in symbols. | |
int | upsampling_factor |
Samples per input symbol. | |
bool | setup_done |
Ensures that setup is called before any other member function. | |
General FIR Pulse Shape.
Upsamples and shapes symbols according to a given FIR filter. Observe that since the shaping is done with a FIR filter, the first samples in the output are zero or small before the memory of the filter is filled.
The class is templated as follows:
T1
is the type of the input samples T2
is the type of the filter coefficients T3
is the type of the output samples An example of usage is:
Definition at line 73 of file pulse_shape.h.
void itpp::Pulse_Shape< T1, T2, T3 >::set_pulse_shape | ( | const Vec< T2 > & | impulse_response, |
int | upsampling_factor | ||
) |
Set the general impulse response of the FIR filter.
Observe that the pulse shape must have a duration of an integer number of symbols. Thus the length of the impulse response-1 modulo over sampling is an integer.
Definition at line 267 of file pulse_shape.h.
References itpp::Vec< Num_T >::clear(), it_error_if, and itpp::Vec< Num_T >::size().
Generated on Sat Jul 6 2013 10:54:33 for IT++ by Doxygen 1.8.2