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))
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))
def test_isstable_2(self): # Test case for IIR filter fil = IIRDesign.butter(self.n, self.fc) self.assertTrue(FilterSpec.isstable(fil) == True)
def test_batter_16(self): # Test case for Exception 9 with self.assertRaises(ValueError): IIRDesign.butter(self.n, self.fc, ftype='bandpass')
def test_butter_15(self): # Test case for Exception 8 with self.assertRaises(ValueError): IIRDesign.butter(self.n, self.fc, ftype='stop')
def test_butter_14(self): # Test case for Exception 7 with self.assertRaises(ValueError): IIRDesign.butter(self.n2, self.fc2, ftype='high')
def test_butter_12(self): # Test case for Exception 5 with self.assertRaises(ValueError): IIRDesign.butter(self.n, 1.5)
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())
def test_butter_10(self): # Test case for Exception 3 with self.assertRaises(ValueError): IIRDesign.butter(self.n, self.fcs, zs='x')
def test_butter_8(self): # Test case for Exception 1 with self.assertRaises(ValueError): IIRDesign.butter(3.5, self.fc)
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)
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())
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())
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())
def test_isminphase_2(self): # Test case fil = IIRDesign.butter(self.n, self.fc) self.assertTrue(FilterSpec.isminphase(fil) == False)
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))
def test_butter_11(self): # Test case for Exception 4 with self.assertRaises(ValueError): IIRDesign.butter(self.n2, [0.75, 1.5])