/// <summary> /// In-place signal attenuation by coeff /// </summary> /// <param name="signal"></param> /// <param name="coeff"></param> public static void Attenuate(this ComplexDiscreteSignal signal, double coeff) { if (Math.Abs(coeff) < 1e-10) { throw new ArgumentException("Attenuation coefficient can't be zero"); } signal.Amplify(1 / coeff); }
/// <summary> /// Attenuates <paramref name="signal"/> by <paramref name="coeff"/> in-place. /// </summary> /// <param name="signal">Signal</param> /// <param name="coeff">Attenuation coefficient</param> public static void Attenuate(this ComplexDiscreteSignal signal, double coeff) { Guard.AgainstNonPositive(coeff, "Attenuation coefficient"); signal.Amplify(1 / coeff); }