Skip to content

Commit fa50357

Browse files
committed
Simplify channel synthesis
1 parent a8d81a3 commit fa50357

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

src/Robocode/Channel.cpp

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ Channel::Channel(const size_t index, const size_t dftsize, const double samplera
1717
config.samplerate = samplerate;
1818
config.concertpitch = concertpitch;
1919

20-
config.freqs.resize(dftsize);
2120
config.phase.resize(dftsize);
2221
}
2322

@@ -58,27 +57,22 @@ double Channel::synthesize(const std::span<std::complex<double>> dft,
5857
const double freq = config.freq;
5958
const double gain = config.gain;
6059

61-
auto& freqs = config.freqs;
6260
auto& phase = config.phase;
6361

6462
for (size_t i = 1; i < dft.size() - 1; ++i)
6563
{
66-
const double f0 = pvcfreqs[i];
67-
const double f1 = freq * i;
64+
const double chnfreq = freq * i;
65+
const double pvcfreq = pvcfreqs[i] / dftfreqs[i];
66+
const double newfreq = chnfreq * pvcfreq;
6867

69-
freqs[i] = f1 * f0 / dftfreqs[i];
70-
}
71-
72-
for (size_t i = 1; i < dft.size() - 1; ++i)
73-
{
74-
phase[i] += freqs[i] * tophase;
68+
phase[i] += newfreq * tophase;
7569

76-
if (freqs[i] <= dftfreqs.front())
70+
if (newfreq <= dftfreqs.front())
7771
{
7872
continue;
7973
}
8074

81-
if (freqs[i] >= dftfreqs.back())
75+
if (newfreq >= dftfreqs.back())
8276
{
8377
continue;
8478
}

src/Robocode/Channel.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ class Channel final
3333
double samplerate;
3434
double concertpitch;
3535

36-
std::vector<double> freqs;
3736
std::vector<double> phase;
3837
}
3938
config;

0 commit comments

Comments
 (0)