コード例 #1
0
            public void Allocate(int M, DataObjectElement[] outputData)
            {
                int N = 1 << M;

                autoSpectrumLength = (int)(N / 2.56) + 1;

                factor = 2.0 / N / N;

                temp    = new Complex[N];
                hanning = new double[N];

                for (int i = 0; i < N; i++)
                {
                    hanning[i] = (1 - Math.Cos(2 * Math.PI / N * i));
                }

                timeSignal      = new double[N];
                instSpectrum    = new Complex[N];
                autoSpectrum    = new double[autoSpectrumLength];
                autocorrelation = new double[N];
                outputData[(int)FftSignal.Timesignal].data      = timeSignal;
                outputData[(int)FftSignal.InstSpectrum].data    = instSpectrum;
                outputData[(int)FftSignal.AutoSpectrum].data    = autoSpectrum;
                outputData[(int)FftSignal.Autocorrelation].data = autocorrelation;
                pCount = outputData[(int)FftSignal.Count];

                fft = new FFT();
                fft.Free();
                fft.Init(M, FFTFactor.IPP_FFT_DIV_INV_BY_N);
            }
コード例 #2
0
 public FftAdapter()
 {
     setup               = new FftAdapterSetup();
     queue               = new Queue <double[]>();
     calculations        = new Calculations(queue);
     output              = new DataObject();
     outputData          = new DataObjectElement[1];
     outputData[0]       = new DataObjectElement("", 0);
     output.dataElements = outputData;
 }
コード例 #3
0
 public DetectorBank()
 {
     setup               = new DetectorBankSetup();
     calculations        = new Calculations();
     output              = new DataObject();
     outputData          = new DataObjectElement[2];
     outputData[0]       = new DataObjectElement("Exponential", 0);
     outputData[1]       = new DataObjectElement("Linear", 1);
     output.dataElements = outputData;
 }
コード例 #4
0
ファイル: Afilter.cs プロジェクト: Grubleren/Stirling
 public Afilter()
 {
     calculations = new Calculations();
     setup        = new AfilterSetup();
     AFilterCoefficients();
     output              = new DataObject();
     outputData          = new DataObjectElement[1];
     outputData[0]       = new DataObjectElement("", 0);
     output.dataElements = outputData;
 }
コード例 #5
0
 public Upsampling()
 {
     upFactor            = 16;
     downFactor          = 15;
     calculations        = new Calculations(upFactor, downFactor);
     setup               = new UpsamplingSetup();
     output              = new DataObject();
     outputData          = new DataObjectElement[1];
     outputData[0]       = new DataObjectElement("", 0);
     output.dataElements = outputData;
 }
コード例 #6
0
ファイル: BBdetector.cs プロジェクト: Grubleren/Stirling
        public BBDetector()
        {
            BBDetectorSetup bb = new BBDetectorSetup();

            calculations        = new Calculations();
            setup               = new BBDetectorSetup();
            detector            = new Detector();
            output              = new DataObject();
            outputData          = new DataObjectElement[2];
            outputData[0]       = new DataObjectElement("Exponential", 0);
            outputData[1]       = new DataObjectElement("Linear", 1);
            output.dataElements = outputData;
        }
コード例 #7
0
 public FftAnalysis()
 {
     setup               = new FftSetup();
     calculations        = new Calculations();
     output              = new DataObject();
     outputData          = new DataObjectElement[5];
     outputData[0]       = new DataObjectElement("Time", 0);
     outputData[1]       = new DataObjectElement("Inst", 1);
     outputData[2]       = new DataObjectElement("Autospectrum", 2);
     outputData[3]       = new DataObjectElement("Autocorrelation", 3);
     outputData[4]       = new DataObjectElement("Count", 4);
     output.dataElements = outputData;
 }
コード例 #8
0
 public void Allocate(int nfilters, DataObject outputObj)
 {
     outputData = new DataObjectElement[nfilters + 1];
     for (int i = 0; i < outputData.Length - 1; i++)
     {
         if (filterBank.filterType == OctaveFilterType.ThirdOctave)
         {
             outputData[i] = new DataObjectElement(DisplayComponent.cpb3Freq[i + filterBank.lowIndex], i);
         }
         else
         {
             outputData[i] = new DataObjectElement(DisplayComponent.cpb1Freq[i + filterBank.lowIndex], i);
         }
     }
     outputData[outputData.Length - 1] = new DataObjectElement("All", outputData.Length - 1);
     outputObj.dataElements            = outputData;
     output = new double[nfilters][];
     outputData[nfilters].data = output;
 }