Bonjour,
Dans le cadre de mon projet, je voudrais réaliser un filtrage numérique (RIF passe bande de frequence 38k 42k frequence d'echan 500000Hz) avec python (niveau beginners sur ce type de langage).
y une partie de code que j'ai trouvé sur internet pour faire le filtre, sauf que lorsque j'essaie de l'appliquer sur un signal sinus de freq 40k. l'erreur est surement très bête mais je n'arrive pas à la trouver.
Mais au final filtered 1 est un peu bizarre, hors il devrait etre le meme vu qu'il n'est pas bruité non ?Code:#definition de passe bande rif def bandpass_firwin(ntaps, lowcut, highcut, fs, window='hamming'): nyq = 0.5 * fs taps = firwin(ntaps, [lowcut, highcut], nyq=nyq, pass_zero=False, window=window, scale=False) return taps fs = 1/2e-6 lowcut = 38e3 highcut = 42e3 ntaps = 1000 taps_hamming = bandpass_firwin(ntaps, lowcut, highcut, fs=fs) #génération d'un sinus de freq 40k f=40e3 in_array = np.linspace(0,25e-6,1000) out_array = np.sin(2*f*np.pi*in_array) plot(in_array,out_array) #application du filtre sur le signal filtered1 = signal.convolve(out_array,taps_hamming,mode ='same') plt.plot(in_array,filtered1)
PS : je suis pratiquement sure du filtre rif
Si vous avez des idées qui pourraient me montrer ou est ma bétise je suis toute ouie
Merci
-----