Example #1
0
        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 }));
        }
Example #2
0
        /// <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));
        }