HARDT - The Ham Radio DSP Toolkit
Public Member Functions | List of all members
HIqTranslateByTwo< T > Class Template Reference

#include <hiqtranslatebytwo.h>

Inheritance diagram for HIqTranslateByTwo< T >:
Inheritance graph
[legend]
Collaboration diagram for HIqTranslateByTwo< T >:
Collaboration graph
[legend]

Public Member Functions

 HIqTranslateByTwo (HWriter< T > *writer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HIqTranslateByTwo (HWriterConsumer< T > *consumer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HIqTranslateByTwo (HReader< T > *reader, size_t blocksize, HProbe< T > *probe=NULL)
 
 ~HIqTranslateByTwo ()
 
void Filter (T *src, T *dest, size_t blocksize)
 
- Public Member Functions inherited from HFilter< T >
 ~HFilter ()
 
int Write (T *src, size_t blocksize)
 
int Read (T *dest, size_t blocksize)
 
bool Start ()
 
bool Stop ()
 
bool Command (HCommand *command)
 
void Enable ()
 
void Disable ()
 
bool GetEnabled ()
 
- Public Member Functions inherited from HObject
 HObject ()
 
- Public Member Functions inherited from HWriter< T >
virtual ~HWriter ()=default
 
HWriter< T > * Writer ()
 
- Public Member Functions inherited from HReader< T >
virtual ~HReader ()=default
 
HReader< T > * Reader ()
 
- Public Member Functions inherited from HWriterConsumer< T >
HWriterConsumer< T > * Consumer ()
 

Additional Inherited Members

- Static Public Member Functions inherited from HFilter< T >
static std::vector< float > ReadCoeffsFromFile (std::string filename)
 
static std::vector< float > ReadCoeffsFromFile (char *filename)
 
- Protected Member Functions inherited from HFilter< T >
 HFilter (HWriter< T > *writer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HFilter (HWriterConsumer< T > *consumer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HFilter (HReader< T > *reader, size_t blocksize, HProbe< T > *probe=NULL)
 
void SetWriter (HWriter< T > *writer)
 
- Protected Attributes inherited from HFilter< T >
int _blocksize
 

Detailed Description

template<class T>
class HIqTranslateByTwo< T >

Translating the input samples by two.

This implements the common frequency translation method of translating by two (input * [1, -1, 1, -1, .... ])

The result is that the spectrum is inversed, especially usefull when doing decimation or other types of frequency translation whereby the usefull spectrum ends up inverted.

Constructor & Destructor Documentation

◆ HIqTranslateByTwo() [1/3]

template<class T >
HIqTranslateByTwo< T >::HIqTranslateByTwo ( HWriter< T > *  writer,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)
inline

Construct a new HIqTranslateByTwo object that writes to a writer

◆ HIqTranslateByTwo() [2/3]

template<class T >
HIqTranslateByTwo< T >::HIqTranslateByTwo ( HWriterConsumer< T > *  consumer,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)
inline

Construct a new HIqTranslateByTwo object that registers with an upstream writer

◆ HIqTranslateByTwo() [3/3]

template<class T >
HIqTranslateByTwo< T >::HIqTranslateByTwo ( HReader< T > *  reader,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)
inline

Construct a new HIqTranslateByTwo object that reads from a reader

◆ ~HIqTranslateByTwo()

template<class T >
HIqTranslateByTwo< T >::~HIqTranslateByTwo ( )
inline

Default destructor

Member Function Documentation

◆ Filter()

template<class T >
void HIqTranslateByTwo< T >::Filter ( T *  src,
T *  dest,
size_t  blocksize 
)
virtual

Run a block of samples through the translator

Implements HFilter< T >.


The documentation for this class was generated from the following files: