From c96ea6723a3e7ce6dc5bbccb4386647a088186aa Mon Sep 17 00:00:00 2001
From: Martin Braun <martin.braun@kit.edu>
Date: Fri, 10 Dec 2010 10:44:08 +0100
Subject: updated doxygen blocks, changed param order for gmsk

---
 gnuradio-core/src/lib/general/gr_cpm.h | 81 ++++++++++++++++++----------------
 1 file changed, 42 insertions(+), 39 deletions(-)

(limited to 'gnuradio-core/src/lib/general/gr_cpm.h')

diff --git a/gnuradio-core/src/lib/general/gr_cpm.h b/gnuradio-core/src/lib/general/gr_cpm.h
index f9b97f7ea7..09598024a2 100644
--- a/gnuradio-core/src/lib/general/gr_cpm.h
+++ b/gnuradio-core/src/lib/general/gr_cpm.h
@@ -1,17 +1,17 @@
 /* -*- c++ -*- */
 /*
  * Copyright 2010 Free Software Foundation, Inc.
- * 
+ *
  * 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,
@@ -24,7 +24,9 @@
 
 #include <vector>
 
-#define M_TWOPI (2*M_PI)
+#ifndef M_TWOPI
+#  define M_TWOPI (2*M_PI)
+#endif
 
 class gr_cpm
 {
@@ -38,41 +40,42 @@ class gr_cpm
 	 GENERIC = 999
 	};
 
-	//! Return the taps for an interpolating FIR filter (gr_fir_filter_fff).
-	//
-	// These taps represent the phase response for use in a CPM modulator.
-	//
-	// Parameters:
-	// \p type: The CPM type (Rectangular, Raised Cosine, Spectral Raised Cosine,
-	//          Tamed FM or Gaussian).
-	// \p samples_per_sym: Samples per symbol.
-	// \p L: The length of the phase response in symbols.
-	// \p beta: For Spectral Raised Cosine, this is the rolloff factor. For Gaussian
-	//          phase responses, this the 3dB-time-bandwidth product. For all other
-	//          cases, it is ignored.
-	//
-	// Output: returns a vector of length \p L * \p samples_per_sym. This can be used
-	//         directly in an interpolating FIR filter such as gr_interp_fir_filter_fff
-	//         with interpolation factor \p samples_per_sym.
-	//
-	// All taps are normalised s.t. \sum taps = 1; this causes a maximum phase change
-	// of h*pi between two symbols, where h is the modulation index.
-	//
-	// The following phase responses can be generated:
-	// * LREC: Rectangular phase response.
-	// * LRC: Raised cosine phase response, looks like 1 - cos(x).
-	// * LSRC: Spectral raised cosine. This requires a rolloff factor beta.
-	//         The phase response is the Fourier transform of raised cosine
-	//         function.
-	// * TFM: Tamed frequency modulation. This scheme minimizes phase change for
-	//        rapidly varying input symbols.
-	// * GAUSSIAN: A Gaussian phase response. For a modulation index h = 1/2, this
-	//             results in GMSK.
-	//
-	// A short description of all these phase responses can be found in [1].
-	//
-	//
-	// [1]: Anderson, Aulin and Sundberg; Digital Phase Modulation
+    /*! \brief Return the taps for an interpolating FIR filter (gr_interp_fir_filter_fff).
+	 *
+	 * These taps represent the phase response \f$g(k)\f$ for use in a CPM modulator,
+	 * see also gr_cpmmod_bc.
+	 *
+	 * \param type The CPM type (Rectangular, Raised Cosine, Spectral Raised Cosine,
+	 *             Tamed FM or Gaussian).
+	 * \param samples_per_sym Samples per symbol.
+	 * \param L The length of the phase response in symbols.
+	 * \param beta For Spectral Raised Cosine, this is the rolloff factor. For Gaussian
+	 *             phase responses, this the 3dB-time-bandwidth product. For all other
+	 *             cases, it is ignored.
+	 *
+	 * Output: returns a vector of length \a K = \p samples_per_sym x \p L.
+	 *         This can be used directly in an interpolating FIR filter such as
+	 *         gr_interp_fir_filter_fff with interpolation factor \p samples_per_sym.
+	 *
+	 * All phase responses are normalised s.t. \f$ \sum_{k=0}^{K-1} g(k) = 1\f$; this will cause
+	 * a maximum phase change of \f$ h \cdot \pi\f$ between two symbols, where \a h is the
+	 * modulation index.
+	 *
+	 * The following phase responses can be generated:
+	 * - LREC: Rectangular phase response.
+	 * - LRC: Raised cosine phase response, looks like 1 - cos(x).
+	 * - LSRC: Spectral raised cosine. This requires a rolloff factor beta.
+	 *         The phase response is the Fourier transform of raised cosine
+	 *         function.
+	 * - TFM: Tamed frequency modulation. This scheme minimizes phase change for
+	 *        rapidly varying input symbols.
+	 * - GAUSSIAN: A Gaussian phase response. For a modulation index h = 1/2, this
+	 *             results in GMSK.
+	 *
+	 * A short description of all these phase responses can be found in [1].
+	 *
+	 * [1]: Anderson, Aulin and Sundberg; Digital Phase Modulation
+     */
 	static std::vector<float>
 	phase_response(cpm_type type, unsigned samples_per_sym, unsigned L, double beta=0.3);
 };
-- 
cgit v1.2.3