コード例 #1
0
 def test_impz_4(self):
     # Test case for IIR filter with n
     fil = IIRDesign.butter(6, self.fc / (self.fs / 2))
     dl = signal.dlti(fil[0], fil[1], dt=1 / self.fs)
     i_d = signal.dimpulse(dl, n=self.n)
     T = i_d[0]
     yout = i_d[1][0]
     tt, y = FilterSpec.impz(fil, n=self.n, fs=self.fs)
     self.assertTrue(np.all(tt == T) and np.all(y == yout))
コード例 #2
0
 def test_grpdelay_2(self):
     # Test case for IIR filter
     fil = IIRDesign.butter(6, self.fc / (self.fs / 2))
     w, gd = FilterSpec.grpdelay(fil)
     ww, gdgd = signal.group_delay(fil, w=512, fs=2 * np.pi)
     self.assertTrue(np.all(w == ww) and np.all(gd == gdgd))
コード例 #3
0
 def test_isstable_2(self):
     # Test case for IIR filter
     fil = IIRDesign.butter(self.n, self.fc)
     self.assertTrue(FilterSpec.isstable(fil) == True)
コード例 #4
0
 def test_batter_16(self):
     # Test case for Exception 9
     with self.assertRaises(ValueError):
         IIRDesign.butter(self.n, self.fc, ftype='bandpass')
コード例 #5
0
 def test_butter_15(self):
     # Test case for Exception 8
     with self.assertRaises(ValueError):
         IIRDesign.butter(self.n, self.fc, ftype='stop')
コード例 #6
0
 def test_butter_14(self):
     # Test case for Exception 7
     with self.assertRaises(ValueError):
         IIRDesign.butter(self.n2, self.fc2, ftype='high')
コード例 #7
0
 def test_butter_12(self):
     # Test case for Exception 5
     with self.assertRaises(ValueError):
         IIRDesign.butter(self.n, 1.5)
コード例 #8
0
 def test_butter_2(self):
     # Test case for lowpass filter without default
     IIR = IIRDesign.butter(self.n, self.fc, ftype='low')
     iir = signal.butter(self.n, self.fc, fs=2)
     self.assertTrue((IIR[0] == iir[0]).all() and (IIR[1] == iir[1]).all())
コード例 #9
0
 def test_butter_10(self):
     # Test case for Exception 3
     with self.assertRaises(ValueError):
         IIRDesign.butter(self.n, self.fcs, zs='x')
コード例 #10
0
 def test_butter_8(self):
     # Test case for Exception 1
     with self.assertRaises(ValueError):
         IIRDesign.butter(3.5, self.fc)
コード例 #11
0
 def test_butter_7(self):
     # Test case for analog filter
     IIR = IIRDesign.butter(self.n, self.fcs, zs='s')
     iir = signal.butter(self.n, self.fcs, analog=True)
     self.assertTrue((IIR[0] == iir[0]).all and (IIR[1] == iir[1]).all)
コード例 #12
0
 def test_butter_6(self):
     # Test case for bandstop filter
     IIR = IIRDesign.butter(self.n2, self.fc2, ftype='stop')
     iir = signal.butter(self.n2, self.fc2, btype='bandstop', fs=2)
     self.assertTrue((IIR[0] == iir[0]).all() and (IIR[1] == iir[1]).all())
コード例 #13
0
 def test_butter_5(self):
     # Test case for bandpass filter without default
     IIR = IIRDesign.butter(self.n2, self.fc2, ftype='bandpass')
     iir = signal.butter(self.n2, self.fc2, btype='bandpass', fs=2)
     self.assertTrue((IIR[0] == iir[0]).all() and (IIR[1] == iir[1]).all())
コード例 #14
0
 def test_butter_3(self):
     # Test case for highpass filter
     IIR = IIRDesign.butter(self.n, self.fc, ftype='high')
     iir = signal.butter(self.n, self.fc, btype='highpass', fs=2)
     self.assertTrue((IIR[0] == iir[0]).all() and (IIR[1] == iir[1]).all())
コード例 #15
0
 def test_isminphase_2(self):
     # Test case
     fil = IIRDesign.butter(self.n, self.fc)
     self.assertTrue(FilterSpec.isminphase(fil) == False)
コード例 #16
0
 def test_freqz_4(self):
     # Testcase for IIR filter
     fil = IIRDesign.butter(6, self.fc/(self.fs/2))
     w1, h1 = FilterSpec.freqz(fil)
     w2, h2 = signal.freqz(fil[0], fil[1], worN=512, fs=2*np.pi)
     self.assertTrue(np.all(w1 == w2) and np.all(h1 == h2))
コード例 #17
0
 def test_butter_11(self):
     # Test case for Exception 4
     with self.assertRaises(ValueError):
         IIRDesign.butter(self.n2, [0.75, 1.5])