1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
/****************************************************************************
DRC: Digital Room Correction
Copyright (C) 2002, 2003 Denis Sbragion
This program 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 2 of the License, or
(at your option) any later version.
This program 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 this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
You can contact the author on Internet at the following address:
d.sbragion@infotecna.it
This program uses the parsecfg library from Yuuki NINOMIYA. De
tails on this library can be found in the parsecfg.c and par
secfg.h files. Many thanks to Yuuki NINOMIYA for this useful li
brary.
****************************************************************************/
/****************************************************************************
Progetto : DSP Library.
File : DSPWind.h
Autore : Sbragion Denis
Descrizione : Funzioni per vari tipi di finestratura.
Revisioni :
16/10/93 : Prima stesura.
****************************************************************************/
#ifndef DSPWind_h
#define DSPWind_h
#include "dsplib.h"
// Tipo per finestrature parziali
typedef enum { WLeft, WFull, WRight } WindowType;
// Effettuano la finestratura dell' array A secondo la finestra
// corrispondente al nome.
void HammingWindow(DLReal * A,unsigned int Size);
void HanningWindow(DLReal * A,unsigned int Size);
void BlackmanWindow(DLReal * A,unsigned int Size);
void BartlettWindow(DLReal * A,unsigned int Size);
void BlackmanHarrisWindow(DLReal * A,unsigned int Size);
void ExponentialWindow(DLReal * A,unsigned int Size,DLReal P = 2);
// Finestratura parziale e spaziata
void SpacedBlackmanWindow(DLReal * A,unsigned int Size, unsigned int Space, WindowType WType);
void HalfBlackmanWindow(DLReal * A,unsigned int Size, unsigned int Space, WindowType WType);
// Riempie A di 1.
void Ones(DLReal * A,unsigned int Size);
#endif
/***************************************************************************/
|