Esempio n. 1
0
        public string GetGainPhaseInfo(double frequency, bool logFrequencyAxis)
        {
            string sFrequency = "Frequency: " + frequency.ToString(FRAResult.GetFrequencyFormat(frequency, logFrequencyAxis));
            double gain       = GetGainDB(frequency);
            string sGain      = "        Gain: " + gain.ToString(FRAResult.GetGainFormat(gain));
            double phase      = GetPhaseDegrees(frequency);
            string sPhase     = "        Phase: " + phase.ToString(FRAResult.GetPhaseFormat(phase));

            return(sFrequency + sGain + sPhase);
        }
Esempio n. 2
0
        public string GetImpedanceInfo(double frequency, bool logFrequencyAxis)
        {
            string sFrequency = "Frequency: " + frequency.ToString(FRAResult.GetFrequencyFormat(frequency, logFrequencyAxis));
            double impedance  = GetDUTImpedanceMilliOmhs(frequency);
            string sImpedance = "        Impedance: " + impedance.ToString(FRAResult.GetImpedanceFormat(impedance));
            double phase      = GetDUTPhaseDegrees(frequency);
            string sPhase     = "        Phase: " + phase.ToString(FRAResult.GetPhaseFormat(phase));

            return(sFrequency + sImpedance + sPhase);
        }
Esempio n. 3
0
 private void WriteFile(string path, FRATableFormat tableFormat)
 {
     using (StreamWriter wr = new StreamWriter(path))
     {
         wr.AutoFlush = true;
         wr.WriteLine(FRAResult.ToStringTitles(tableFormat));
         foreach (FRAResult result in m_FRAResults)
         {
             wr.WriteLine(result.ToStringValues(tableFormat));
         }
     }
 }
Esempio n. 4
0
        public string GetInducductanceInfo(double frequency, bool logFrequencyAxis)
        {
            string sFrequency  = "Frequency: " + frequency.ToString(FRAResult.GetFrequencyFormat(frequency, logFrequencyAxis));
            double inductance  = GetDUTInductanceNanoHenry(frequency);
            string sInductance = "        Inductance: " + inductance.ToString(FRAResult.GetInductanceFormat(inductance));
            double esr         = GetDUT_ESR_MilliOhms(frequency);
            string sESR        = "        ESR: " + esr.ToString(FRAResult.GetImpedanceFormat(esr));
            double qFactor     = GetDUT_Q_Inductor(frequency);
            string sQ          = "       Q: " + qFactor.ToString(FRAResult.GetQFactorFormat(qFactor));

            return(sFrequency + sInductance + sESR + sQ);
        }
Esempio n. 5
0
        public string GetCapacitanceInfo(double frequency, bool logFrequencyAxis)
        {
            string sFrequency   = "Frequency: " + frequency.ToString(FRAResult.GetFrequencyFormat(frequency, logFrequencyAxis));
            double capacitance  = GetDUTCapacitancePicoFarad(frequency);
            string sCapacitance = "        Capacitance: " + capacitance.ToString(FRAResult.GetCapacitanceFormat(capacitance));
            double esr          = GetDUT_ESR_MilliOhms(frequency);
            string sESR         = "        ESR: " + esr.ToString(FRAResult.GetImpedanceFormat(esr));
            double qFactor      = GetDUT_Q_Capacitor(frequency);
            string sQ           = "       Q: " + qFactor.ToString(FRAResult.GetQFactorFormat(qFactor));

            return(sFrequency + sCapacitance + sESR + sQ);
        }
Esempio n. 6
0
 public string GetDataTable(FRATableFormat tableFormat)
 {
     using (StringWriter wr = new StringWriter())
     {
         wr.WriteLine(FRAResult.ToStringTitles(tableFormat));
         foreach (FRAResult result in m_FRAResults)
         {
             wr.WriteLine(result.ToStringValues(tableFormat));
         }
         return(wr.ToString());
     }
 }
Esempio n. 7
0
        public double GetDUT_Q_Inductor(double frequency)
        {
            FRAResult resAbove = GetResultAboveFrequency(frequency);
            FRAResult resBelow = GetResultBelowFrequency(frequency);

            if (resAbove != resBelow)
            {
                double interpollFreqFactor = (frequency - resBelow.FrequencyHz) / (resAbove.FrequencyHz - resBelow.FrequencyHz);
                double Q_Delta             = resAbove.DUT_QInductor - resBelow.DUT_QInductor;
                return(resBelow.DUT_QInductor + (interpollFreqFactor * Q_Delta));
            }
            else
            {
                return(resBelow.DUT_QInductor);
            }
        }
Esempio n. 8
0
        public double GetDUTInductanceNanoHenry(double frequency)
        {
            FRAResult resAbove = GetResultAboveFrequency(frequency);
            FRAResult resBelow = GetResultBelowFrequency(frequency);

            if (resAbove != resBelow)
            {
                double interpollFreqFactor = (frequency - resBelow.FrequencyHz) / (resAbove.FrequencyHz - resBelow.FrequencyHz);
                double InductanceDelta     = resAbove.DUTSeriesInductanceNanoHenry - resBelow.DUTSeriesInductanceNanoHenry;
                return(resBelow.DUTSeriesInductanceNanoHenry + (interpollFreqFactor * InductanceDelta));
            }
            else
            {
                return(resBelow.DUTSeriesInductanceNanoHenry);
            }
        }
Esempio n. 9
0
        public double GetDUT_ESR_MilliOhms(double frequency)
        {
            FRAResult resAbove = GetResultAboveFrequency(frequency);
            FRAResult resBelow = GetResultBelowFrequency(frequency);

            if (resAbove != resBelow)
            {
                double interpollFreqFactor = (frequency - resBelow.FrequencyHz) / (resAbove.FrequencyHz - resBelow.FrequencyHz);
                double ESR_Delta           = resAbove.DUT_ESR_MilliOhms - resBelow.DUT_ESR_MilliOhms;
                return(resBelow.DUT_ESR_MilliOhms + (interpollFreqFactor * ESR_Delta));
            }
            else
            {
                return(resBelow.DUT_ESR_MilliOhms);
            }
        }
Esempio n. 10
0
        public double GetDUTCapacitancePicoFarad(double frequency)
        {
            FRAResult resAbove = GetResultAboveFrequency(frequency);
            FRAResult resBelow = GetResultBelowFrequency(frequency);

            if (resAbove != resBelow)
            {
                double interpollFreqFactor = (frequency - resBelow.FrequencyHz) / (resAbove.FrequencyHz - resBelow.FrequencyHz);
                double CapacitanceDelta    = resAbove.DUTSeriesCapacitancePicoFarad - resBelow.DUTSeriesCapacitancePicoFarad;
                return(resBelow.DUTSeriesCapacitancePicoFarad + (interpollFreqFactor * CapacitanceDelta));
            }
            else
            {
                return(resBelow.DUTSeriesCapacitancePicoFarad);
            }
        }
Esempio n. 11
0
        public double GetDUTPhaseDegrees(double frequency)
        {
            FRAResult resAbove = GetResultAboveFrequency(frequency);
            FRAResult resBelow = GetResultBelowFrequency(frequency);

            if (resAbove != resBelow)
            {
                double interpollFreqFactor = (frequency - resBelow.FrequencyHz) / (resAbove.FrequencyHz - resBelow.FrequencyHz);
                double dutPhaseDelta       = resAbove.DUTPhaseDegrees - resBelow.DUTPhaseDegrees;
                return(resBelow.DUTPhaseDegrees + (interpollFreqFactor * dutPhaseDelta));
            }
            else
            {
                return(resBelow.DUTPhaseDegrees);
            }
        }
Esempio n. 12
0
        public double GetGainDB(double frequency)
        {
            FRAResult resAbove = GetResultAboveFrequency(frequency);
            FRAResult resBelow = GetResultBelowFrequency(frequency);

            if (resAbove != resBelow)
            {
                double interpollFreqFactor = (frequency - resBelow.FrequencyHz) / (resAbove.FrequencyHz - resBelow.FrequencyHz);
                double gainDelta           = resAbove.GainFRA_DB - resBelow.GainFRA_DB;
                return(resBelow.GainFRA_DB + (interpollFreqFactor * gainDelta));
            }
            else
            {
                return(resBelow.GainFRA_DB);
            }
        }
Esempio n. 13
0
 public InfoFile(FRAFile file)
 {
     InitializeComponent();
     this.TopMost                          = true;
     textBoxFileName.Text                  = file.FileName;
     textBoxPath.Text                      = file.FilePath;
     textBoxFileType.Text                  = file.FRAFileType.ToString();
     textBoxReferenceResistor.Text         = (file.ReferenceResistorOhms * 1000).ToString(FRAResult.GetImpedanceFormat(file.ReferenceResistorOhms * 1000));
     textBoxMinFrequency.Text              = file.MinFrequencyHz.ToString(FRAResult.GetFrequencyFormat(file.MinFrequencyHz, true));
     textBoxMaxFrequency.Text              = file.MaxFrequencyHz.ToString(FRAResult.GetFrequencyFormat(file.MaxFrequencyHz, true));
     textBoxNrOfDataPoints.Text            = file.Count.ToString();
     textBoxAverageGain.Text               = file.AverageGainDB.ToString(FRAResult.GetGainFormat(file.AverageGainDB));
     textBoxMaxGain.Text                   = file.MaxGainDB.ToString(FRAResult.GetGainFormat(file.MaxGainDB));
     textBoxMinGain.Text                   = file.MinGainDB.ToString(FRAResult.GetGainFormat(file.MinGainDB));
     textBoxMaxImpedance.Text              = file.MaxDUTImpedanceOhms.ToString(FRAResult.GetImpedanceFormat(file.MaxDUTImpedanceOhms));
     textBoxMinImpedance.Text              = file.MinDUTImpedanceOhms.ToString(FRAResult.GetImpedanceFormat(file.MinDUTImpedanceOhms));
     textBoxMaxCapacitance.Text            = file.MaxDUTCapacitancePicoFarad.ToString(FRAResult.GetCapacitanceFormat(file.MaxDUTCapacitancePicoFarad));
     textBoxMinCapacitance.Text            = file.MinDUTCapacitancePicoFarad.ToString(FRAResult.GetCapacitanceFormat(file.MinDUTCapacitancePicoFarad));
     textBoxMaxInductance.Text             = file.MaxDUTInductanceNanoHenry.ToString(FRAResult.GetInductanceFormat(file.MaxDUTInductanceNanoHenry));
     textBoxMinInductance.Text             = file.MinDUTInductanceNanoHenry.ToString(FRAResult.GetInductanceFormat(file.MinDUTInductanceNanoHenry));
     textBoxMax_ESR.Text                   = file.MaxDUT_ESR_Ohms.ToString(FRAResult.GetImpedanceFormat(file.MaxDUT_ESR_Ohms));
     textBoxMin_ESR.Text                   = file.MinDUT_ESR_Ohms.ToString(FRAResult.GetImpedanceFormat(file.MinDUT_ESR_Ohms));
     richTextBoxMeasurementConditions.Text = file.MeasurementConditions;
 }
Esempio n. 14
0
        // sort results on frequency
        public int CompareTo(object obj)
        {
            FRAResult comparer = (FRAResult)obj;

            return(this.FrequencyHz.CompareTo(comparer.FrequencyHz));
        }
Esempio n. 15
0
 private void AddResult(FRAResult result)
 {
     m_FRAResults.Add(result);
     if (result.FrequencyHz > m_MaxFrequencyHz)
     {
         m_MaxFrequencyHz = result.FrequencyHz;
     }
     if (result.FrequencyHz < m_MinFrequencyHz)
     {
         m_MinFrequencyHz = result.FrequencyHz;
     }
     if (result.GainFRA_DB > m_MaxGainDB)
     {
         m_MaxGainDB = result.GainFRA_DB;
     }
     if (result.GainFRA_DB < m_MinGainDB)
     {
         m_MinGainDB = result.GainFRA_DB;
     }
     if (result.PhaseDegrees > m_MaxPhaseDegrees)
     {
         m_MaxPhaseDegrees = result.PhaseDegrees;
     }
     if (result.PhaseDegrees < m_MinPhaseDegrees)
     {
         m_MinPhaseDegrees = result.PhaseDegrees;
     }
     if (result.DUTImpedanceMilliOhms > m_MaxDUTImpedanceOhms)
     {
         m_MaxDUTImpedanceOhms = result.DUTImpedanceMilliOhms;
     }
     if (result.DUTImpedanceMilliOhms < m_MinDUTImpedanceOhms)
     {
         m_MinDUTImpedanceOhms = result.DUTImpedanceMilliOhms;
     }
     if (result.DUTPhaseDegrees > m_MaxDUTPhaseDegrees)
     {
         m_MaxDUTPhaseDegrees = result.DUTPhaseDegrees;
     }
     if (result.DUTPhaseDegrees < m_MinDUTPhaseDegrees)
     {
         m_MinDUTPhaseDegrees = result.DUTPhaseDegrees;
     }
     if (result.DUTSeriesCapacitancePicoFarad > m_MaxDUTCapacitancePicoFarad)
     {
         m_MaxDUTCapacitancePicoFarad = result.DUTSeriesCapacitancePicoFarad;
     }
     if (result.DUTSeriesCapacitancePicoFarad < m_MinDUTCapacitancePicoFarad)
     {
         m_MinDUTCapacitancePicoFarad = result.DUTSeriesCapacitancePicoFarad;
     }
     if (result.DUT_ESR_MilliOhms > m_MaxDUT_ESR_Ohms)
     {
         m_MaxDUT_ESR_Ohms = result.DUT_ESR_MilliOhms;
     }
     if (result.DUT_ESR_MilliOhms < m_MinDUT_ESR_Ohms)
     {
         m_MinDUT_ESR_Ohms = result.DUT_ESR_MilliOhms;
     }
     if (result.DUTSeriesInductanceNanoHenry > m_MaxDUTInductanceNanoHenry)
     {
         m_MaxDUTInductanceNanoHenry = result.DUTSeriesInductanceNanoHenry;
     }
     if (result.DUTSeriesInductanceNanoHenry < m_MinDUTInductanceNanoHenry)
     {
         m_MinDUTInductanceNanoHenry = result.DUTSeriesInductanceNanoHenry;
     }
 }