osmo-gmr 0.2.104-2b98 Osmocom GMR-1

fcch.h
Go to the documentation of this file.
1/* GMR-1 SDR - FCCH bursts */
2/* See GMR-1 05.004 (ETSI TS 101 376-5-4 V3.1.1) - Section 8 */
3
4/* (C) 2011-2019 by Sylvain Munaut <tnt@246tNt.com>
5 * All Rights Reserved
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU Affero General Public License as published by
9 * the Free Software Foundation; either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Affero General Public License for more details.
16 *
17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef __OSMO_GMR1_SDR_FCCH_H__
22#define __OSMO_GMR1_SDR_FCCH_H__
23
33#include <osmocom/dsp/cxvec.h>
34
35
36 struct gmr1_fcch_burst
37{
38 float freq;
39 int len;
40};
41
42 extern const struct gmr1_fcch_burst gmr1_fcch_burst;
43 extern const struct gmr1_fcch_burst gmr1_fcch3_lband_burst;
44 extern const struct gmr1_fcch_burst gmr1_fcch3_sband_burst;
45
46
47 int gmr1_fcch_rough(const struct gmr1_fcch_burst *burst_type,
48 struct osmo_cxvec *search_win_in, int sps, float freq_shift,
49 int *toa);
50
51 int gmr1_fcch_rough_multi(const struct gmr1_fcch_burst *burst_type,
52 struct osmo_cxvec *search_win_in, int sps, float freq_shift,
53 int *toa, int N);
54
55 int gmr1_fcch_fine(const struct gmr1_fcch_burst *burst_type,
56 struct osmo_cxvec *burst_in, int sps, float freq_shift,
57 int *toa, float *freq_error);
58
59 int gmr1_fcch_snr(const struct gmr1_fcch_burst *burst_type,
60 struct osmo_cxvec *burst_in, int sps, float freq_shift,
61 float *snr);
62
63
66#endif /* __OSMO_GMR1_SDR_FCCH_H__ */
cxvec.h
gmr1_fcch_rough
int gmr1_fcch_rough(const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *search_win_in, int sps, float freq_shift, int *toa)
Rough FCCH timing acquisition.
Definition: fcch.c:212
gmr1_fcch3_sband_burst
const struct gmr1_fcch_burst gmr1_fcch3_sband_burst
FCCH3 S-band burst (GMR-1 3G version for S-band) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3....
Definition: fcch.c:67
gmr1_fcch_fine
int gmr1_fcch_fine(const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *burst_in, int sps, float freq_shift, int *toa, float *freq_error)
Fine FCCH timing & frequency acquisition.
Definition: fcch.c:513
gmr1_fcch_snr
int gmr1_fcch_snr(const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *burst_in, int sps, float freq_shift, float *snr)
SNR estimation on a FCCH burst.
Definition: fcch.c:644
gmr1_fcch3_lband_burst
const struct gmr1_fcch_burst gmr1_fcch3_lband_burst
FCCH3 L-band burst (GMR-1 3G version for L-band) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3....
Definition: fcch.c:59
gmr1_fcch_rough_multi
int gmr1_fcch_rough_multi(const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *search_win_in, int sps, float freq_shift, int *toa, int N)
Rough FCCH timing acquisition w/ multiple FCCH detection.
Definition: fcch.c:342
gmr1_fcch_burst
Definition: fcch.h:37
gmr1_fcch_burst::len
int len
Burst duration in symbols.
Definition: fcch.h:39
gmr1_fcch_burst::freq
float freq
Frequency sweep range.
Definition: fcch.h:38
osmo_cxvec