feature-functions.h (1533B)
1 /** 2 * Copyright (c) 2022 Xiaomi Corporation (authors: Fangjun Kuang) 3 * 4 * See LICENSE for clarification regarding multiple authors 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 // This file is copied/modified from kaldi/src/feat/feature-functions.h 20 #ifndef KALDI_NATIVE_FBANK_CSRC_FEATURE_FUNCTIONS_H_ 21 #define KALDI_NATIVE_FBANK_CSRC_FEATURE_FUNCTIONS_H_ 22 23 #include <vector> 24 namespace knf { 25 26 // ComputePowerSpectrum converts a complex FFT (as produced by the FFT 27 // functions in csrc/rfft.h), and converts it into 28 // a power spectrum. If the complex FFT is a vector of size n (representing 29 // half of the complex FFT of a real signal of size n, as described there), 30 // this function computes in the first (n/2) + 1 elements of it, the 31 // energies of the fft bins from zero to the Nyquist frequency. Contents of the 32 // remaining (n/2) - 1 elements are undefined at output. 33 34 void ComputePowerSpectrum(std::vector<float> *complex_fft); 35 36 } // namespace knf 37 38 #endif // KALDI_NATIVE_FBANK_CSRC_FEATURE_FUNCTIONS_H_