spandsp 0.0.6
|
00001 /* 00002 * SpanDSP - a series of DSP components for telephony 00003 * 00004 * filter_tools.h - A collection of routines used for filter design. 00005 * 00006 * Written by Steve Underwood <steveu@coppice.org> 00007 * 00008 * Copyright (C) 2008 Steve Underwood 00009 * 00010 * Based on: 00011 * mkshape -- design raised cosine FIR filter 00012 * A.J. Fisher, University of York <fisher@minster.york.ac.uk>, November 1996 00013 * 00014 * All rights reserved. 00015 * 00016 * This program is free software; you can redistribute it and/or modify 00017 * it under the terms of the GNU Lesser General Public License version 2.1, 00018 * as published by the Free Software Foundation. 00019 * 00020 * This program is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU Lesser General Public License for more details. 00024 * 00025 * You should have received a copy of the GNU Lesser General Public 00026 * License along with this program; if not, write to the Free Software 00027 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00028 */ 00029 00030 #if !defined(_FILTER_TOOLS_H_) 00031 #define _FILTER_TOOLS_H_ 00032 00033 #if defined(__cplusplus) 00034 extern "C" 00035 { 00036 #endif 00037 00038 void ifft(complex_t data[], int len); 00039 void apply_hamming_window(double coeffs[], int len); 00040 void truncate_coeffs(double coeffs[], int len, int bits, int hilbert); 00041 00042 void compute_raised_cosine_filter(double coeffs[], 00043 int len, 00044 int root, 00045 int sinc_compensate, 00046 double alpha, 00047 double beta); 00048 00049 void compute_hilbert_transform(double coeffs[], int len); 00050 00051 00052 #if defined(__cplusplus) 00053 } 00054 #endif 00055 00056 #endif 00057 /*- End of file ------------------------------------------------------------*/