using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Signal_Generator { class SinusoidalSignal : IAnalogSignal { public string typeToString { get { return "SIN сигнал"; } } public string paramsToString { get { string result = ""; foreach (KeyValuePair pair in paramsDict) result += " / " + pair.Key + " " + pair.Value; return result; } } public Dictionary paramsDict { get; set; } public override string ToString() { return "SIN signal"; } public SinusoidalSignal(double ampl, double freq, double phase = 0) { paramsDict = new Dictionary(); paramsDict.Add("Амплитуда", ampl); paramsDict.Add("Частота", freq); paramsDict.Add("Фаза", phase); } public double currentAmplitude(double t) { return paramsDict.ElementAt(0).Value * Math.Sin(2 * Math.PI * paramsDict.ElementAt(1).Value * t + paramsDict.ElementAt(2).Value); } } }