⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feafilt.5t

📁 speech signal process tools
💻 5T
字号:
.\" Copyright (c) 1991 Entropic Research Laboratory, Inc.; All rights reserved.\" @(#)feafilt.5t	1.8 27 Sep 1997 ERL.ds ]W (c) 1991 Entropic Research Laboratory, Inc..TH FEA_FILT 5\-ESPS 27 Sep 1997.SH NAMEESPS FILT Feature File Subtype \- (.filt).SH SYNOPSIS.nf.ft B#include <esps/esps.h>#include <esps/fea.h>#include <esps/feafilt.h>.fi.SH DESCRIPTION.PPThe FEA_FILT filt is a subtype of the FEA file. If \fIhd\fR is a   pointer to the header of such a file, then \fIhd\->hd.fea\->fea_type\fR== FEA_FILT.  Such files are created by calling .I init_feafilt_hd(3\-ESPS) after .I new_header(3\-ESPS).  The FEA_FILT file is meant to replace the FILT(5\-ESPS)file type.  .PPThe header of a FEA_FILT file contains the following generic headeritems:  .PP.TScenter, box, tab(;);c | c | c | c l | l | l | l.Name;Size;Type;Enums=max_num;1;long;NULLmax_denom;1;long;NULLcomplex_filter;1;coded;\fIfeafilt_yesno\fPdefine_pz;1;coded;\fIfeafilt_yesno\fPtype;1;coded;\fIfeafilt_type\fPmethod;1;coded;\fIfeafilt_method\fPfunc_spec;1;coded;\fIfeafilt_func_spec\fPg_size;1;long;NULLnbits;1;long;NULLgains;nbands or npoints;float;NULLnbands;1;long;NULLbandedges;1+nbands;float;NULLnpoints;1;long;NULLpoints;npoints;1;NULL;float;NULLwts;nbands or npoints;1;NULL;float;NULL.TE.PPIn the above table, \fIfeafilt_yesno, feafilt_type, feafilt_method\fP and \fIfeafilt_func_spec\fP arearrays of the possible values the header item can take. They are defined inthe FEA_FILT library support module.The coded header item \fIfunc_spec\fP  indicates that the filter design program may haveits desired gain function and its desired weighting function specified in two differentways.The "band" specification method indicates that the user specifies a seriesof non-overlapping frequency bands.  One gain value and one weighting valueare entered for each band and the desired gain function and weighting functionare assumed constant over each band. Those functions are undefined in the transition regionsbetween the bands..PPThe "pointwise" specification method indicates that the user entered pointson a desired gain function and on a desired weighting function directly.No assumptions are made about the behavior of either functionbetween the points..PPThe header items have the following meaning:.IP max_numThe dimension of the FEA_FILT record field \fInum_coeff\fP..IP max_denomThe dimension of the FEA_FILT record field \fIdenom_coeff\fP..IP complex_filterThis variable specifies whether or not the filter coefficients are complexvalued; if they are not complex, the fields \fIim_num_coeff\fP and \fIim_denom_coeff\fP are not included in the filter records.Valid values are YES and NO..IP define_pzSpecifies whether the fields \fIzero_dim, pole_dim, zeros\fPand \fIpoles\fP which describe pole and zerolocations are included in the filter records.  Valid values are YES and NO..IP typeThis is a classification of the shape of the filter response.  The possible values forthis variable are currently FILT_LP (low pass),FILT_HP (high pass), FILT_BP (band pass), FILT_BS (band stop), and FILT_ARB (arbitrarilyshaped).  .IP methodThis variable describes the filter design method used to calculate the coefficients.  The possible values are are currently PZ_PLACE (arbitrary pole-zero placement), PARKS_MC (Parks-McClellen method), and WMSE (weighted mean square error method)..IP func_specThis indicates whether the desired frequency response function was entered intothe filter design program using the band method or the pointwise method.Currently supported values include BAND, POINT, and NONE..IP g_sizeThis is the grid size, which influences the resolution of the filterdesign algorithm..IP nbitsThis gives the number of bits to which the coefficients have been quantized.A value of zero indicates that no quantization has taken place..IP gainsThe number of gain values in FIR design used in either the band and the  pointwisedeisgn methods. The value will be either \fIbands\fP or\fIpoints\fP, depending on which method is used. .IP nbandsThe number of points used in the specification of the the frequencyfunction by bands..IP bandedgesThis is a pointer to an array of band edges used in the specification of thedesired gain and weighting functions when the specification method is by bands.The number of points in the array will be.I 1+nbands.The points are given as a fraction of thesampling frequency, and will therefore always range from 0.0 to 0.5..IP npoints The number of points used to define the desired frequency response ofthe filter when done in a pointwise specification..IP pointsThis is a pointer to an array of points used in the pointwise specificationof the desired gain and weighting functions.The gain values and weighting values given in the.I gainsand.I wtsarrays are defined at these points.The number of points in the array will be .I npoints.The points are given as a fraction of thesampling frequency, and will therefore always range from 0.0 to 0.5..IP nwtsNumber of points in the array of weight values. If the specificationmethod is by bands then the number of weighting values will be equal to .I nbands.If the specification method is pointwise, the number of weighting valueswill be equal to.I npoints..IP wtsThis is a pointer to an array of weighting values.  .PPThese header items are used in allocating memory for feafilt records.  Most programs that deal with FEA_FILT files will use the support routines(see \fIfeafilt_rec\fP(3\-ESPS)) provided in the ESPS libraryand will not have to use the above information directly.  The header of a FEA_FILT file also contains definitions for one ormore of the following record fields:.PP.TScenter, box, tab(;);c | c | c | c | c | c l | l | l | l | l | l.Name;Size;Rank;Dimen;Type;Enums=num_size;1;0;NULL;long;NULLdenom_size;1;0;NULL;long;NULLzero_dim;1;0;NULL;long;NULLpole_dim;1;0;NULL;long;NULLre_num_coeff;max_num;1;NULL;double;NULLim_num_coeff;max_num;1;NULL;double;NULLre_denom_coeff;max_denom;1;NULL;double;NULLim_denom_coeff;max_denom;1;NULL;double;NULLzeros;max_num;1;NULL;double_cplx;NULLpoles;max_denom;1;NULL;double_cplx;NULL.TE.PPPointers to structures of this type are returnedby \fIallo_feafilt_rec\fP(3\-ESPS) and  \fIget_feafilt_rec\fP (3\-ESPS). \fIput_feafilt_rec\fP(3\-ESPS) is used to read and write FEA_FILT data records.The FEA_FILT data structure is defined in \fI<esps/feafilt.h>\fP asfollows:.TSl1 l1 l1 l.struct feafilt { long *num_size; 	 long *denom_size;	 long *zero_dim; long *pole_dim; double	*re_num_coeff;	 double	*im_num_coeff;	 double	*re_denom_coeff;	 double	*im_denom_coeff;	 double_cplx *zeros; double_cplx *poles; struct	fea_data *fea_rec; /\(** pointer to FEA record \(**/};.TEThe fields have the following meanings:.IP num_sizeThe size of the numerator polynomial..IP denom_sizeThe size of the denominator polynomial.  .IP re_num_coeffThe real part of the numerator polynomial coefficients..IP im_num_coeffThe imaginary part of the numerator polynomial coefficients..IP re_denom_coeffThe real part of the denominator polynomial coefficients..IP im_denom_coeffThe imaginary part of the denominator polynomial coefficients..IP zerosThe filter zero locations..IP polesThe filter pole locations..PPIf the value of the header item \fIcomplex_filter\fP is NO, the pointers \fIim_num_coeff\fP and \fIim_denom_coeff\fP should be NULL.If the value of the header item \fIdefine_pz\fP is NO,the pointers \fIzero_dim, pole_dim, zeros\fP and \fIpoles\fP should be NULL..PPThe following conventions hold for storing pole and zero locations.If the filter is complex, i.e. \fIfilter_complex = YES\fP, each pole adn zero location should be stored explicity inthe fields \fIpoles\fP and \fIzeros\fP;\fIzero_dim\fP and \fIpole_dim\fP should indicate how many of each type of location are stored.If the filter is real, i.e. \fIfilter_complex = NO\fP, each real pole and zero location is stored, but only one of each complex conjugate pair should be stored. As an example, a real filter with 8 poles at locations .br0.5, 0.5, 0.25+0.25i, 0.25-.25i, 0.25+0.25i, 0.25-.25i, 0.1+0.1i, 0.1-0.1i.brshould be stored as.TScenter,tab(;);l l.  poles[0].real=0.5;poles[0].imag=0.0poles[1].real=0.5;poles[1].imag=0.0poles[2].real=0.25;poles[2].imag=0.25poles[3].real=0.25;poles[3].imag=0.25poles[4].real=0.1;poles[4].imag=0.1pole_dim=5.TENote that higher order roots are stored explicitly..SH SEE ALSO.nf\fIinit_feafilt_hd\fP(3-ESPS), \fIallo_feafilt_rec\fP(3-ESPS),\fIget_feafilt_rec\fP(3-ESPS), \fIput_feafilt_rec\fP(3-ESPS),\fIFEA\fP(5-ESPS), \fIFEA_FILT\fP(5-ESPS).SH RECORD ELEMENT FILE STRUCTURE.PPIn order to use this (or any other) FEA file type with a generic ESPSprogram (one that operates on any file type) it is necessary to know theway that record elements are positioned in the file.   For a FEA filethat information is obtained by running the program\fIfea_element\fR(1\-ESPS) on the file in question..SH AUTHORManual page by Bill Byrne

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -