public override List <SignalSample> GetSamples() { SawGenerator saw = new SawGenerator(0.1d, 5d, -1d); SignalSampler sampler = new SignalSampler(saw); return(sampler.GetSamples(20d, 0.1d)); }
public static float[] CreateTable(int size, WaveformEnum type) { Generator generator; if (type == WaveformEnum.Sine) { generator = new SineGenerator(new GeneratorDescriptor()); } else if (type == WaveformEnum.Square) { generator = new SquareGenerator(new GeneratorDescriptor()); } else if (type == WaveformEnum.Triangle) { generator = new TriangleGenerator(new GeneratorDescriptor()); } else if (type == WaveformEnum.Saw) { generator = new SawGenerator(new GeneratorDescriptor()); } else if (type == WaveformEnum.WhiteNoise) { generator = new WhiteNoiseGenerator(new GeneratorDescriptor()); } else { return(null); } float[] table = new float[size]; double phase, increment; phase = generator.StartPhase; increment = generator.Period / size; for (int x = 0; x < table.Length; x++) { table[x] = generator.GetValue(phase); phase += increment; } return(table); }