filter_FIR getFirFilter(int order, double cutOffFrequeny1, double cutOffFrequeny2, int type, WindowingFunction wf) { filter_FIR filter = new filter_FIR(); switch (type) { case 1: //Low pass filter = filter.generateLowPass(order, cutOffFrequeny1, wf); break; case 2: //High pass filter = filter.generateHighPass(order, cutOffFrequeny1, wf); break; case 3: //Band pass filter = filter.generateBandPass(order, cutOffFrequeny1, cutOffFrequeny2, wf); break; case 4: //Band stop filter = filter.generateBandStop(order, cutOffFrequeny1, cutOffFrequeny2, wf); break; } return(filter); }
private void button2_Click(object sender, EventArgs e) { List <string> lines = new List <string>(); filter_FIR result = getFirFilter((int)numOrder.Value, (double)numFreq1.Value, (double)numFreq2.Value, FirType, wf); if (result == null) { return; } lines.Add("SignalPlant FIR Filter design"); lines.Add(""); lines.Add("Order: " + (int)numOrder.Value); lines.Add("Frequency 1: " + (double)numFreq1.Value + " Hz"); if (FirType >= 3) { lines.Add("Frequency 2: " + (double)numFreq2.Value + " Hz"); } lines.Add("Windowing function: " + WindowingFunction.windowNames[wf.winType]); if (WindowingFunction.numParams[wf.winType] > 0) { lines.Add("Windowing function parameter: " + wf.winParam); } lines.Add(""); lines.Add("-------Coeffitients-----------------"); lines.Add("No. \t Value"); lines.Add("------------------------------------"); for (int i = 0; i < result.coeffs.Count; i++) { lines.Add(i + "\t\t" + result.coeffs[i].ToString()); } string wholeTExt = ""; foreach (string prt in lines) { wholeTExt = wholeTExt + "\r\n" + prt; } System.Windows.Forms.Clipboard.SetText(wholeTExt); }