+ for (int i = 0; i < m_n/2 + 1; ++i) {
+ // m_phase stores the "previous" phase, so set to one step
+ // behind so that a signal with initial phase at zero matches
+ // the expected values. This is completely unnecessary for any
+ // analytical purpose, it's just tidier.
+ double omega = (2 * M_PI * m_hop * i) / m_n;
+ m_phase[i] = -omega;
+ m_unwrapped[i] = -omega;
+ }
+}