Accord.Audio.ComplexSignal.FromSignal C# (CSharp) Method

FromSignal() public static method

Create multichannel complex signal from floating-point matrix.
public static FromSignal ( Signal signal ) : ComplexSignal
signal Signal Source multichannel float array (matrix).
return ComplexSignal
        public static ComplexSignal FromSignal(Signal signal)
        {
            if (signal.SampleFormat == SampleFormat.Format32BitIeeeFloat)
            {
                float[] buffer = new float[signal.Samples];
                Marshal.Copy(signal.Data, buffer, 0, buffer.Length);

                float[,] data = new float[signal.Length, signal.Channels];
                Buffer.BlockCopy(buffer, 0, data, 0, signal.Samples * sizeof(float));

                return FromArray(data, signal.SampleRate);
            }
            else if (signal.SampleFormat == SampleFormat.Format128BitComplex)
            {
                return new ComplexSignal(signal.RawData, signal.Channels,
                    signal.Length, signal.SampleRate);
            }
            else
            {
                throw new NotSupportedException();
            }
        }

Usage Example

Ejemplo n.º 1
0
 /// <summary>
 ///   Converts this signal to a ComplexSignal object.
 /// </summary>
 ///
 public ComplexSignal ToComplex()
 {
     if (format == SampleFormat.Format128BitComplex)
     {
         return(new ComplexSignal(rawData, channels, length, sampleRate));
     }
     else
     {
         return(ComplexSignal.FromSignal(this));
     }
 }