def parameters(Fp2, Fp1, df, d, Fs): ap1, ap2, as1, as2 = f_Omega(Fp1, Fp2, df, Fs) ao, B, alp, als = Omega_blp(ap1, ap2, as1, as2) # Low Pass Chebyshev filter parameters D1 = (1 / (1 - d)**2) - 1 D2 = (1 / (d**2)) - 1 cn = np.cosh(4 * np.arccosh(als)) R1 = np.sqrt(D2) / cn #Min Range R2 = np.sqrt(D1) #Max Range N = int(math.ceil((np.arccosh(np.sqrt(D2 / D1))) / np.arccosh(als))) return N, R1, R2, alp
from Gen_LPF_Coeff import filt_design #Passband Cutoffs Fp2 = 6.0 Fp1 = 7.2 #Transition Band df = 0.3 #Passband && stopband tolerance d = 0.15 #sampling rate Fs = 48 ap1, ap2, as1, as2 = f_Omega(Fp1, Fp2, df, Fs) ao, B, alp, als = Omega_blp(ap1, ap2, as1, as2) N = 4 e = 0.6197 #coefficients of numerator and denominator polynomials of LPF filter b, a = filt_design(N, e, alp) b = np.array(b) a = np.array(a) a1 = 0 for i in range(N + 1): coeff = a[i] * (B**i) * (np.poly1d([1, 0]))**(i) poly_denom = (np.poly1d([1, 0, ao**2]))**(N - i)