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.
Constructor.
Definition at line 252 of file pulse_shape.h.
itpp::Pulse_Shape< T1, T2, T3 >::Pulse_Shape | ( | const Vec< T2 > & | impulse_response, |
int | upsampling_factor | ||
) |
Constructor.
Definition at line 261 of file pulse_shape.h.
|
inlinevirtual |
Destructor.
Definition at line 81 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 it_error_if, and itpp::Array< T >::size().
Get the pulse shape.
Definition at line 282 of file pulse_shape.h.
Get the over sampling factor.
Definition at line 288 of file pulse_shape.h.
Get the length of the pulse in number of symbols.
Definition at line 294 of file pulse_shape.h.
Get the length of the internal FIR filter.
Definition at line 300 of file pulse_shape.h.
References itpp::Array< T >::size().
Shape the input symbols performing upsampling.
Definition at line 306 of file pulse_shape.h.
References it_assert, it_error_if, and itpp::Array< T >::size().
Shape the input symbols performing upsampling.
Definition at line 319 of file pulse_shape.h.
References it_assert.
Shape the input samples already upsampled.
Definition at line 328 of file pulse_shape.h.
References it_assert, it_error_if, and itpp::Array< T >::size().
Shape the input symbols already upsampled.
Definition at line 341 of file pulse_shape.h.
References it_assert.
The impulse resounse of the pulse shaping filter.
Definition at line 114 of file pulse_shape.h.
The pulse shaping filter.
Definition at line 116 of file pulse_shape.h.
|
protected |
Length in symbols.
Definition at line 118 of file pulse_shape.h.
|
protected |
Samples per input symbol.
Definition at line 120 of file pulse_shape.h.
|
protected |
Ensures that setup is called before any other member function.
Definition at line 122 of file pulse_shape.h.
Generated on Tue Mar 26 2024 19:08:31 for IT++ by Doxygen 1.9.8