Пример #1
0
 def BSman(self, fil_dict):
     self._get_params(fil_dict)
     if not self._test_N():
         return -1
     self.N = round_odd(self.N) # enforce odd order
     self._save(fil_dict, sig.remez(self.N,[0, self.F_PB, self.F_SB,
         self.F_SB2, self.F_PB2, 0.5],[1, 0, 1],
         weight = [fil_dict['W_PB'],fil_dict['W_SB'], fil_dict['W_PB2']],
         fs = 1, grid_density = self.grid_density))
Пример #2
0
 def BSman(self, fil_dict):
     self._get_params(fil_dict)
     self.N = round_odd(self.N)  # enforce odd order
     if not self._test_N():
         return -1
     self.fir_window = calc_window_function(self.win_dict, self.fir_window_name,
                                     N=self.N, sym=True)
     self._save(fil_dict, self.firwin(self.N, [fil_dict['F_C'], fil_dict['F_C2']],
                         window = self.fir_window, pass_zero=True, nyq = 0.5))
Пример #3
0
 def BSman(self, fil_dict):
     self._get_params(fil_dict)
     self.N = round_odd(self.N)  # enforce odd order
     if not self._test_N():
         return -1
     self._save(
         fil_dict,
         self.firwin(self.N, [fil_dict['F_C'], fil_dict['F_C2']],
                     window=self.qfft_win_select.get_window(self.N,
                                                            sym=True),
                     pass_zero=True,
                     nyq=0.5))
Пример #4
0
 def HPmin(self, fil_dict):
     self._get_params(fil_dict)
     N = self._firwin_ord([self.F_SB, self.F_PB], [0, 1],
                         [self.A_SB, self.A_PB], alg = self.alg)
     self.N = round_odd(N)  # enforce odd order
     if not self._test_N():
         return -1
     self.fir_window = calc_window_function(self.win_dict, self.fir_window_name,
                                     N=self.N, sym=True)
     fil_dict['F_C'] = (self.F_SB + self.F_PB)/2 # use average of calculated F_PB and F_SB
     self._save(fil_dict, self.firwin(self.N, fil_dict['F_C'], 
                 window = self.fir_window, pass_zero=False, nyq = 0.5))
Пример #5
0
 def BSmin(self, fil_dict):
     self._get_params(fil_dict)
     (N, F, A, W) = remezord([self.F_PB, self.F_SB,
                             self.F_SB2, self.F_PB2], [1, 0, 1],
         [self.A_PB, self.A_SB, self.A_PB2], fs = 1, alg = self.alg)
     self.N = round_odd(N)  # enforce odd order
     if not self._test_N():
         return -1
     fil_dict['W_PB']  = W[0]
     fil_dict['W_SB']  = W[1]
     fil_dict['W_PB2'] = W[2]
     self._save(fil_dict, sig.remez(self.N,F,[1, 0, 1], weight = W, fs = 1,
                                   grid_density = self.grid_density))
Пример #6
0
 def BSmin(self, fil_dict):
     self._get_params(fil_dict)
     N = remezord([self.F_PB, self.F_SB, self.F_SB2, self.F_PB2], [1, 0, 1],
         [self.A_PB, self.A_SB, self.A_PB2], fs = 1, alg = self.alg)[0]
     self.N = round_odd(N)  # enforce odd order
     if not self._test_N():
         return -1
     self.fir_window = calc_window_function(self.win_dict, self.fir_window_name,
                                     N=self.N, sym=True)
     fil_dict['F_C'] = (self.F_SB + self.F_PB)/2 # use average of calculated F_PB and F_SB
     fil_dict['F_C2'] = (self.F_SB2 + self.F_PB2)/2 # use average of calculated F_PB and F_SB
     self._save(fil_dict, self.firwin(self.N, [fil_dict['F_C'], fil_dict['F_C2']],
                         window = self.fir_window, pass_zero=True, nyq = 0.5))
Пример #7
0
 def HPmin(self, fil_dict):
     self._get_params(fil_dict)
     N = self._firwin_ord([self.F_SB, self.F_PB], [0, 1],
                          [self.A_SB, self.A_PB],
                          alg=self.alg)
     self.N = round_odd(N)  # enforce odd order
     if not self._test_N():
         return -1
     fil_dict['F_C'] = (self.F_SB +
                        self.F_PB) / 2  # average calculated F_PB and F_SB
     self._save(
         fil_dict,
         self.firwin(self.N,
                     fil_dict['F_C'],
                     pass_zero=False,
                     nyq=0.5,
                     window=self.qfft_win_select.get_window(self.N,
                                                            sym=True)))
Пример #8
0
 def BSmin(self, fil_dict):
     self._get_params(fil_dict)
     N = remezord([self.F_PB, self.F_SB, self.F_SB2, self.F_PB2], [1, 0, 1],
                  [self.A_PB, self.A_SB, self.A_PB2],
                  fs=1,
                  alg=self.alg)[0]
     self.N = round_odd(N)  # enforce odd order
     if not self._test_N():
         return -1
     fil_dict['F_C'] = (self.F_SB +
                        self.F_PB) / 2  # average calculated F_PB and F_SB
     fil_dict['F_C2'] = (self.F_SB2 + self.F_PB2) / 2
     self._save(
         fil_dict,
         self.firwin(self.N, [fil_dict['F_C'], fil_dict['F_C2']],
                     window=self.qfft_win_select.get_window(self.N,
                                                            sym=True),
                     pass_zero=True,
                     nyq=0.5))