Skip to content

Commit 7a474fa

Browse files
author
mmorise
committed
FFT functions were modified
1 parent aa8c4e6 commit 7a474fa

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/fft.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//-----------------------------------------------------------------------------
22
// Copyright 2012 Masanori Morise
33
// Author: mmorise [at] yamanashi.ac.jp (Masanori Morise)
4-
// Last update: 2017/02/01
4+
// Last update: 2018/01/21
55
//
66
// This file represents the functions about FFT (Fast Fourier Transform)
77
// implemented by Mr. Ooura, and wrapper functions implemented by M. Morise.
@@ -29,7 +29,7 @@ static void BackwardFFT(fft_plan p) {
2929
p.input[1] = p.c_in[p.n / 2][0];
3030
for (int i = 1; i < p.n / 2; ++i) {
3131
p.input[i * 2] = p.c_in[i][0];
32-
p.input[i * 2 + 1] = p.c_in[i][1];
32+
p.input[i * 2 + 1] = -p.c_in[i][1];
3333
}
3434
rdft(p.n, -1, p.input, p.ip, p.w);
3535
for (int i = 0; i < p.n; ++i) p.out[i] = p.input[i] * 2.0;
@@ -41,7 +41,7 @@ static void BackwardFFT(fft_plan p) {
4141
cdft(p.n * 2, -1, p.input, p.ip, p.w);
4242
for (int i = 0; i < p.n; ++i) {
4343
p.c_out[i][0] = p.input[i * 2];
44-
p.c_out[i][1] = p.input[i * 2 + 1];
44+
p.c_out[i][1] = -p.input[i * 2 + 1];
4545
}
4646
}
4747
}
@@ -54,7 +54,7 @@ static void ForwardFFT(fft_plan p) {
5454
p.c_out[0][1] = 0.0;
5555
for (int i = 1; i < p.n / 2; ++i) {
5656
p.c_out[i][0] = p.input[i * 2];
57-
p.c_out[i][1] = p.input[i * 2 + 1];
57+
p.c_out[i][1] = -p.input[i * 2 + 1];
5858
}
5959
p.c_out[p.n / 2][0] = p.input[1];
6060
p.c_out[p.n / 2][1] = 0.0;
@@ -65,8 +65,8 @@ static void ForwardFFT(fft_plan p) {
6565
}
6666
cdft(p.n * 2, 1, p.input, p.ip, p.w);
6767
for (int i = 0; i < p.n; ++i) {
68-
p.c_out[i][0] = p.input[i * 2];
69-
p.c_out[i][1] = p.input[i * 2 + 1];
68+
p.c_out[i][0] = p.input[i * 2];
69+
p.c_out[i][1] = -p.input[i * 2 + 1];
7070
}
7171
}
7272
}

src/harvest.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//-----------------------------------------------------------------------------
22
// Copyright 2012 Masanori Morise
33
// Author: mmorise [at] yamanashi.ac.jp (Masanori Morise)
4-
// Last update: 2017/03/04
4+
// Last update: 2018/01/21
55
//
66
// F0 estimation based on Harvest.
77
//-----------------------------------------------------------------------------
@@ -488,7 +488,7 @@ static void GetSpectra(const double *x, int x_length, int fft_size,
488488
fft_execute(forward_real_fft->forward_fft);
489489
for (int i = 0; i <= fft_size / 2; ++i) {
490490
main_spectrum[i][0] = forward_real_fft->spectrum[i][0];
491-
main_spectrum[i][1] = -forward_real_fft->spectrum[i][1];
491+
main_spectrum[i][1] = forward_real_fft->spectrum[i][1];
492492
}
493493

494494
for (int i = 0; i < base_time_length; ++i)
@@ -498,7 +498,7 @@ static void GetSpectra(const double *x, int x_length, int fft_size,
498498
fft_execute(forward_real_fft->forward_fft);
499499
for (int i = 0; i <= fft_size / 2; ++i) {
500500
diff_spectrum[i][0] = forward_real_fft->spectrum[i][0];
501-
diff_spectrum[i][1] = -forward_real_fft->spectrum[i][1];
501+
diff_spectrum[i][1] = forward_real_fft->spectrum[i][1];
502502
}
503503

504504
delete[] safe_index;

0 commit comments

Comments
 (0)