Exemplo n.º 1
0
        public override double Voltage(double phase)
        {
            double time   = phase * period;
            double phase1 = time / period1;
            double phase2 = time / period2;

            phase1 -= (int)phase1;
            phase2 -= (int)phase2;
            return(wave1.Voltage(phase1) + wave2.Voltage(phase2));
        }
Exemplo n.º 2
0
        public static double CalculateMeanVoltage(IWave wave, int calculate_times = 1000)
        {
            double delta_phase = 1.0 / (double)calculate_times;
            double little_sum  = 0;
            double mean        = 0;
            double phase       = 0;

            for (int i = 0; i < calculate_times; i++)
            {
                little_sum += wave.Voltage(phase);
                phase      += delta_phase;
                if ((i & 0xf) == 0)
                {
                    mean      += little_sum / calculate_times;
                    little_sum = 0;
                }
            }
            mean += little_sum / calculate_times;
            return(mean);
        }
Exemplo n.º 3
0
 public override double Voltage(double phase)
 {
     return(-origin.Voltage(phase));
 }