Générer un filtre

Fermé
Baboul_Mouridina Messages postés 30 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 1 janvier 2017 - 18 janv. 2015 à 13:47
Bonjour j'ai un souci avec les filtres. On me demande de créer un filtre F(f) selon les caractéristique suivantes:

-F(f) doit avoir la même taille que le signal y(t)(ou sa transformée de Fourier Y(f).
-lorsque l'amplitude maximale de la FFT est plus petite que (S x M) le filtre vaut 0, sinon vaut 1
NB= S est la valeur seuil de l'amplitude Maximal=10%
M est l'amplitude maximale de la transformée de Fourier
le code que j'ai écrit sur matlab du signa et sa transformée de Fourier et le suivant:


function TransformeedeFourier
f0=10; N=1000;
k=5; Tmax=k/f0; %k est le nombre de periodes
t=0:Tmax/N:Tmax-Tmax/N;
x=cos(2*pi*f0*t);
subplot(2,2,1:2);
plot(t,x); grid;
title('Signal cosinus');
xlabel('t(s)'); ylabel('Amplitude');
g=fft(x,N)/N;
subplot(223);
f=(-N/2:N/2-1)/k*f0;
stem(f,fftshift(abs(g)),'r');
axis([-2*f0,2*f0,-0.1,0.6]); grid;
title('Module de la Transformee de Fourrier');
xlabel('F(hz)'); ylabel('amplitude');

Svp est-ce que vous pouvez m'aider à créer ce filtre ?