From: Takenori Y. <tak...@us...> - 2017-05-25 02:43:35
|
Update of /cvsroot/sp-tk/SPTK4/src In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9015 Modified Files: cepstrum_to_negative_derivative_of_phase_spectrum.cc Log Message: improve readability Index: cepstrum_to_negative_derivative_of_phase_spectrum.cc =================================================================== RCS file: /cvsroot/sp-tk/SPTK4/src/cepstrum_to_negative_derivative_of_phase_spectrum.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cepstrum_to_negative_derivative_of_phase_spectrum.cc 24 May 2017 07:31:46 -0000 1.1 --- cepstrum_to_negative_derivative_of_phase_spectrum.cc 25 May 2017 02:43:32 -0000 1.2 *************** *** 45,49 **** #include "cepstrum_to_negative_derivative_of_phase_spectrum.h" ! #include <algorithm> // std::fill #include <cstddef> // std::size_t --- 45,49 ---- #include "cepstrum_to_negative_derivative_of_phase_spectrum.h" ! #include <algorithm> // std::fill, std::reverse_copy #include <cstddef> // std::size_t *************** *** 83,99 **** &buffer->fast_fourier_transform_input_[0]); ! fast_fourier_transform_input[0] = 0.0; ! for (int i(1); i <= num_order_; ++i) { ! fast_fourier_transform_input[i] = 0.5 * input[i] * i; ! } ! if (fft_size == 2 * num_order_) { ! fast_fourier_transform_input[num_order_] *= 2.0; ! } else { std::fill(buffer->fast_fourier_transform_input_.begin() + num_order_ + 1, ! buffer->fast_fourier_transform_input_.end() - num_order_, 0.0); ! } ! for (int i(1); i <= num_order_; ++i) { ! fast_fourier_transform_input[fft_size - i] = ! fast_fourier_transform_input[i]; } --- 83,108 ---- &buffer->fast_fourier_transform_input_[0]); ! // set a real part input of the fast Fourier transform ! { ! const int half_fft_size(fft_size / 2); ! // fill the left side of the input with cepstrum ! fast_fourier_transform_input[0] = 0.0; ! for (int i(1); i <= num_order_; ++i) { ! fast_fourier_transform_input[i] = 0.5 * input[i] * i; ! } std::fill(buffer->fast_fourier_transform_input_.begin() + num_order_ + 1, ! buffer->fast_fourier_transform_input_.begin() + half_fft_size + 1, ! 0.0); ! // fill the right side of the input by mirroring the left one ! std::reverse_copy( ! buffer->fast_fourier_transform_input_.begin() + 1, ! buffer->fast_fourier_transform_input_.begin() + half_fft_size + 1, ! buffer->fast_fourier_transform_input_.begin() + half_fft_size); ! ! if (fft_size == 2 * num_order_) { ! // double the center value of the input because the cepstrum values on ! // both sides are overlapped at the center ! fast_fourier_transform_input[num_order_] *= 2.0; ! } } |