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); }
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); }
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)); } } }
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); }
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); }
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()); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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; }
// sort results on frequency public int CompareTo(object obj) { FRAResult comparer = (FRAResult)obj; return(this.FrequencyHz.CompareTo(comparer.FrequencyHz)); }
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; } }