Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            //}
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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 { }
            }
        }
Beispiel #5
0
        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;
            }
        }
Beispiel #6
0
        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 { }
            }
        }
Beispiel #7
0
        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();
            }
        }