Adding equiripple band reject filter to filter design app.
authorTom Rondeau <trondeau@molly.home>
Mon, 24 Aug 2009 23:25:30 +0000 (19:25 -0400)
committerTom Rondeau <trondeau@molly.home>
Mon, 24 Aug 2009 23:25:30 +0000 (19:25 -0400)
gr-utils/src/python/gr_filter_design.py
gr-utils/src/python/pyqt_filter.py
gr-utils/src/python/pyqt_filter.ui

index 4aa59360f5b3acef62372b13d83d4b1f7f94e246..238fd63fe4f9d0b2c0934d59a805a86f2e67b535 100755 (executable)
@@ -41,7 +41,7 @@ class gr_plot_filter(QtGui.QMainWindow):
                      Qt.SIGNAL("textEdited(QString)"),
                      self.nfft_edit_changed)
 
-        self.gui.designButton.setShortcut("Return")
+        self.gui.designButton.setShortcut(QtCore.Qt.Key_Return)
 
         self.taps = []
         self.fftdB = []
@@ -54,6 +54,8 @@ class gr_plot_filter(QtGui.QMainWindow):
         self.gui.lpfPassBandRippleEdit.setVisible(False)
         self.gui.bpfPassBandRippleLabel.setVisible(False)
         self.gui.bpfPassBandRippleEdit.setVisible(False)
+        self.gui.bnfPassBandRippleLabel.setVisible(False)
+        self.gui.bnfPassBandRippleEdit.setVisible(False)
         self.gui.hpfPassBandRippleLabel.setVisible(False)
         self.gui.hpfPassBandRippleEdit.setVisible(False)
                 
@@ -168,6 +170,8 @@ class gr_plot_filter(QtGui.QMainWindow):
         self.gui.lpfPassBandRippleEdit.setVisible(True)
         self.gui.bpfPassBandRippleLabel.setVisible(True)
         self.gui.bpfPassBandRippleEdit.setVisible(True)
+        self.gui.bnfPassBandRippleLabel.setVisible(True)
+        self.gui.bnfPassBandRippleEdit.setVisible(True)
         self.gui.hpfPassBandRippleLabel.setVisible(True)
         self.gui.hpfPassBandRippleEdit.setVisible(True)
         
@@ -177,6 +181,8 @@ class gr_plot_filter(QtGui.QMainWindow):
         self.gui.lpfPassBandRippleEdit.setVisible(False)
         self.gui.bpfPassBandRippleLabel.setVisible(False)
         self.gui.bpfPassBandRippleEdit.setVisible(False)
+        self.gui.bnfPassBandRippleLabel.setVisible(False)
+        self.gui.bnfPassBandRippleEdit.setVisible(False)
         self.gui.hpfPassBandRippleLabel.setVisible(False)
         self.gui.hpfPassBandRippleEdit.setVisible(False)
         
@@ -195,6 +201,7 @@ class gr_plot_filter(QtGui.QMainWindow):
                 designer = {"Low Pass" : self.design_opt_lpf,
                             "Band Pass" : self.design_opt_bpf,
                             "Complex Band Pass" : self.design_opt_cbpf,
+                            "Band Notch" : self.design_opt_bnf,
                             "High Pass" :  self.design_opt_hpf}
                 taps,r = designer[ftype](fs, gain)
 
@@ -210,6 +217,8 @@ class gr_plot_filter(QtGui.QMainWindow):
                 taps,r = designer[ftype](fs, gain, wintype)
 
             if(r):
+                print "Number of taps: ", len(taps)
+
                 self.taps = scipy.array(taps)
                 self.get_fft(fs, self.taps, self.nfftpts)
                 self.update_time_curves()
@@ -340,7 +349,7 @@ class gr_plot_filter(QtGui.QMainWindow):
             return ([],r)
 
     # Design Functions for Equiripple Filters
-    def design_opt_lpf(self, fs, gain, wintype=None):
+    def design_opt_lpf(self, fs, gain):
         ret = True
         pb,r = self.gui.endofLpfPassBandEdit.text().toDouble()
         ret = r and ret
@@ -358,7 +367,7 @@ class gr_plot_filter(QtGui.QMainWindow):
         else:
             return ([], ret)
     
-    def design_opt_bpf(self, fs, gain, wintype=None):
+    def design_opt_bpf(self, fs, gain):
         ret = True
         pb1,r = self.gui.startofBpfPassBandEdit.text().toDouble()
         ret = r and ret
@@ -380,7 +389,7 @@ class gr_plot_filter(QtGui.QMainWindow):
         else:
             return ([],r)
 
-    def design_opt_cbpf(self, fs, gain, wintype=None):
+    def design_opt_cbpf(self, fs, gain):
         ret = True
         pb1,r = self.gui.startofBpfPassBandEdit.text().toDouble()
         ret = r and ret
@@ -402,7 +411,29 @@ class gr_plot_filter(QtGui.QMainWindow):
         else:
             return ([],r)
 
-    def design_opt_hpf(self, fs, gain, wintype=None):
+    def design_opt_bnf(self, fs, gain):
+        ret = True
+        sb1,r = self.gui.startofBnfStopBandEdit.text().toDouble()
+        ret = r and ret
+        sb2,r = self.gui.endofBnfStopBandEdit.text().toDouble()
+        ret = r and ret
+        tb,r  = self.gui.bnfTransitionEdit.text().toDouble()
+        ret = r and ret
+        atten,r = self.gui.bnfStopBandAttenEdit.text().toDouble()
+        ret = r and ret
+        ripple,r = self.gui.bnfPassBandRippleEdit.text().toDouble()
+        ret = r and ret
+
+        if(r):
+            pb1 = sb1 - tb
+            pb2 = sb2 + tb
+            taps = blks2.optfir.band_reject(gain, fs, pb1, sb1, sb2, pb2,
+                                            ripple, atten)
+            return (taps,r)
+        else:
+            return ([],r)
+
+    def design_opt_hpf(self, fs, gain):
         ret = True
         sb,r = self.gui.endofHpfStopBandEdit.text().toDouble()
         ret = r and ret
index 5591cc1a7b4d6bc8d7b9b7283e2e5224b574321a..c10429cff508d1c4dc1bf206644691411ea631ac 100644 (file)
@@ -2,8 +2,8 @@
 
 # Form implementation generated from reading ui file 'pyqt_filter.ui'
 #
-# Created: Mon Aug 24 00:28:45 2009
-#      by: PyQt4 UI code generator 4.4.4
+# Created: Mon Aug 24 17:59:37 2009
+#      by: PyQt4 UI code generator 4.4.3
 #
 # WARNING! All changes made in this file will be lost!
 
@@ -157,6 +157,12 @@ class Ui_MainWindow(object):
         self.bnfStopBandAttenLabel = QtGui.QLabel(self.firbnfPage)
         self.bnfStopBandAttenLabel.setObjectName("bnfStopBandAttenLabel")
         self.formLayout_5.setWidget(3, QtGui.QFormLayout.LabelRole, self.bnfStopBandAttenLabel)
+        self.bnfPassBandRippleEdit = QtGui.QLineEdit(self.firbnfPage)
+        self.bnfPassBandRippleEdit.setObjectName("bnfPassBandRippleEdit")
+        self.formLayout_5.setWidget(4, QtGui.QFormLayout.FieldRole, self.bnfPassBandRippleEdit)
+        self.bnfPassBandRippleLabel = QtGui.QLabel(self.firbnfPage)
+        self.bnfPassBandRippleLabel.setObjectName("bnfPassBandRippleLabel")
+        self.formLayout_5.setWidget(4, QtGui.QFormLayout.LabelRole, self.bnfPassBandRippleLabel)
         self.filterTypeWidget.addWidget(self.firbnfPage)
         self.firhpfPage = QtGui.QWidget()
         self.firhpfPage.setObjectName("firhpfPage")
@@ -292,7 +298,7 @@ class Ui_MainWindow(object):
         self.gridLayout.addWidget(self.tabGroup, 1, 1, 1, 1)
         MainWindow.setCentralWidget(self.centralwidget)
         self.menubar = QtGui.QMenuBar(MainWindow)
-        self.menubar.setGeometry(QtCore.QRect(0, 0, 1124, 25))
+        self.menubar.setGeometry(QtCore.QRect(0, 0, 1124, 24))
         self.menubar.setObjectName("menubar")
         self.menu_File = QtGui.QMenu(self.menubar)
         self.menu_File.setObjectName("menu_File")
@@ -308,7 +314,7 @@ class Ui_MainWindow(object):
         self.menubar.addAction(self.menu_File.menuAction())
 
         self.retranslateUi(MainWindow)
-        self.filterTypeWidget.setCurrentIndex(5)
+        self.filterTypeWidget.setCurrentIndex(2)
         self.tabGroup.setCurrentIndex(0)
         QtCore.QObject.connect(self.action_exit, QtCore.SIGNAL("activated()"), MainWindow.close)
         QtCore.QMetaObject.connectSlotsByName(MainWindow)
@@ -362,6 +368,7 @@ class Ui_MainWindow(object):
         self.endofBnfStopBandLabel.setText(QtGui.QApplication.translate("MainWindow", "End of Stop Band (Hz)", None, QtGui.QApplication.UnicodeUTF8))
         self.bnfTransitionLabel.setText(QtGui.QApplication.translate("MainWindow", "Transition Width (Hz)", None, QtGui.QApplication.UnicodeUTF8))
         self.bnfStopBandAttenLabel.setText(QtGui.QApplication.translate("MainWindow", "Stop Band Attenuation (dB)", None, QtGui.QApplication.UnicodeUTF8))
+        self.bnfPassBandRippleLabel.setText(QtGui.QApplication.translate("MainWindow", "Pass Band Ripple (dB)", None, QtGui.QApplication.UnicodeUTF8))
         self.endofHpfStopBandLabel.setText(QtGui.QApplication.translate("MainWindow", "End of Stop Band (Hz)", None, QtGui.QApplication.UnicodeUTF8))
         self.startofHpfPassBandLabel.setText(QtGui.QApplication.translate("MainWindow", "Start of Pass Band (Hz)", None, QtGui.QApplication.UnicodeUTF8))
         self.hpfStopBandAttenLabel.setText(QtGui.QApplication.translate("MainWindow", "Stop Band Attenuation (dB)", None, QtGui.QApplication.UnicodeUTF8))
index ed2037009300a9734a743f183a67075325101354..d7dccfba15052c710d74afd3a01073e180a40071 100644 (file)
@@ -1,8 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
+<ui version="4.0" >
  <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
+ <widget class="QMainWindow" name="MainWindow" >
+  <property name="geometry" >
    <rect>
     <x>0</x>
     <y>0</y>
     <height>696</height>
    </rect>
   </property>
-  <property name="windowTitle">
+  <property name="windowTitle" >
    <string>GNU Radio Filter Design Tool</string>
   </property>
-  <widget class="QWidget" name="centralwidget">
-   <layout class="QGridLayout" name="gridLayout">
-    <item row="1" column="0">
-     <widget class="QFrame" name="filterFrame">
-      <property name="minimumSize">
+  <widget class="QWidget" name="centralwidget" >
+   <layout class="QGridLayout" name="gridLayout" >
+    <item row="1" column="0" >
+     <widget class="QFrame" name="filterFrame" >
+      <property name="minimumSize" >
        <size>
         <width>300</width>
         <height>0</height>
        </size>
       </property>
-      <property name="maximumSize">
+      <property name="maximumSize" >
        <size>
         <width>300</width>
         <height>16777215</height>
        </size>
       </property>
-      <property name="frameShape">
+      <property name="frameShape" >
        <enum>QFrame::StyledPanel</enum>
       </property>
-      <property name="frameShadow">
+      <property name="frameShadow" >
        <enum>QFrame::Raised</enum>
       </property>
-      <layout class="QVBoxLayout" name="verticalLayout">
+      <layout class="QVBoxLayout" name="verticalLayout" >
        <item>
-        <widget class="QComboBox" name="filterTypeComboBox">
+        <widget class="QComboBox" name="filterTypeComboBox" >
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Low Pass</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Band Pass</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Complex Band Pass</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Band Notch</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>High Pass</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Root Raised Cosine</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Gaussian</string>
           </property>
          </item>
         </widget>
        </item>
        <item>
-        <widget class="QComboBox" name="filterDesignTypeComboBox">
+        <widget class="QComboBox" name="filterDesignTypeComboBox" >
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Hamming Window</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Hann Window</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Blackman Window</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Rectangular Window</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Kaiser Window</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Blackman-harris Window</string>
           </property>
          </item>
          <item>
-          <property name="text">
+          <property name="text" >
            <string>Equiripple</string>
           </property>
          </item>
         </widget>
        </item>
        <item>
-        <layout class="QFormLayout" name="globalParamsLayout">
-         <property name="fieldGrowthPolicy">
+        <layout class="QFormLayout" name="globalParamsLayout" >
+         <property name="fieldGrowthPolicy" >
           <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
          </property>
-         <item row="0" column="0">
-          <widget class="QLabel" name="sampleRateLabel">
-           <property name="maximumSize">
+         <item row="0" column="0" >
+          <widget class="QLabel" name="sampleRateLabel" >
+           <property name="maximumSize" >
             <size>
              <width>16777215</width>
              <height>30</height>
             </size>
            </property>
-           <property name="text">
+           <property name="text" >
             <string>Sample Rate (sps)</string>
            </property>
           </widget>
          </item>
-         <item row="0" column="1">
-          <widget class="QLineEdit" name="sampleRateEdit">
-           <property name="maximumSize">
+         <item row="0" column="1" >
+          <widget class="QLineEdit" name="sampleRateEdit" >
+           <property name="maximumSize" >
             <size>
              <width>16777215</width>
              <height>30</height>
            </property>
           </widget>
          </item>
-         <item row="1" column="0">
-          <widget class="QLabel" name="filterGainLabel">
-           <property name="text">
+         <item row="1" column="0" >
+          <widget class="QLabel" name="filterGainLabel" >
+           <property name="text" >
             <string>Filter Gain</string>
            </property>
           </widget>
          </item>
-         <item row="1" column="1">
-          <widget class="QLineEdit" name="filterGainEdit"/>
+         <item row="1" column="1" >
+          <widget class="QLineEdit" name="filterGainEdit" />
          </item>
         </layout>
        </item>
        <item>
-        <widget class="QStackedWidget" name="filterTypeWidget">
-         <property name="currentIndex">
-          <number>5</number>
+        <widget class="QStackedWidget" name="filterTypeWidget" >
+         <property name="currentIndex" >
+          <number>2</number>
          </property>
-         <widget class="QWidget" name="firlpfPage">
-          <layout class="QFormLayout" name="formLayout">
-           <item row="0" column="0">
-            <widget class="QLabel" name="endofLpfPassBandLabel">
-             <property name="text">
+         <widget class="QWidget" name="firlpfPage" >
+          <layout class="QFormLayout" name="formLayout" >
+           <item row="0" column="0" >
+            <widget class="QLabel" name="endofLpfPassBandLabel" >
+             <property name="text" >
               <string>End of Pass Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="0" column="1">
-            <widget class="QLineEdit" name="endofLpfPassBandEdit"/>
+           <item row="0" column="1" >
+            <widget class="QLineEdit" name="endofLpfPassBandEdit" />
            </item>
-           <item row="1" column="0">
-            <widget class="QLabel" name="startofLpfStopBandLabel">
-             <property name="text">
+           <item row="1" column="0" >
+            <widget class="QLabel" name="startofLpfStopBandLabel" >
+             <property name="text" >
               <string>Start of Stop Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="1" column="1">
-            <widget class="QLineEdit" name="startofLpfStopBandEdit"/>
+           <item row="1" column="1" >
+            <widget class="QLineEdit" name="startofLpfStopBandEdit" />
            </item>
-           <item row="2" column="0">
-            <widget class="QLabel" name="lpfStopBandAttenLabel">
-             <property name="text">
+           <item row="2" column="0" >
+            <widget class="QLabel" name="lpfStopBandAttenLabel" >
+             <property name="text" >
               <string>Stop Band Attenuation (dB)</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="1">
-            <widget class="QLineEdit" name="lpfStopBandAttenEdit"/>
+           <item row="2" column="1" >
+            <widget class="QLineEdit" name="lpfStopBandAttenEdit" />
            </item>
-           <item row="3" column="1">
-            <widget class="QLineEdit" name="lpfPassBandRippleEdit"/>
+           <item row="3" column="1" >
+            <widget class="QLineEdit" name="lpfPassBandRippleEdit" />
            </item>
-           <item row="3" column="0">
-            <widget class="QLabel" name="lpfPassBandRippleLabel">
-             <property name="text">
+           <item row="3" column="0" >
+            <widget class="QLabel" name="lpfPassBandRippleLabel" >
+             <property name="text" >
               <string>Pass Band Ripple (dB)</string>
              </property>
             </widget>
            </item>
           </layout>
          </widget>
-         <widget class="QWidget" name="firbpfPage">
-          <layout class="QFormLayout" name="formLayout_2">
-           <item row="0" column="0">
-            <widget class="QLabel" name="startofBpfPassBandLabel">
-             <property name="text">
+         <widget class="QWidget" name="firbpfPage" >
+          <layout class="QFormLayout" name="formLayout_2" >
+           <item row="0" column="0" >
+            <widget class="QLabel" name="startofBpfPassBandLabel" >
+             <property name="text" >
               <string>Start of Pass Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="0" column="1">
-            <widget class="QLineEdit" name="startofBpfPassBandEdit"/>
+           <item row="0" column="1" >
+            <widget class="QLineEdit" name="startofBpfPassBandEdit" />
            </item>
-           <item row="1" column="0">
-            <widget class="QLabel" name="endofBpfPassBandLabel">
-             <property name="text">
+           <item row="1" column="0" >
+            <widget class="QLabel" name="endofBpfPassBandLabel" >
+             <property name="text" >
               <string>End of Pass Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="1" column="1">
-            <widget class="QLineEdit" name="endofBpfPassBandEdit"/>
+           <item row="1" column="1" >
+            <widget class="QLineEdit" name="endofBpfPassBandEdit" />
            </item>
-           <item row="3" column="1">
-            <widget class="QLineEdit" name="bpfStopBandAttenEdit"/>
+           <item row="3" column="1" >
+            <widget class="QLineEdit" name="bpfStopBandAttenEdit" />
            </item>
-           <item row="3" column="0">
-            <widget class="QLabel" name="bpfStopBandAttenLabel">
-             <property name="text">
+           <item row="3" column="0" >
+            <widget class="QLabel" name="bpfStopBandAttenLabel" >
+             <property name="text" >
               <string>Stop Band Attenuation (dB)</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="0">
-            <widget class="QLabel" name="bpfTransitionLabel">
-             <property name="text">
+           <item row="2" column="0" >
+            <widget class="QLabel" name="bpfTransitionLabel" >
+             <property name="text" >
               <string>Transition Width (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="1">
-            <widget class="QLineEdit" name="bpfTransitionEdit"/>
+           <item row="2" column="1" >
+            <widget class="QLineEdit" name="bpfTransitionEdit" />
            </item>
-           <item row="4" column="1">
-            <widget class="QLineEdit" name="bpfPassBandRippleEdit"/>
+           <item row="4" column="1" >
+            <widget class="QLineEdit" name="bpfPassBandRippleEdit" />
            </item>
-           <item row="4" column="0">
-            <widget class="QLabel" name="bpfPassBandRippleLabel">
-             <property name="text">
+           <item row="4" column="0" >
+            <widget class="QLabel" name="bpfPassBandRippleLabel" >
+             <property name="text" >
               <string>Pass Band Ripple (dB)</string>
              </property>
             </widget>
            </item>
           </layout>
          </widget>
-         <widget class="QWidget" name="firbnfPage">
-          <layout class="QFormLayout" name="formLayout_5">
-           <item row="0" column="0">
-            <widget class="QLabel" name="startofBnfStopBandLabel">
-             <property name="text">
+         <widget class="QWidget" name="firbnfPage" >
+          <layout class="QFormLayout" name="formLayout_5" >
+           <item row="0" column="0" >
+            <widget class="QLabel" name="startofBnfStopBandLabel" >
+             <property name="text" >
               <string>Start of Stop Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="0" column="1">
-            <widget class="QLineEdit" name="startofBnfStopBandEdit"/>
+           <item row="0" column="1" >
+            <widget class="QLineEdit" name="startofBnfStopBandEdit" />
            </item>
-           <item row="1" column="1">
-            <widget class="QLineEdit" name="endofBnfStopBandEdit"/>
+           <item row="1" column="1" >
+            <widget class="QLineEdit" name="endofBnfStopBandEdit" />
            </item>
-           <item row="2" column="1">
-            <widget class="QLineEdit" name="bnfTransitionEdit"/>
+           <item row="2" column="1" >
+            <widget class="QLineEdit" name="bnfTransitionEdit" />
            </item>
-           <item row="3" column="1">
-            <widget class="QLineEdit" name="bnfStopBandAttenEdit"/>
+           <item row="3" column="1" >
+            <widget class="QLineEdit" name="bnfStopBandAttenEdit" />
            </item>
-           <item row="1" column="0">
-            <widget class="QLabel" name="endofBnfStopBandLabel">
-             <property name="text">
+           <item row="1" column="0" >
+            <widget class="QLabel" name="endofBnfStopBandLabel" >
+             <property name="text" >
               <string>End of Stop Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="0">
-            <widget class="QLabel" name="bnfTransitionLabel">
-             <property name="text">
+           <item row="2" column="0" >
+            <widget class="QLabel" name="bnfTransitionLabel" >
+             <property name="text" >
               <string>Transition Width (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="3" column="0">
-            <widget class="QLabel" name="bnfStopBandAttenLabel">
-             <property name="text">
+           <item row="3" column="0" >
+            <widget class="QLabel" name="bnfStopBandAttenLabel" >
+             <property name="text" >
               <string>Stop Band Attenuation (dB)</string>
              </property>
             </widget>
            </item>
+           <item row="4" column="1" >
+            <widget class="QLineEdit" name="bnfPassBandRippleEdit" />
+           </item>
+           <item row="4" column="0" >
+            <widget class="QLabel" name="bnfPassBandRippleLabel" >
+             <property name="text" >
+              <string>Pass Band Ripple (dB)</string>
+             </property>
+            </widget>
+           </item>
           </layout>
          </widget>
-         <widget class="QWidget" name="firhpfPage">
-          <layout class="QFormLayout" name="formLayout_3">
-           <property name="fieldGrowthPolicy">
+         <widget class="QWidget" name="firhpfPage" >
+          <layout class="QFormLayout" name="formLayout_3" >
+           <property name="fieldGrowthPolicy" >
             <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
            </property>
-           <item row="0" column="0">
-            <widget class="QLabel" name="endofHpfStopBandLabel">
-             <property name="text">
+           <item row="0" column="0" >
+            <widget class="QLabel" name="endofHpfStopBandLabel" >
+             <property name="text" >
               <string>End of Stop Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="0" column="1">
-            <widget class="QLineEdit" name="endofHpfStopBandEdit"/>
+           <item row="0" column="1" >
+            <widget class="QLineEdit" name="endofHpfStopBandEdit" />
            </item>
-           <item row="1" column="0">
-            <widget class="QLabel" name="startofHpfPassBandLabel">
-             <property name="text">
+           <item row="1" column="0" >
+            <widget class="QLabel" name="startofHpfPassBandLabel" >
+             <property name="text" >
               <string>Start of Pass Band (Hz)</string>
              </property>
             </widget>
            </item>
-           <item row="1" column="1">
-            <widget class="QLineEdit" name="startofHpfPassBandEdit"/>
+           <item row="1" column="1" >
+            <widget class="QLineEdit" name="startofHpfPassBandEdit" />
            </item>
-           <item row="2" column="0">
-            <widget class="QLabel" name="hpfStopBandAttenLabel">
-             <property name="text">
+           <item row="2" column="0" >
+            <widget class="QLabel" name="hpfStopBandAttenLabel" >
+             <property name="text" >
               <string>Stop Band Attenuation (dB)</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="1">
-            <widget class="QLineEdit" name="hpfStopBandAttenEdit"/>
+           <item row="2" column="1" >
+            <widget class="QLineEdit" name="hpfStopBandAttenEdit" />
            </item>
-           <item row="3" column="0">
-            <widget class="QLabel" name="hpfPassBandRippleLabel">
-             <property name="text">
+           <item row="3" column="0" >
+            <widget class="QLabel" name="hpfPassBandRippleLabel" >
+             <property name="text" >
               <string>Pass Band Ripple (dB)</string>
              </property>
             </widget>
            </item>
-           <item row="3" column="1">
-            <widget class="QLineEdit" name="hpfPassBandRippleEdit"/>
+           <item row="3" column="1" >
+            <widget class="QLineEdit" name="hpfPassBandRippleEdit" />
            </item>
           </layout>
          </widget>
-         <widget class="QWidget" name="rrcPage">
-          <layout class="QFormLayout" name="formLayout_6">
-           <item row="0" column="0">
-            <widget class="QLabel" name="rrcSymbolRateLabel">
-             <property name="text">
+         <widget class="QWidget" name="rrcPage" >
+          <layout class="QFormLayout" name="formLayout_6" >
+           <item row="0" column="0" >
+            <widget class="QLabel" name="rrcSymbolRateLabel" >
+             <property name="text" >
               <string>Symbol Rate (sps)</string>
              </property>
             </widget>
            </item>
-           <item row="1" column="0">
-            <widget class="QLabel" name="rrcAlphaLabel">
-             <property name="text">
+           <item row="1" column="0" >
+            <widget class="QLabel" name="rrcAlphaLabel" >
+             <property name="text" >
               <string>Roll-off Factor</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="0">
-            <widget class="QLabel" name="rrcNumTapsLabel">
-             <property name="text">
+           <item row="2" column="0" >
+            <widget class="QLabel" name="rrcNumTapsLabel" >
+             <property name="text" >
               <string>Number of Taps</string>
              </property>
             </widget>
            </item>
-           <item row="0" column="1">
-            <widget class="QLineEdit" name="rrcSymbolRateEdit"/>
+           <item row="0" column="1" >
+            <widget class="QLineEdit" name="rrcSymbolRateEdit" />
            </item>
-           <item row="1" column="1">
-            <widget class="QLineEdit" name="rrcAlphaEdit"/>
+           <item row="1" column="1" >
+            <widget class="QLineEdit" name="rrcAlphaEdit" />
            </item>
-           <item row="2" column="1">
-            <widget class="QLineEdit" name="rrcNumTapsEdit"/>
+           <item row="2" column="1" >
+            <widget class="QLineEdit" name="rrcNumTapsEdit" />
            </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">
+         <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 row="0" column="1" >
+            <widget class="QLineEdit" name="gausSymbolRateEdit" />
            </item>
-           <item row="1" column="0">
-            <widget class="QLabel" name="gausBTLabel">
-             <property name="text">
+           <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 row="1" column="1" >
+            <widget class="QLineEdit" name="gausBTEdit" />
            </item>
-           <item row="2" column="0">
-            <widget class="QLabel" name="gausNumTapsLabel">
-             <property name="text">
+           <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 row="2" column="1" >
+            <widget class="QLineEdit" name="gausNumTapsEdit" />
            </item>
           </layout>
          </widget>
         </widget>
        </item>
        <item>
-        <widget class="QGroupBox" name="sysParamsBox">
-         <property name="title">
+        <widget class="QGroupBox" name="sysParamsBox" >
+         <property name="title" >
           <string>System Parameters</string>
          </property>
-         <layout class="QFormLayout" name="formLayout_4">
-          <item row="1" column="1">
-           <widget class="QLineEdit" name="nfftEdit"/>
+         <layout class="QFormLayout" name="formLayout_4" >
+          <item row="1" column="1" >
+           <widget class="QLineEdit" name="nfftEdit" />
           </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="nfftLabel">
-            <property name="text">
+          <item row="1" column="0" >
+           <widget class="QLabel" name="nfftLabel" >
+            <property name="text" >
              <string>Num FFT points</string>
             </property>
            </widget>
         </widget>
        </item>
        <item>
-        <widget class="QPushButton" name="designButton">
-         <property name="minimumSize">
+        <widget class="QPushButton" name="designButton" >
+         <property name="minimumSize" >
           <size>
            <width>0</width>
            <height>0</height>
           </size>
          </property>
-         <property name="maximumSize">
+         <property name="maximumSize" >
           <size>
            <width>200</width>
            <height>16777215</height>
           </size>
          </property>
-         <property name="text">
+         <property name="text" >
           <string>Design</string>
          </property>
-         <property name="autoDefault">
+         <property name="autoDefault" >
           <bool>true</bool>
          </property>
-         <property name="default">
+         <property name="default" >
           <bool>true</bool>
          </property>
         </widget>
       </layout>
      </widget>
     </item>
-    <item row="1" column="1">
-     <widget class="QTabWidget" name="tabGroup">
-      <property name="minimumSize">
+    <item row="1" column="1" >
+     <widget class="QTabWidget" name="tabGroup" >
+      <property name="minimumSize" >
        <size>
         <width>800</width>
         <height>0</height>
        </size>
       </property>
-      <property name="currentIndex">
+      <property name="currentIndex" >
        <number>0</number>
       </property>
-      <widget class="QWidget" name="freqTab">
-       <attribute name="title">
+      <widget class="QWidget" name="freqTab" >
+       <attribute name="title" >
         <string>Frequency Domain</string>
        </attribute>
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <layout class="QHBoxLayout" name="horizontalLayout_2" >
         <item>
-         <widget class="QwtPlot" name="freqPlot"/>
+         <widget class="QwtPlot" name="freqPlot" />
         </item>
        </layout>
       </widget>
-      <widget class="QWidget" name="timeTab">
-       <attribute name="title">
+      <widget class="QWidget" name="timeTab" >
+       <attribute name="title" >
         <string>Time Domain</string>
        </attribute>
-       <layout class="QHBoxLayout" name="horizontalLayout">
+       <layout class="QHBoxLayout" name="horizontalLayout" >
         <item>
-         <widget class="QwtPlot" name="timePlot"/>
+         <widget class="QwtPlot" name="timePlot" />
         </item>
        </layout>
       </widget>
-      <widget class="QWidget" name="phaseTab">
-       <attribute name="title">
+      <widget class="QWidget" name="phaseTab" >
+       <attribute name="title" >
         <string>Phase</string>
        </attribute>
-       <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <layout class="QHBoxLayout" name="horizontalLayout_3" >
         <item>
-         <widget class="QwtPlot" name="phasePlot"/>
+         <widget class="QwtPlot" name="phasePlot" />
         </item>
        </layout>
       </widget>
-      <widget class="QWidget" name="groupTab">
-       <attribute name="title">
+      <widget class="QWidget" name="groupTab" >
+       <attribute name="title" >
         <string>Group Delay</string>
        </attribute>
-       <layout class="QHBoxLayout" name="horizontalLayout_4">
+       <layout class="QHBoxLayout" name="horizontalLayout_4" >
         <item>
-         <widget class="QwtPlot" name="groupPlot"/>
+         <widget class="QwtPlot" name="groupPlot" />
         </item>
        </layout>
       </widget>
     </item>
    </layout>
   </widget>
-  <widget class="QMenuBar" name="menubar">
-   <property name="geometry">
+  <widget class="QMenuBar" name="menubar" >
+   <property name="geometry" >
     <rect>
      <x>0</x>
      <y>0</y>
      <width>1124</width>
-     <height>25</height>
+     <height>24</height>
     </rect>
    </property>
-   <widget class="QMenu" name="menu_File">
-    <property name="title">
+   <widget class="QMenu" name="menu_File" >
+    <property name="title" >
      <string>&amp;File</string>
     </property>
-    <addaction name="action_exit"/>
+    <addaction name="action_exit" />
    </widget>
-   <addaction name="menu_File"/>
+   <addaction name="menu_File" />
   </widget>
-  <widget class="QStatusBar" name="statusbar"/>
-  <action name="action_open">
-   <property name="text">
+  <widget class="QStatusBar" name="statusbar" />
+  <action name="action_open" >
+   <property name="text" >
     <string>&amp;Open</string>
    </property>
-   <property name="shortcut">
+   <property name="shortcut" >
     <string>Ctrl+O</string>
    </property>
   </action>
-  <action name="action_exit">
-   <property name="text">
+  <action name="action_exit" >
+   <property name="text" >
     <string>E&amp;xit</string>
    </property>
   </action>
    <receiver>MainWindow</receiver>
    <slot>close()</slot>
    <hints>
-    <hint type="sourcelabel">
+    <hint type="sourcelabel" >
      <x>-1</x>
      <y>-1</y>
     </hint>
-    <hint type="destinationlabel">
+    <hint type="destinationlabel" >
      <x>399</x>
      <y>347</y>
     </hint>