1 /*
2  * Copyright 2018 Oticon A/S
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef BS_P2G4_MODULATIONS_H
7 #define BS_P2G4_MODULATIONS_H
8 
9 #ifdef __cplusplus
10 extern "C"{
11 #endif
12 
13 #define P2G4_MOD_SIMILAR_MASK 0xFFF0
14 /*
15  * If two modulations are the same after masking with P2G4_MOD_SIMILAR_MASK
16  * it means they are compatible (one can be received with the modem configured
17  * for the other) although probably with limited performance.
18  *
19  * Note: All modems for this phy would need to understand these modulations
20  * to be able to, at least, account for their interference.
21  * To ease this process, a modem model may treat several modulations equally
22  * if they share the P2G4_MOD_SIMILAR_MASK bits.
23  * In this manner a modem model can tell that an otherwise unknown modulation
24  * is close to another known one and just treat it as if it were the same
25  */
26 
27 #define P2G4_MOD_BLE             0x10 //Standard 1Mbps BLE modulation
28 #define P2G4_MOD_BLE2M           0x20 //Standard 2Mbps BLE
29 #define P2G4_MOD_PROP2M          0x21 //Proprietary 2Mbps
30 #define P2G4_MOD_PROP3M          0x31 //Proprietary 3Mbps
31 #define P2G4_MOD_PROP4M          0x41 //Proprietary 4Mbps
32 #define P2G4_MOD_BLE_CODED       0x50 //Standard BLE CodedPhy (both S=2 & S=8)
33 #define P2G4_MOD_154_250K_DSS   0x100 //IEEE 802.15.4-2006 DSS 250kbps O-QPSK PHY
34 
35 /* Non receivable modulations (interferers) */
36 #define P2G4_MOD_BLEINTER        0x8000  //BLE shaped interference
37 #define P2G4_MOD_WLANINTER       0x8010  //WLAN shaped interference (for all WLAN modulations)
38 #define P2G4_MOD_CWINTER         0x8020  //CW interference
39 /* Non receivable white noise of a given bandwidth: */
40 #define P2G4_MOD_WHITENOISE1MHz  0x8030
41 #define P2G4_MOD_WHITENOISE2MHz  0x8040
42 #define P2G4_MOD_WHITENOISE4MHz  0x8050
43 #define P2G4_MOD_WHITENOISE8MHz  0x8060
44 #define P2G4_MOD_WHITENOISE16MHz 0x8070
45 #define P2G4_MOD_WHITENOISE20MHz 0x8080
46 #define P2G4_MOD_WHITENOISE40MHz 0x8090
47 #define P2G4_MOD_WHITENOISE80MHz 0x80A0
48 
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 #endif
54