コード例 #1
0
// set the widget to the stored default values
void FFTOptions::loadWidgetDefaults() {
  setSampleRate(_dialogDefaults->value("spectrum/freq",100.0).toDouble());
  setInterleavedAverage(_dialogDefaults->value("spectrum/average",true).toBool());
  setFFTLength(_dialogDefaults->value("spectrum/len",12).toInt());
  setApodize(_dialogDefaults->value("spectrum/apodize",true).toBool());
  setRemoveMean(_dialogDefaults->value("spectrum/removeMean",true).toBool());
  setVectorUnits(_dialogDefaults->value("spectrum/vUnits","V").toString());
  setRateUnits(_dialogDefaults->value("spectrum/rUnits","Hz").toString());
  setApodizeFunction(ApodizeFunction(_dialogDefaults->value("spectrum/apodizeFxn",WindowOriginal).toInt()));
  setSigma(_dialogDefaults->value("spectrum/gaussianSigma",1.0).toDouble());
  setOutput(PSDType(_dialogDefaults->value("spectrum/output",PSDPowerSpectralDensity).toInt()));
  setInterpolateOverHoles(_dialogDefaults->value("spectrum/interpolateHoles",true).toInt());
}
コード例 #2
0
void KstPSDCurve::commonConstructor(const QString &in_tag, KstVectorPtr in_V,
                                    double in_freq, int in_len,
                                    const QString &in_VUnits,
                                    const QString &in_RUnits,
                                    const QColor &in_color) {

  _typeString = i18n("Power Spectrum");
  NumUsed = 0;
  _inputVectors[INVECTOR] = in_V;
  Color = in_color;
  setTagName(in_tag);
  Freq = in_freq;
  Len = in_len;
  VUnits = in_VUnits;
  RUnits = in_RUnits;

  PSDLen = int(pow(2, Len-1));

  ALen = PSDLen*2;
  a = new double[ALen];
  w = new double[ALen];
  GenW();

  last_f0 = 0;
  last_n_subsets = 0;
  last_n_new = 0;
  setRemoveMean(true);
  setAppodize(true);

  KstVectorPtr iv = new KstVector(in_tag+"-freq", 2);
  _fVector = _outputVectors.insert(FVECTOR, iv);

  iv = new KstVector(in_tag+"-sv", PSDLen);
  _sVector = _outputVectors.insert(SVECTOR, iv);

  update();
}