Goodmorning, I need a variable frequency anti-alias filter for precision ADC (due I need different output sampling rates).
I need to provide signal path for my ADC so I need a model for my anti-alias filter.
Taking as reference MAX291/295 datasheet I can reproduce MAX 295 model with python:
A0 = 4.20769896658e+29*5.77290333605 zeros = [] poles = [] poles.append(-1225.78864486+6162.45566333j) poles.append(-1225.78864486-6162.45566333j) poles.append(-3490.75072522+5224.27765139j) poles.append(-3490.75072522-5224.27765139j) poles.append(-5224.27765139+3490.75072522j) poles.append(-5224.27765139-3490.75072522j) poles.append(-6162.45566333+1225.78864486j) poles.append(-6162.45566333-1225.78864486j) k = A0 z = zeros p = poles # passo da zpk a tf [b, a] = signal.zpk2tf(z, p, k) w, h = signal.freqs(b, a) # andamento ideale del filtro f = w/(2*np.pi) legenda = [] #amp_mio=20*np.log10(np.abs(h)) plt.title("MAX295, fclk=50kHz") plt.plot(f, 20 * np.log10(abs(h))) legenda.append("F=1kHz") plt.axhline(-3, linestyle='--', color='r') plt.ylim(-140,20) plt.grid() plt.legend(legenda) #plt.xlim(4,15) plt.xlim(0,5000) plt.xlabel("frequency [Hz]") #plt.xscale('log') plt.show()
I can't reproduce model of MAX291 due at 5 kHz (page 4, second graph) attenuation is lower than MAX295.
BTW, on that graph scale is wrong: Hz instead kHz.
How can I get model (paz) of MAX291?
Thanks.