public void TestConcatenate() { //Act var concatenation = _signal.Concatenate(_constant); //Assert Assert.That(concatenation.Samples, Is.EqualTo(new float[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 5, 5, 5, 5 })); }
/// <summary> /// Method generates simple sequence of rectangular pulses. /// </summary> /// <returns></returns> protected override DiscreteSignal Generate() { Guard.AgainstNonPositive(_period, "Period"); Guard.AgainstNonPositive(_pulse, "Pulse duration"); Guard.AgainstInvalidRange(_pulse, _period, "Pulse duration", "Period"); var ones = new DiscreteSignal(SamplingRate, (int)(_pulse * SamplingRate), (float)_amplitude); var zeros = new DiscreteSignal(SamplingRate, (int)((_period - _pulse) * SamplingRate), 0.0f); var repeatTimes = Length / (int)(_period * SamplingRate) + 1; var repeated = (ones.Concatenate(zeros)) * repeatTimes; return(repeated.First(Length)); }