summaryrefslogtreecommitdiff
path: root/gr-utils/src
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@molly.home>2009-08-24 17:44:43 -0400
committerTom Rondeau <trondeau@molly.home>2009-08-24 17:44:43 -0400
commitef44b1afa410d77dbf84ba79119c16bb4fd02606 (patch)
tree670a74662ca9acf4e760c634c596e21d7ecb0610 /gr-utils/src
parent2d4405ea55f3d9e4369fa903ce4d0d2a5addd7b4 (diff)
Added routine for optfir equiripple filter design code to create complex bandpass filters. Also adds this ability to the filter designer.
Diffstat (limited to 'gr-utils/src')
-rwxr-xr-xgr-utils/src/python/gr_filter_design.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/gr-utils/src/python/gr_filter_design.py b/gr-utils/src/python/gr_filter_design.py
index 0579d0fe23..4aa59360f5 100755
--- a/gr-utils/src/python/gr_filter_design.py
+++ b/gr-utils/src/python/gr_filter_design.py
@@ -15,8 +15,6 @@ from gnuradio import gr, blks2, eng_notation
from scipy import fftpack
from pyqt_filter import Ui_MainWindow
-from pyqt_filter_firlpf import Ui_firlpfForm
-from pyqt_filter_firhpf import Ui_firhpfForm
class gr_plot_filter(QtGui.QMainWindow):
def __init__(self, qapp, options):
@@ -196,7 +194,8 @@ class gr_plot_filter(QtGui.QMainWindow):
if(winstr == "Equiripple"):
designer = {"Low Pass" : self.design_opt_lpf,
"Band Pass" : self.design_opt_bpf,
- "High Pass" : self.design_opt_hpf}
+ "Complex Band Pass" : self.design_opt_cbpf,
+ "High Pass" : self.design_opt_hpf}
taps,r = designer[ftype](fs, gain)
else:
@@ -381,6 +380,28 @@ class gr_plot_filter(QtGui.QMainWindow):
else:
return ([],r)
+ def design_opt_cbpf(self, fs, gain, wintype=None):
+ ret = True
+ pb1,r = self.gui.startofBpfPassBandEdit.text().toDouble()
+ ret = r and ret
+ pb2,r = self.gui.endofBpfPassBandEdit.text().toDouble()
+ ret = r and ret
+ tb,r = self.gui.bpfTransitionEdit.text().toDouble()
+ ret = r and ret
+ atten,r = self.gui.bpfStopBandAttenEdit.text().toDouble()
+ ret = r and ret
+ ripple,r = self.gui.bpfPassBandRippleEdit.text().toDouble()
+ ret = r and ret
+
+ if(r):
+ sb1 = pb1 - tb
+ sb2 = pb2 + tb
+ taps = blks2.optfir.complex_band_pass(gain, fs, sb1, pb1, pb2, sb2,
+ ripple, atten)
+ return (taps,r)
+ else:
+ return ([],r)
+
def design_opt_hpf(self, fs, gain, wintype=None):
ret = True
sb,r = self.gui.endofHpfStopBandEdit.text().toDouble()