private void SetSecondlstdata() { int nWaveOffset; int nFftPtNum = 1024; int nWindowType; float fCalOffset; int nExpPara; int nClearDc = 1; int nSpectrumType; int nAverageType; int nCascadePercent; List <float> SpecData = null; iscalculating = false; nWaveOffset = Convert.ToInt32(WaveOffset.Text); switch (this.FftPtNum.SelectedIndex) { case 0: nFftPtNum = 256; break; case 1: nFftPtNum = 512; break; case 2: nFftPtNum = 1024; break; } nWindowType = this.WindowType.SelectedIndex; fCalOffset = Convert.ToInt32(CalOffset.Value); nExpPara = Convert.ToInt32(this.ExpPara.Value); if (!this.ClearDc.Checked) { nClearDc = 0; } nSpectrumType = this.SpectrumType.SelectedIndex; nAverageType = this.AverageType.SelectedIndex;; nCascadePercent = Convert.ToInt32(this.CascadePercent.Value);; if (DaspSDK.DaspAutoSpectrum(indata, nWaveOffset, nWavePtNum, nFftPtNum, nWindowType, Convert.ToSingle(CalCv.Text), Convert.ToSingle(WaveSf.Text), fCalOffset, nExpPara, nClearDc, nSpectrumType, nAverageType, nCascadePercent, out SpecData)) { iscalculating = true; cmplst[1] = SpecData; } }
private void btnOpenData_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "所有Dasp测试文件|*.sts"; indata = new List <float>(); string Fname = null; float gain = 1f; openFileDialog.Title = "选择输入文件"; if (DialogResult.OK == openFileDialog.ShowDialog()) { Fname = openFileDialog.FileName; try { long dataLength = 0; //this.txtFilename.Text = Fname; string fn = Fname.Replace(".sts", ".tsp"); string[] paras = DaspSDK.Read(fn); if ((paras != null) && (paras.Length == 9)) { gain = Convert.ToSingle(paras[5]); this.CalCv.Text = Convert.ToString(DaspSDK.ChangeDataToD(paras[7])); // this.CalCv.Text = paras[7]; fWaveSfIn = Convert.ToSingle(paras[0]); this.WaveSf.Text = paras[0]; } using (FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read)) { dataLength = fs.Length; BinaryReader r = new BinaryReader(fs); for (int i = 0; i < dataLength / 4; i++) { indata.Add(r.ReadSingle());// / gain / cv); } nWavePtNum = Convert.ToInt32(dataLength / 4); this.WavePtNum.Text = Convert.ToString(nWavePtNum); } } catch { } } //if (0 < dasptool.DaspAmplyStaticInMemoryFloat(indata.ToArray(), nWavePtNum, out fMean, out fMax, out fMin, out fVariance, out fRV, out fMS, out fRMS)) //{ // //this.fMax.Text = Convert.ToString(fMax); // //this.fMean.Text = Convert.ToString(fMean); // //this.fMax.Text = Convert.ToString(fMax); // //this.fMin.Text = Convert.ToString(fMin); // //this.fVariance.Text = Convert.ToString(fVariance); // //this.fRV.Text = Convert.ToString(fRV); // //this.fMS.Text = Convert.ToString(fMS); // //this.fRMS.Text = Convert.ToString(fRMS); //} }
private List <float> GetSprectData(List <float> indata) { List <float> SpecData = null; bool rc = false; rc = DaspSDK.DaspAutoSpectrum(indata, spepara.nWaveOffset, spepara.nWavePtNum, spepara.nFftPtNum, spepara.nWindowType, spepara.fCalCv, spepara.fWaveSf, spepara.fCalOffset, spepara.nExpPara, spepara.nClearDc, spepara.nSpectrumType, spepara.nAverageType, spepara.nCascadePercent, out SpecData); if (rc) { } else { SpecData = null; } return(SpecData); }
private void btncmp_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "所有Dasp测试文件|*.sts"; indata = new List <float>(); string Fname = null; float gain = 1f; openFileDialog.Title = "选择输入文件"; if (DialogResult.OK == openFileDialog.ShowDialog()) { Fname = openFileDialog.FileName; try { long dataLength = 0; //this.txtFilename.Text = Fname; string fn = Fname.Replace(".sts", ".tsp"); string[] paras = DaspSDK.Read(fn); if ((paras != null) && (paras.Length == 9)) { gain = Convert.ToSingle(paras[5]); this.CalCv.Text = Convert.ToString(DaspSDK.ChangeDataToD(paras[7])); this.CalCv.Text = paras[7]; fWaveSfIn = Convert.ToSingle(paras[0]); this.WaveSf.Text = paras[0]; } using (FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read)) { dataLength = fs.Length; BinaryReader r = new BinaryReader(fs); for (int i = 0; i < dataLength / 4; i++) { indata.Add(r.ReadSingle());// / gain / cv); } nWavePtNum = Convert.ToInt32(dataLength / 4); this.WavePtNum.Text = Convert.ToString(nWavePtNum); } SetSecondlstdata(); } catch { } } }
private void btnCal_Click(object sender, EventArgs e) { List <float> SpecData = null; iscalculating = false; spe.fCalCv = Convert.ToSingle(CalCv.Text); spe.fWaveSf = Convert.ToSingle(WaveSf.Text);; spe.nWavePtNum = Convert.ToInt32(WavePtNum.Text); spe.nWaveOffset = Convert.ToInt32(WaveOffset.Text); switch (this.FftPtNum.SelectedIndex) { case 0: spe.nFftPtNum = 256; break; case 1: spe.nFftPtNum = 512; break; case 2: spe.nFftPtNum = 1024; break; } spe.nWindowType = this.WindowType.SelectedIndex; spe.fCalOffset = Convert.ToInt32(CalOffset.Value); spe.nExpPara = Convert.ToInt32(this.ExpPara.Value); if (!this.ClearDc.Checked) { spe.nClearDc = 0; } spe.nSpectrumType = this.SpectrumType.SelectedIndex; spe.nAverageType = this.AverageType.SelectedIndex;; spe.nCascadePercent = Convert.ToInt32(this.CascadePercent.Value);; if (DaspSDK.DaspAutoSpectrum(indata, spe.nWaveOffset, spe.nWavePtNum, spe.nFftPtNum, spe.nWindowType, spe.fCalCv, spe.fWaveSf, spe.fCalOffset, spe.nExpPara, spe.nClearDc, spe.nSpectrumType, spe.nAverageType, spe.nCascadePercent, out SpecData)) { iscalculating = true; cmplst[0] = SpecData; } }
private void btnOpenData_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "所有Dasp测试文件|*.sts"; indata = new List <float>(); string Fname = null; float gain = 1f; openFileDialog.Title = "选择输入文件"; if (DialogResult.OK == openFileDialog.ShowDialog()) { Fname = openFileDialog.FileName; try { long dataLength = 0; //this.txtFilename.Text = Fname; string fn = Fname.Replace(".sts", ".tsp"); string[] paras = DaspSDK.Read(fn); if ((paras != null) && (paras.Length == 9)) { gain = Convert.ToSingle(paras[5]); this.fCalCv = DaspSDK.ChangeDataToD(paras[7]); } using (FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read)) { dataLength = fs.Length; BinaryReader r = new BinaryReader(fs); for (int i = 0; i < dataLength / 4; i++) { indata.Add(r.ReadSingle() * gain / fCalCv); } nWavePtNum = Convert.ToInt32(dataLength / 4); } if (indata != null) { switch (this.pointsperpage.SelectedIndex) { case 0: this.mcadLine1.SetDrawPara(0, 128); break; case 1: this.mcadLine1.SetDrawPara(0, 256); break; case 2: this.mcadLine1.SetDrawPara(0, 512); break; case 3: this.mcadLine1.SetDrawPara(0, 1024); break; case 4: this.mcadLine1.SetDrawPara(0, 2048); break; case 5: this.mcadLine1.SetDrawPara(0, 4096); break; case 6: this.mcadLine1.SetDrawPara(0, 8192); break; default: //this.mcadLine1.PageNumberOfValue = -1; break; } IList <IList <float>[]> datalsts = new List <IList <float>[]>(); IList <float>[] waveData = new IList <float> [1]; //波形图只有一组绘制数据 waveData[0] = indata; // new List<float>(); //初始化第一组数据 this.mcadLine1.DrawParts = 2; this.mcadLine1.BmSpan = 30; datalsts.Add(waveData); this.mcadLine1.drawall = true; this.mcadLine1.SetDrawDataAll(datalsts); this.mcadLine1.Focus(); } } catch { } } }
private void GetWavData() { IList <int> scape = new List <int>(); IList <DataBase> dbex = new List <DataBase>(); IList <IList <float>[]> datalsts = new List <IList <float>[]>(); IList <float>[] waveData = new IList <float> [1];//波形图只有一组绘制数据 if (DaspSDK.CalFRF(indata, outdata, out lstFrf, frf.nWavePtNum, frf.nFftPtNum, frf.fWaveSfOut, frf.fWaveSfIn, frf.nWindowType, frf.nExpPara, frf.nWindowLL, frf.nWindowLR, frf.nClearDc, frf.nSpectrumType, frf.nCorePar, frf.nCascadePercent)) { rfroutdata = lstFrf; switch (cmbout.SelectedIndex) { case 0: //幅频 、相频0 1 waveData = new IList <float> [1]; waveData[0] = lstFrf[0]; datalsts.Add(waveData); waveData = new IList <float> [1]; waveData[0] = lstFrf[1]; datalsts.Add(waveData); break; case 1: //幅频 、相干0 2 waveData = new IList <float> [1]; waveData[0] = lstFrf[0]; datalsts.Add(waveData); waveData = new IList <float> [1]; waveData[0] = lstFrf[2]; datalsts.Add(waveData); break; case 2: //实部 、虚部3 4 waveData = new IList <float> [1]; waveData[0] = lstFrf[3]; datalsts.Add(waveData); waveData = new IList <float> [1]; waveData[0] = lstFrf[4]; datalsts.Add(waveData); break; case 3: //输入自谱 、输出自谱 5 6 waveData = new IList <float> [1]; waveData[0] = lstFrf[5]; datalsts.Add(waveData); waveData = new IList <float> [1]; waveData[0] = lstFrf[6]; datalsts.Add(waveData); break; case 4: //幅频 相频 相干0 1 2 waveData = new IList <float> [1]; waveData[0] = lstFrf[0]; datalsts.Add(waveData); waveData = new IList <float> [1]; waveData[0] = lstFrf[1]; datalsts.Add(waveData); waveData = new IList <float> [1]; waveData[0] = lstFrf[2]; datalsts.Add(waveData); break; } //waveData = new IList<float>[1]; this.mcadLine1.BmSpan = 30; this.mcadLine1.drawall = true; scape.Add(50); scape.Add(50); scape.Add(50); this.mcadLine1.SetDrawDataAll(datalsts); this.mcadLine1.Focus(); } }