SoDaRadio-5.0.3-master:8901fb5
Classes | Namespaces | Macros | Functions
Hilbert_Test.cxx File Reference
#include <complex>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include "OSFilter.hxx"
#include <time.h>
#include <fftw3.h>
#include <math.h>
#include <boost/format.hpp>
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "HilbertTransformer.hxx"
#include <sys/time.h>

Go to the source code of this file.

Classes

class  SoDaTest::Histogram
 

Namespaces

 SoDaTest
 

Macros

#define SAMPLE_RATE   48000
 
#define BUFLEN   1024
 

Functions

double curtime ()
 
int dumpTest (int argc, char *argv[])
 
int doSSBTest (int argc, char *argv[])
 Applying HT twice to a real valued signal f(t) will produce a delayed version of -1 * f(t + d) at its output. More...
 
int doPMTest (int argc, char *argv[])
 doPMTest – run a Phase Modulated signal through a hilbert transform shift to baseband, then demodulate. More...
 
int main (int argc, char *argv[])
 

Macro Definition Documentation

◆ BUFLEN

#define BUFLEN   1024

Definition at line 106 of file Hilbert_Test.cxx.

Referenced by dumpTest().

◆ SAMPLE_RATE

#define SAMPLE_RATE   48000

Definition at line 29 of file Hilbert_Test.cxx.

Function Documentation

◆ curtime()

double curtime ( )

Definition at line 93 of file Hilbert_Test.cxx.

◆ doPMTest()

int doPMTest ( int  argc,
char *  argv[] 
)

doPMTest – run a Phase Modulated signal through a hilbert transform shift to baseband, then demodulate.

Definition at line 333 of file Hilbert_Test.cxx.

References SoDa::HilbertTransformer::apply().

Referenced by main().

◆ doSSBTest()

int doSSBTest ( int  argc,
char *  argv[] 
)

Applying HT twice to a real valued signal f(t) will produce a delayed version of -1 * f(t + d) at its output.

The HT module's complex result, should be (a + ib) = f(t + d) + i * -1 * f(t + d). Therefore, we should see that (a + b) == 0 and (a - b) = 2a.

In this test, we accumulate a histogram of the error magnitude (b + a) – this should ideally be 0.0;

Definition at line 227 of file Hilbert_Test.cxx.

References SoDa::HilbertTransformer::apply(), SoDa::HilbertTransformer::applyIQ(), SoDaTest::Histogram::dump(), and SoDaTest::Histogram::record().

Referenced by main().

◆ dumpTest()

int dumpTest ( int  argc,
char *  argv[] 
)

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 437 of file Hilbert_Test.cxx.

References doPMTest(), and doSSBTest().