Example #1
0
        private void startFourierButton_Click(object sender, EventArgs e)
        {
            if (fourier == null) {
                fourier = new RecursiveFastFourierTransform();
            }
            int selectionSize = 128;

            ISelection selection = generateSourceSelection(selectionSize, sinFunc);
            drawLineChart(sourceChart, selection);

            Complex[] complexSelection = FourierUtils.GetComplexArrayFrom1DSelection(selection);
            Complex[] fourierResult = fourier.Direct(complexSelection);
            drawFourierResultChart(directFFTChart, fourierResult);

            Complex[] reverseFourier = fourier.Reverse(fourierResult);
            ISelection reverse = FourierUtils.GetSelectionFromComplexArray(reverseFourier);
            drawLineChart(reverseFFT, reverse);

            //*/
        }
Example #2
0
 public ScalogramCreator(AudioContainer audioContainer, IFourierTransform fourierTransform)
 {
     AudioContainer    = audioContainer;
     _fourierTransform = fourierTransform;
     _signalFT         = _fourierTransform.CreateTransformZeroPadded();
 }