dsp_sub.h
上传用户:csczyc
上传日期:2021-02-19
资源大小:1051k
文件大小:4k
- /*
- 2.4 kbps MELP Proposed Federal Standard speech coder
- Fixed-point C code, version 1.0
- Copyright (c) 1998, Texas Instruments, Inc.
- Texas Instruments has intellectual property rights on the MELP
- algorithm. The Texas Instruments contact for licensing issues for
- commercial and non-government use is William Gordon, Director,
- Government Contracts, Texas Instruments Incorporated, Semiconductor
- Group (phone 972 480 7442).
- The fixed-point version of the voice codec Mixed Excitation Linear
- Prediction (MELP) is based on specifications on the C-language software
- simulation contained in GSM 06.06 which is protected by copyright and
- is the property of the European Telecommunications Standards Institute
- (ETSI). This standard is available from the ETSI publication office
- tel. +33 (0)4 92 94 42 58. ETSI has granted a license to United States
- Department of Defense to use the C-language software simulation contained
- in GSM 06.06 for the purposes of the development of a fixed-point
- version of the voice codec Mixed Excitation Linear Prediction (MELP).
- Requests for authorization to make other use of the GSM 06.06 or
- otherwise distribute or modify them need to be addressed to the ETSI
- Secretariat fax: +33 493 65 47 16.
- */
- /*
- dsp_sub.h: include file
-
- */
- #ifndef _dsp_sub_h
- #define _dsp_sub_h_
- /* External function definitions */
- void envelope(Shortword input[], Shortword prev_in, Shortword output[],
- Shortword npts);
- /* void fill(Shortword output[], Shortword fillval, Shortword npts); */
- __inline void fill(Shortword output[], Shortword fillval, Shortword npts)
- {
- Shortword i;
- for (i = 0; i < npts; i++ )
- output[i] = fillval;
- }
- void interp_array(Shortword prev[],Shortword curr[],Shortword out[],
- Shortword ifact,Shortword size);
- Shortword median(Shortword input[], Shortword npts);
- void pack_code(Shortword code,UShortword **p_ch_beg,Shortword *p_ch_bit,
- Shortword numbits,Shortword wsize);
- Shortword peakiness(Shortword input[], Shortword npts);
- void quant_u(Shortword *p_data, Shortword *p_index, Shortword qmin,
- Shortword qmax, Shortword nlev, Shortword nlev_q,
- Shortword double_flag, Shortword scale);
- void quant_u_dec(Shortword index, Shortword *p_data, Shortword qmin,
- Shortword qmax, Shortword nlev_q, Shortword scale);
- void rand_num(Shortword output[], Shortword amplitude, Shortword npts);
- Shortword readbl(Shortword input[], FILE *fp_in, Shortword size);
- Shortword unpack_code(UShortword **p_ch_beg, Shortword *p_ch_bit,
- Shortword *p_code, Shortword numbits, Shortword wsize,
- UShortword erase_mask);
- void window(Shortword input[], Shortword win_cof[],
- Shortword output[], Shortword npts);
- void window_Q(Shortword input[], Shortword win_cof[],
- Shortword output[], Shortword npts, Shortword Qin);
- void writebl(Shortword output[], FILE *fp_out, Shortword size);
- void zerflt(Shortword input[], Shortword coeff[], Shortword output[],
- Shortword order, Shortword npts);
- void zerflt_Q(Shortword input[], Shortword coeff[], Shortword output[],
- Shortword order, Shortword npts, Shortword Q_coeff);
- void iir_2nd_d(Shortword input[],Shortword den[],Shortword num[],
- Shortword output[],Shortword delin[],Shortword delout_hi[],
- Shortword delout_lo[],Shortword npts);
- void iir_2nd_s(Shortword input[],Shortword den[],Shortword num[],
- Shortword output[],Shortword delin[],Shortword delout[],
- Shortword npts);
-
- #endif