summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgr-utils/src/python/gr_filter_design.py21
-rw-r--r--gr-utils/src/python/pyqt_filter.py30
-rw-r--r--gr-utils/src/python/pyqt_filter.ui36
3 files changed, 83 insertions, 4 deletions
diff --git a/gr-utils/src/python/gr_filter_design.py b/gr-utils/src/python/gr_filter_design.py
index 2d0c72c76..0579d0fe2 100755
--- a/gr-utils/src/python/gr_filter_design.py
+++ b/gr-utils/src/python/gr_filter_design.py
@@ -151,6 +151,8 @@ class gr_plot_filter(QtGui.QMainWindow):
self.gui.filterTypeWidget.setCurrentWidget(self.gui.firhpfPage)
elif(ftype == "Root Raised Cosine"):
self.gui.filterTypeWidget.setCurrentWidget(self.gui.rrcPage)
+ elif(ftype == "Gaussian"):
+ self.gui.filterTypeWidget.setCurrentWidget(self.gui.gausPage)
self.design()
@@ -203,7 +205,8 @@ class gr_plot_filter(QtGui.QMainWindow):
"Complex Band Pass" : self.design_win_cbpf,
"Band Notch" : self.design_win_bnf,
"High Pass" : self.design_win_hpf,
- "Root Raised Cosine" : self.design_win_rrc}
+ "Root Raised Cosine" : self.design_win_rrc,
+ "Gaussian" : self.design_win_gaus}
wintype = self.filterWindows[winstr]
taps,r = designer[ftype](fs, gain, wintype)
@@ -321,6 +324,22 @@ class gr_plot_filter(QtGui.QMainWindow):
else:
return ([],r)
+ def design_win_gaus(self, fs, gain, wintype):
+ ret = True
+ sr,r = self.gui.gausSymbolRateEdit.text().toDouble()
+ ret = r and ret
+ bt,r = self.gui.gausBTEdit.text().toDouble()
+ ret = r and ret
+ ntaps,r = self.gui.gausNumTapsEdit.text().toInt()
+ ret = r and ret
+
+ if(r):
+ spb = fs / sr
+ taps = gr.firdes.gaussian(gain, spb, bt, ntaps)
+ return (taps,r)
+ else:
+ return ([],r)
+
# Design Functions for Equiripple Filters
def design_opt_lpf(self, fs, gain, wintype=None):
ret = True
diff --git a/gr-utils/src/python/pyqt_filter.py b/gr-utils/src/python/pyqt_filter.py
index 15fccd27a..5591cc1a7 100644
--- a/gr-utils/src/python/pyqt_filter.py
+++ b/gr-utils/src/python/pyqt_filter.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'pyqt_filter.ui'
#
-# Created: Mon Aug 24 00:20:11 2009
+# Created: Mon Aug 24 00:28:45 2009
# by: PyQt4 UI code generator 4.4.4
#
# WARNING! All changes made in this file will be lost!
@@ -211,6 +211,29 @@ class Ui_MainWindow(object):
self.rrcNumTapsEdit.setObjectName("rrcNumTapsEdit")
self.formLayout_6.setWidget(2, QtGui.QFormLayout.FieldRole, self.rrcNumTapsEdit)
self.filterTypeWidget.addWidget(self.rrcPage)
+ self.gausPage = QtGui.QWidget()
+ self.gausPage.setObjectName("gausPage")
+ self.formLayout_7 = QtGui.QFormLayout(self.gausPage)
+ self.formLayout_7.setObjectName("formLayout_7")
+ self.gausSymbolRateLabel = QtGui.QLabel(self.gausPage)
+ self.gausSymbolRateLabel.setObjectName("gausSymbolRateLabel")
+ self.formLayout_7.setWidget(0, QtGui.QFormLayout.LabelRole, self.gausSymbolRateLabel)
+ self.gausSymbolRateEdit = QtGui.QLineEdit(self.gausPage)
+ self.gausSymbolRateEdit.setObjectName("gausSymbolRateEdit")
+ self.formLayout_7.setWidget(0, QtGui.QFormLayout.FieldRole, self.gausSymbolRateEdit)
+ self.gausBTLabel = QtGui.QLabel(self.gausPage)
+ self.gausBTLabel.setObjectName("gausBTLabel")
+ self.formLayout_7.setWidget(1, QtGui.QFormLayout.LabelRole, self.gausBTLabel)
+ self.gausBTEdit = QtGui.QLineEdit(self.gausPage)
+ self.gausBTEdit.setObjectName("gausBTEdit")
+ self.formLayout_7.setWidget(1, QtGui.QFormLayout.FieldRole, self.gausBTEdit)
+ self.gausNumTapsLabel = QtGui.QLabel(self.gausPage)
+ self.gausNumTapsLabel.setObjectName("gausNumTapsLabel")
+ self.formLayout_7.setWidget(2, QtGui.QFormLayout.LabelRole, self.gausNumTapsLabel)
+ self.gausNumTapsEdit = QtGui.QLineEdit(self.gausPage)
+ self.gausNumTapsEdit.setObjectName("gausNumTapsEdit")
+ self.formLayout_7.setWidget(2, QtGui.QFormLayout.FieldRole, self.gausNumTapsEdit)
+ self.filterTypeWidget.addWidget(self.gausPage)
self.verticalLayout.addWidget(self.filterTypeWidget)
self.sysParamsBox = QtGui.QGroupBox(self.filterFrame)
self.sysParamsBox.setObjectName("sysParamsBox")
@@ -285,7 +308,7 @@ class Ui_MainWindow(object):
self.menubar.addAction(self.menu_File.menuAction())
self.retranslateUi(MainWindow)
- self.filterTypeWidget.setCurrentIndex(4)
+ self.filterTypeWidget.setCurrentIndex(5)
self.tabGroup.setCurrentIndex(0)
QtCore.QObject.connect(self.action_exit, QtCore.SIGNAL("activated()"), MainWindow.close)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
@@ -346,6 +369,9 @@ class Ui_MainWindow(object):
self.rrcSymbolRateLabel.setText(QtGui.QApplication.translate("MainWindow", "Symbol Rate (sps)", None, QtGui.QApplication.UnicodeUTF8))
self.rrcAlphaLabel.setText(QtGui.QApplication.translate("MainWindow", "Roll-off Factor", None, QtGui.QApplication.UnicodeUTF8))
self.rrcNumTapsLabel.setText(QtGui.QApplication.translate("MainWindow", "Number of Taps", None, QtGui.QApplication.UnicodeUTF8))
+ self.gausSymbolRateLabel.setText(QtGui.QApplication.translate("MainWindow", "Symbol Rate (sps)", None, QtGui.QApplication.UnicodeUTF8))
+ self.gausBTLabel.setText(QtGui.QApplication.translate("MainWindow", "Roll-off Factor", None, QtGui.QApplication.UnicodeUTF8))
+ self.gausNumTapsLabel.setText(QtGui.QApplication.translate("MainWindow", "Number of Taps", None, QtGui.QApplication.UnicodeUTF8))
self.sysParamsBox.setTitle(QtGui.QApplication.translate("MainWindow", "System Parameters", None, QtGui.QApplication.UnicodeUTF8))
self.nfftLabel.setText(QtGui.QApplication.translate("MainWindow", "Num FFT points", None, QtGui.QApplication.UnicodeUTF8))
self.designButton.setText(QtGui.QApplication.translate("MainWindow", "Design", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/gr-utils/src/python/pyqt_filter.ui b/gr-utils/src/python/pyqt_filter.ui
index 199e339a5..ed2037009 100644
--- a/gr-utils/src/python/pyqt_filter.ui
+++ b/gr-utils/src/python/pyqt_filter.ui
@@ -157,7 +157,7 @@
<item>
<widget class="QStackedWidget" name="filterTypeWidget">
<property name="currentIndex">
- <number>4</number>
+ <number>5</number>
</property>
<widget class="QWidget" name="firlpfPage">
<layout class="QFormLayout" name="formLayout">
@@ -382,6 +382,40 @@
</item>
</layout>
</widget>
+ <widget class="QWidget" name="gausPage">
+ <layout class="QFormLayout" name="formLayout_7">
+ <item row="0" column="0">
+ <widget class="QLabel" name="gausSymbolRateLabel">
+ <property name="text">
+ <string>Symbol Rate (sps)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="gausSymbolRateEdit"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="gausBTLabel">
+ <property name="text">
+ <string>Roll-off Factor</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="gausBTEdit"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="gausNumTapsLabel">
+ <property name="text">
+ <string>Number of Taps</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="gausNumTapsEdit"/>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
<item>