Example #1
0
        private void button_Filtration_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            Init_Chart(chart1);
            tabControl1.SelectedIndex = 2;
            progressBar1.Value        = 0;

            textBox1.Text  = "Filtration testing";
            textBox1.Text += System.Environment.NewLine;
            textBox1.Text += System.Environment.NewLine;

            int t1 = System.Environment.TickCount;

            System.Windows.Forms.Application.DoEvents();
            //

            int filtertype = 1;

            mcore.Digital filter;
            switch (filtertype)
            {
            case 1: filter = new mcore.Digital.filter_loPass(0.001, 100, 1); break;

            case 2: filter = new mcore.Digital.filter_hiPass(0.001, 100, 1); break;

            case 3: filter = new mcore.Digital.filter_bandStop(0.001, 50, 50); break;

            case 4: filter = new mcore.Digital.filter_bandPass(0.001, 50, 5); break;

            case 5: filter = new mcore.Digital.phase_Corrector(0.001, 100); break;

            default: filter = null; break;
            }

            mcore.Types.Collection c = mcore.Math.Frequency_responce(1, 1000, 0.001, filter.coefs);

            for (int i = 0; i < filter.coefs[0].Count; i++)
            {
                textBox1.Text += "a" + i.ToString() + " = " + filter.coefs[0][i] + System.Environment.NewLine;
            }

            textBox1.Text += System.Environment.NewLine;
            for (int i = 0; i < filter.coefs[1].Count; i++)
            {
                textBox1.Text += "b" + i.ToString() + " = " + filter.coefs[1][i] + System.Environment.NewLine;
            }


            chart1.Series[0].Points.DataBindXY(c[0], c[1]);
            chart1.Series[1].Points.DataBindXY(c[0], c[2]);

            chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
            chart1.ChartAreas[0].AxisX.Minimum       = c.Vectors[0].Minimum;
            chart1.ChartAreas[0].AxisX.Maximum       = c.Vectors[0].Maximum;

            //
            textBox1.Text += "Filtration testing - done";
            textBox1.Text += System.Environment.NewLine;
            textBox1.Text += System.Environment.NewLine;

            textBox1.Text += "Time elapsed = " + ((System.Environment.TickCount - t1) * 0.001).ToString() + " sec";
            //isBreak = true;
        }
Example #2
0
        private void button_Filtration_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            Init_Chart(chart1);
            tabControl1.SelectedIndex = 2;
            progressBar1.Value = 0;

            textBox1.Text  = "Filtration testing";
            textBox1.Text += System.Environment.NewLine;
            textBox1.Text += System.Environment.NewLine;

            int t1 = System.Environment.TickCount;
            System.Windows.Forms.Application.DoEvents();
            //

            int filtertype = 1;
            mcore.Digital filter;
            switch ( filtertype )
            {
                case 1  : filter = new mcore.Digital.filter_loPass  (0.001, 100, 1); break;
                case 2  : filter = new mcore.Digital.filter_hiPass  (0.001, 100, 1); break;
                case 3  : filter = new mcore.Digital.filter_bandStop(0.001, 50, 50); break;
                case 4  : filter = new mcore.Digital.filter_bandPass(0.001, 50, 5 ); break;
                case 5  : filter = new mcore.Digital.phase_Corrector(0.001, 100   ); break;
                default : filter = null; break;
            }

            mcore.Types.Collection c = mcore.Math.Frequency_responce(1, 1000, 0.001, filter.coefs);

                for ( int i = 0 ; i < filter.coefs[0].Count; i++ )
                    textBox1.Text += "a" + i.ToString() + " = " + filter.coefs[0][i] + System.Environment.NewLine;

                textBox1.Text += System.Environment.NewLine;
                for ( int i = 0 ; i < filter.coefs[1].Count; i++ )
                    textBox1.Text += "b" + i.ToString() + " = " + filter.coefs[1][i] + System.Environment.NewLine;

                chart1.Series[0].Points.DataBindXY(c[0], c[1]);
                chart1.Series[1].Points.DataBindXY(c[0], c[2]);

                chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
                chart1.ChartAreas[0].AxisX.Minimum = c.Vectors[0].Minimum;
                chart1.ChartAreas[0].AxisX.Maximum = c.Vectors[0].Maximum;

            //
            textBox1.Text += "Filtration testing - done";
            textBox1.Text += System.Environment.NewLine;
            textBox1.Text += System.Environment.NewLine;

            textBox1.Text += "Time elapsed = " + ((System.Environment.TickCount - t1)*0.001).ToString() + " sec";
            //isBreak = true;
        }