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 * $Id: filter_tools.h,v 1.3 2008/04/17 14:26:56 steveu Exp $ 00030 */ 00031 00032 #if !defined(_FILTER_TOOLS_H_) 00033 #define _FILTER_TOOLS_H_ 00034 00035 #if defined(__cplusplus) 00036 extern "C" 00037 { 00038 #endif 00039 00040 void ifft(complex_t data[], int len); 00041 void apply_hamming_window(double coeffs[], int len); 00042 void truncate_coeffs(double coeffs[], int len, int bits, int hilbert); 00043 00044 void compute_raised_cosine_filter(double coeffs[], 00045 int len, 00046 int root, 00047 int sinc_compensate, 00048 double alpha, 00049 double beta); 00050 00051 void compute_hilbert_transform(double coeffs[], int len); 00052 00053 00054 #if defined(__cplusplus) 00055 } 00056 #endif 00057 00058 #endif 00059 /*- End of file ------------------------------------------------------------*/