GNU Radio's SATELLITES Package
manchester_sync_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2023 Daniel Estevez <daniel@destevez.net>.
4 *
5 * This file is part of gr-satellites
6 *
7 * SPDX-License-Identifier: GPL-3.0-or-later
8 */
9
10#ifndef INCLUDED_SATELLITES_MANCHESTER_SYNC_IMPL_H
11#define INCLUDED_SATELLITES_MANCHESTER_SYNC_IMPL_H
12
14#include <volk/volk_alloc.hh>
15
16namespace gr {
17namespace satellites {
18
19template <class T>
21{
22private:
23 volk::vector<T> d_diffs_0;
24 volk::vector<T> d_diffs_1;
25 volk::vector<float> d_abs;
26
27 static inline void compute_diff(T* out, const T* in, int block_size);
28 static inline void compute_abs(float* out, const T* in, int block_size);
29
30public:
31 manchester_sync_impl(int block_size);
33
34 int work(int noutput_items,
35 gr_vector_const_void_star& input_items,
36 gr_vector_void_star& output_items) override;
37};
38
39} // namespace satellites
40} // namespace gr
41
42#endif /* INCLUDED_SATELLITES_MANCHESTER_SYNC_IMPL_H */
Definition: manchester_sync_impl.h:21
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) override
Detects phase of a Manchester clock and integrates symbols.
Definition: manchester_sync.h:37
Definition: ax100_decode.h:17