spandsp  0.0.6
modem_monitor.h
1 /*
2  * SpanDSP - a series of DSP components for telephony
3  *
4  * constel.h - Display QAM constellations, using the FLTK toolkit.
5  *
6  * Written by Steve Underwood <steveu@coppice.org>
7  *
8  * Copyright (C) 2004 Steve Underwood
9  *
10  * All rights reserved.
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License version 2, as
14  * published by the Free Software Foundation.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24  */
25 
26 /*! \page constel_page Modem performance monitoring
27 \section constel_page_sec_1 What does it do?
28 This code controls a GUI window, which provides monitoring of the internal status
29 of a modem. It shows, graphically:
30 
31  - the constellation, for PSK, QAM and other similar modulations.
32  - the equalizer status, for modems with adaptive equalizers.
33  - the carrier frequency.
34  - the symbol timing correction.
35 
36 \section constel_page_sec_2 How does it work?
37 This code uses the FLTK cross platform GUI toolkit. It works on X11 and Windows platforms.
38 In addition to the basic FLTK toolkit, fltk_cartesian is also required.
39 */
40 
41 #if !defined(_MODEM_MONITOR_H_)
42 #define _MODEM_MONITOR_H_
43 
44 struct qam_monitor_s;
45 
46 typedef struct qam_monitor_s qam_monitor_t;
47 
48 #if defined(__cplusplus)
49 extern "C"
50 {
51 #endif
52 
53 qam_monitor_t *qam_monitor_init(float constel_width, const char *tag);
54 int qam_monitor_clear_constel(qam_monitor_t *s);
55 int qam_monitor_update_constel(qam_monitor_t *s, const complexf_t *pt);
56 int qam_monitor_update_equalizer(qam_monitor_t *s, const complexf_t *coeffs, int len);
57 int qam_monitor_update_int_equalizer(qam_monitor_t *s, const complexi16_t *coeffs, int len);
58 int qam_monitor_update_symbol_tracking(qam_monitor_t *s, float total_correction);
59 int qam_monitor_update_carrier_tracking(qam_monitor_t *s, float carrier);
60 int qam_monitor_update_audio_level(qam_monitor_t *s, const int16_t amp[], int len);
61 void qam_wait_to_end(qam_monitor_t *s);
62 
63 #if defined(__cplusplus)
64 }
65 #endif
66 
67 #endif
68 /*- End of file ------------------------------------------------------------*/
line_model_d7_coeffs
const int32_t line_model_d7_coeffs[]
Definition: g168models.h:162
line_model_d6_coeffs
const int32_t line_model_d6_coeffs[]
Definition: g168models.h:138
modem_echo_can_adaption_mode
void modem_echo_can_adaption_mode(modem_echo_can_state_t *ec, int adapt)
Definition: modem_echo.c:110
line_model_d9_coeffs
const int32_t line_model_d9_coeffs[]
Definition: g168models.h:213
modem_echo_can_free
void modem_echo_can_free(modem_echo_can_state_t *ec)
Definition: modem_echo.c:56
complexf_t
Definition: complex.h:43
power_meter_current_dbm0
float power_meter_current_dbm0(power_meter_t *s)
Get the current power meter reading, in dBm0.
Definition: power_meter.c:120
fir32_state_t
Definition: fir.h:59
line_model_d8_coeffs
const int32_t line_model_d8_coeffs[]
Definition: g168models.h:189
awgn_state_s
Definition: private/awgn.h:33
line_model_d3_coeffs
const int32_t line_model_d3_coeffs[]
Definition: g168models.h:62
power_meter_update
int32_t power_meter_update(power_meter_t *s, int16_t amp)
Update a power meter.
Definition: power_meter.c:84
line_model_d5_coeffs
const int32_t line_model_d5_coeffs[]
Definition: g168models.h:110
power_meter_t
Definition: power_meter.h:49
modem_echo_can_update
int16_t modem_echo_can_update(modem_echo_can_state_t *ec, int16_t tx, int16_t rx)
Definition: modem_echo.c:116
modem_echo_can_state_s::fir_taps16
int16_t * fir_taps16
Definition: private/modem_echo.h:45
line_model_d2_coeffs
const int32_t line_model_d2_coeffs[]
Definition: g168models.h:42
modem_echo_can_flush
void modem_echo_can_flush(modem_echo_can_state_t *ec)
Definition: modem_echo.c:98
signal_source_t
Definition: echo_tests.c:103
complexi16_t
Definition: complex.h:89
line_model_d4_coeffs
const int32_t line_model_d4_coeffs[]
Definition: g168models.h:86
g168models.h
spandsp-sim.h
modem_echo_can_init
modem_echo_can_state_t * modem_echo_can_init(int len)
Definition: modem_echo.c:65
modem_echo_can_state_s
Definition: private/modem_echo.h:39
power_meter_init
power_meter_t * power_meter_init(power_meter_t *s, int shift)
Initialise a power meter context.
Definition: power_meter.c:50