Exemplo n.º 1
0
 def LPmin(self, fil_dict):
     self.get_params(fil_dict)
     (self.N, F, A, W) = pyfda_lib.remezord([self.F_PB, self.F_SB], [1, 0],
         [self.A_PB, self.A_SB], Hz = 1, alg = self.alg)
     fil_dict['F_C'] = (self.F_SB + self.F_PB)/2 # use average of calculated F_PB and F_SB
     self.save(fil_dict, sig.firwin(self.N, fil_dict['F_C'], 
                                    window = self.firWindow, nyq = 0.5))
Exemplo n.º 2
0
 def HPmin(self, fil_dict):
     self.get_params(fil_dict)
     (self.N, F, A, W) = pyfda_lib.remezord([self.F_SB, self.F_PB], [0, 1],
                                            [self.A_SB, self.A_PB],
                                            Hz=1,
                                            alg=self.alg)
     #        self.N = pyfda_lib.ceil_odd(N)  # enforce odd order
     fil_dict['W_SB'] = W[0]
     fil_dict['W_PB'] = W[1]
     if (self.N % 2 == 0):  # even order
         self.save(
             fil_dict,
             sig.remez(self.N,
                       F, [0, 1],
                       weight=W,
                       Hz=1,
                       type='hilbert',
                       grid_density=self.grid_density))
     else:
         self.save(
             fil_dict,
             sig.remez(self.N,
                       F, [0, 1],
                       weight=W,
                       Hz=1,
                       type='bandpass',
                       grid_density=self.grid_density))
Exemplo n.º 3
0
 def HPmin(self, fil_dict):
     self.get_params(fil_dict)
     (N, F, A, W) = pyfda_lib.remezord([self.F_SB, self.F_PB], [0, 1],
         [self.A_SB, self.A_PB], Hz = 1, alg = self.alg)
     fil_dict['F_C'] = (self.F_SB + self.F_PB)/2 # use average of calculated F_PB and F_SB
     self.N = pyfda_lib.round_odd(N)  # enforce odd order
     self.save(fil_dict, sig.firwin(self.N, fil_dict['F_C'], 
                 window = self.firWindow, pass_zero=False, nyq = 0.5))
Exemplo n.º 4
0
 def LPmin(self, fil_dict):
     self.get_params(fil_dict)
     (self.N, F, A, W) = pyfda_lib.remezord([self.F_PB, self.F_SB], [1, 0],
         [self.A_PB, self.A_SB], Hz = 1, alg = self.alg)
     fil_dict['W_PB'] = W[0]
     fil_dict['W_SB'] = W[1]
     self.save(fil_dict, sig.remez(self.N, F, [1, 0], weight = W, Hz = 1,
                     grid_density = self.grid_density))
Exemplo n.º 5
0
 def BPmin(self, fil_dict):
     self.get_params(fil_dict)
     (self.N, F, A, W) = pyfda_lib.remezord([self.F_SB, self.F_PB,
                             self.F_PB2, self.F_SB2], [0, 1, 0],
         [self.A_SB, self.A_PB, self.A_SB2], Hz = 1, alg = self.alg)
     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, sig.firwin(self.N, [fil_dict['F_C'], fil_dict['F_C2']],
                         window = self.firWindow, pass_zero=False, nyq = 0.5))
Exemplo n.º 6
0
 def BSmin(self, fil_dict):
     self.get_params(fil_dict)
     (N, F, A, W) = pyfda_lib.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], Hz = 1, alg = self.alg)
     self.N = pyfda_lib.round_odd(N)  # enforce odd order
     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, sig.firwin(self.N, [fil_dict['F_C'], fil_dict['F_C2']],
                         window = self.firWindow, pass_zero=True, nyq = 0.5))
Exemplo n.º 7
0
 def BSmin(self, fil_dict):
     self.get_params(fil_dict)
     (N, F, A, W) = pyfda_lib.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], Hz = 1, alg = self.alg)
     self.N = pyfda_lib.round_odd(N)  # enforce odd order
     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, Hz = 1,
                                   grid_density = self.grid_density))
Exemplo n.º 8
0
    def HPmin(self, fil_dict):
        self.get_params(fil_dict)
        (self.N, F, A, W) = pyfda_lib.remezord([self.F_SB, self.F_PB], [0, 1],
            [self.A_SB, self.A_PB], Hz = 1, alg = self.alg)
#        self.N = pyfda_lib.ceil_odd(N)  # enforce odd order
        fil_dict['W_SB'] = W[0]
        fil_dict['W_PB'] = W[1]
        if (self.N % 2 == 0): # even order
            self.save(fil_dict, sig.remez(self.N, F,[0, 1], weight = W, Hz = 1, 
                        type = 'hilbert', grid_density = self.grid_density))
        else:
            self.save(fil_dict, sig.remez(self.N, F,[0, 1], weight = W, Hz = 1, 
                        type = 'bandpass', grid_density = self.grid_density))
Exemplo n.º 9
0
 def LPmin(self, fil_dict):
     self.get_params(fil_dict)
     (self.N, F, A, W) = pyfda_lib.remezord([self.F_PB, self.F_SB], [1, 0],
                                            [self.A_PB, self.A_SB],
                                            Hz=1,
                                            alg=self.alg)
     fil_dict['W_PB'] = W[0]
     fil_dict['W_SB'] = W[1]
     self.save(
         fil_dict,
         sig.remez(self.N,
                   F, [1, 0],
                   weight=W,
                   Hz=1,
                   grid_density=self.grid_density))
Exemplo n.º 10
0
 def BSmin(self, fil_dict):
     self.get_params(fil_dict)
     (N, F, A, W) = pyfda_lib.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],
         Hz=1,
         alg=self.alg)
     self.N = pyfda_lib.round_odd(N)  # enforce odd order
     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,
                   Hz=1,
                   grid_density=self.grid_density))