EU1KY AA
dsp.h
Go to the documentation of this file.
1 /*
2  * (c) Yury Kuchura
3  * kuchura@gmail.com
4  *
5  * This code can be used on terms of WTFPL Version 2 (http://www.wtfpl.net/).
6  */
7 
8 #ifndef DSP_H_INCLUDED
9 #define DSP_H_INCLUDED
10 
11 #include <stdint.h>
12 #include <complex.h>
13 #include "stm32746g_discovery_audio.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 typedef float complex DSP_RX;
20 
21 void DSP_Init(void);
22 
23 void DSP_Measure(uint32_t freqHz, int applyErrCorr, int applyOSL, int nMeasurements);
24 void DSP_Measure2(void);
25 
26 DSP_RX DSP_MeasuredZ(void);
27 float DSP_MeasuredPhase(void);
28 float DSP_MeasuredDiff(void);
29 float DSP_MeasuredDiffdB(void);
30 float DSP_MeasuredPhaseDeg(void);
31 float DSP_MeasuredMagVmv(void);
32 float DSP_MeasuredMagImv(void);
33 float complex DSP_MeasuredMagPhaseV(void);
34 float complex DSP_MeasuredMagPhaseI(void);
35 float DSP_CalcX(void);
36 
37 float DSP_CalcVSWR(DSP_RX Z);
38 uint32_t DSP_GetIF(void);
39 void DSP_Sample(void);
40 void DSP_Sample16(void);
41 
42 #define NSAMPLES 512 //Must be order of 2
43 #define NDUMMY 32 //Dummy samples are needed to minimize influence of filter settling after invoking the SAI
44 #define FSAMPLE I2S_AUDIOFREQ_48K //Sampling frequency
45 #define FFTBIN 107 //Bin 107 determines 10031 Hz intermediate frequency at 512 samples at 48 kHz.
46 
47 #if (FFTBIN >= ((NSAMPLES) / 2))
48 #error FFT bin is selected incorrectly
49 #endif
50 
51 #ifdef __cplusplus
52 }
53 #endif
54 
55 #endif //DSP_H_INCLUDED
float DSP_MeasuredPhaseDeg(void)
Definition: dsp.c:384
float complex DSP_MeasuredMagPhaseV(void)
Definition: dsp.c:399
void DSP_Sample16(void)
Definition: dsp.c:219
float complex DSP_RX
Definition: dsp.h:19
void DSP_Sample(void)
Definition: dsp.c:209
void DSP_Measure(uint32_t freqHz, int applyErrCorr, int applyOSL, int nMeasurements)
Definition: dsp.c:285
float DSP_MeasuredDiff(void)
Definition: dsp.c:394
uint32_t DSP_GetIF(void)
Definition: dsp.c:457
float DSP_CalcX(void)
Definition: dsp.c:434
float DSP_MeasuredPhase(void)
Definition: dsp.c:379
DSP_RX DSP_MeasuredZ(void)
Definition: dsp.c:373
void DSP_Init(void)
Definition: dsp.c:110
float DSP_MeasuredMagImv(void)
Definition: dsp.c:418
float DSP_MeasuredDiffdB(void)
Definition: dsp.c:389
float complex DSP_MeasuredMagPhaseI(void)
Definition: dsp.c:404
void DSP_Measure2(void)
Definition: dsp.c:229
float DSP_CalcVSWR(DSP_RX Z)
Definition: dsp.c:440
float DSP_MeasuredMagVmv(void)
Definition: dsp.c:409