diff options
author | Johnathan Corgan | 2009-09-23 18:17:15 -0700 |
---|---|---|
committer | Johnathan Corgan | 2009-09-23 18:17:15 -0700 |
commit | d3a651aa194620d83dc61cac23f6887b6e4fd23e (patch) | |
tree | e92497af81512bce1b0d965dcf1dc5be2975413a /gr-noaa/lib/noaa_hrpt_pll_cf.h | |
parent | 18cd6228abbd66d5be283745b5e8f8fca94c3ad2 (diff) | |
parent | 2afcae4f01e19d3973f3fc0eb6db50dc9dcb7098 (diff) | |
download | gnuradio-d3a651aa194620d83dc61cac23f6887b6e4fd23e.tar.gz gnuradio-d3a651aa194620d83dc61cac23f6887b6e4fd23e.tar.bz2 gnuradio-d3a651aa194620d83dc61cac23f6887b6e4fd23e.zip |
Merge branch 'wip/gr-noaa' of http://gnuradio.org/git/jcorgan into master
* 'wip/gr-noaa' of http://gnuradio.org/git/jcorgan:
Added README and updated configuration requirements
Split HRPT script into live receive and post-processing
Dumps HRPT frames to text file similar to specification document
Added skeleton HRPT decoder block
Updated HRPT receiver to read files recorded as shorts
Add HRPT word output to deframer
Reorganization of directories
Added HRPT deframer block
Changed synchronizer to output sliced bits.
Updated HRPT blocks/scripts for testing. Seeing good minor frame sync's.
Implemented crude timing recovery using zero crossings but no resampling
Work in progress, incomplete
Update rx_poes script to filter prior to PLL.
Created new gr-noaa top-level component.
Diffstat (limited to 'gr-noaa/lib/noaa_hrpt_pll_cf.h')
-rw-r--r-- | gr-noaa/lib/noaa_hrpt_pll_cf.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gr-noaa/lib/noaa_hrpt_pll_cf.h b/gr-noaa/lib/noaa_hrpt_pll_cf.h new file mode 100644 index 000000000..507d47fe7 --- /dev/null +++ b/gr-noaa/lib/noaa_hrpt_pll_cf.h @@ -0,0 +1,55 @@ +/* -*- c++ -*- */ +/* + * Copyright 2009 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_NOAA_HRPT_PLL_CF_H +#define INCLUDED_NOAA_HRPT_PLL_CF_H + +#include <gr_sync_block.h> + +class noaa_hrpt_pll_cf; +typedef boost::shared_ptr<noaa_hrpt_pll_cf> noaa_hrpt_pll_cf_sptr; + +noaa_hrpt_pll_cf_sptr +noaa_make_hrpt_pll_cf(float alpha, float beta, float max_offset); + +class noaa_hrpt_pll_cf : public gr_sync_block +{ + friend noaa_hrpt_pll_cf_sptr noaa_make_hrpt_pll_cf(float alpha, float beta, float max_offset); + noaa_hrpt_pll_cf(float alpha, float beta, float max_offset); + + float d_alpha; // 1st order loop constant + float d_beta; // 2nd order loop constant + float d_max_offset; // Maximum frequency offset, radians/sample + float d_phase; // Instantaneous carrier phase + float d_freq; // Instantaneous carrier frequency, radians/sample + + public: + virtual int work(int noutput_items, + gr_vector_const_void_star &input_items, + gr_vector_void_star &output_items); + + void set_alpha(float alpha) { d_alpha = alpha; } + void set_beta(float beta) { d_beta = beta; } + void set_max_offset(float max_offset) { d_max_offset = max_offset; } +}; + +#endif /* INCLUDED_NOAA_HRPT_PLL_CF_H */ |