Ejemplo n.º 1
0
        private void AnalyzeCustomBandpassFilter()
        {
            var order = 231;
            var freq1 = 0.06;
            var freq2 = 0.2;

            if (filterParamsDataGrid.RowCount > 0)
            {
                order = Convert.ToInt32(filterParamsDataGrid.Rows[0].Cells[1].Value);
                freq1 = Convert.ToDouble(filterParamsDataGrid.Rows[1].Cells[1].Value);
                freq2 = Convert.ToDouble(filterParamsDataGrid.Rows[2].Cells[1].Value);
            }

            orderNumeratorTextBox.Text   = (order - 1).ToString();
            orderDenominatorTextBox.Text = (order - 1).ToString();

            //_filter = new FirFilter(DesignFilter.FirWinBp(order, freq1, freq2));

            // for double precision and FDA:

            var tf = new TransferFunction(DesignFilter.FirWinBp(order, freq1, freq2));

            _filter = new FirFilter(tf);

            filterParamsDataGrid.RowCount = 3;
            filterParamsDataGrid.Rows[0].Cells[0].Value = "order";
            filterParamsDataGrid.Rows[0].Cells[1].Value = order;
            filterParamsDataGrid.Rows[1].Cells[0].Value = "freq1";
            filterParamsDataGrid.Rows[1].Cells[1].Value = freq1;
            filterParamsDataGrid.Rows[2].Cells[0].Value = "freq2";
            filterParamsDataGrid.Rows[2].Cells[1].Value = freq2;
        }