Clôturé. Cette question est hors sujet . Il naccepte pas les réponses actuellement.

Commentaires

  • Quel logiciel utilisez-vous? Ou avez-vous besoin de le faire à la main? Notez que vos spécifications sont très générales et pour cette raison, de nombreuses méthodes sont possibles.
  • en utilisant matlab mais pas mais en fonctions
  • Vous ne pouvez donc pas utiliser les fonctions de la boîte à outils de traitement du signal?
  • Non, je ne peux utiliser aucune des fonctions de la boîte à outils de traitement du signal.

Réponse

Votre filtre est très sous-spécifié, donc je suppose que votre conception est censée être très basique. Une méthode très basique consisterait simplement à tronquer et à décaler la réponse impulsionnelle dun filtre passe-bas idéal avec une fréquence de coupure $ \ omega_c = 2 \ pi f_c / f_s = 0.4 \ pi $ (où $ f_s $ est la fréquence déchantillonnage):

$$ h_ {ideal} (n) = \ frac {\ sin (\ omega_c n)} {\ pi n} $$

Notez que puisque votre filtre doit être causal, vous besoin de décaler et de tronquer la réponse impulsionnelle idéale de telle sorte quelle soit symétrique par rapport à son maximum:

$$ h (n) = \ frac {\ sin (\ omega_c (n-10))} { \ pi (n-10)}, \ quad n = 0,1, \ ldots, 20 \ tag {1} $$

Léquation (1) vous donne les 21 coefficients de filtre $ h (n) $ dun filtre FIR causal se rapprochant dune réponse de filtre passe-bas idéale. Notez que lordre du filtre est 20.

Un simple code Matlab / Octave pourrait ressembler à ceci:

n = -10:10; omc = 0.4*pi; % normalized cut-off frequency in rad h = sin(omc*n)./(pi*n); % impulse response h(11) = omc/pi; % correct NaN value at n=0 H = fft(h,1024); % complex frequency response f = 1000/1024*(0:512); % FFT frequency grid up to fs/2 plot(f,abs(H(1:513))); % plot magnitude of frequency response 

Commentaires

  • @farhan: ' vous êtes les bienvenus! Si vous pensez que votre question a reçu une réponse satisfaisante, vous pouvez laccepter en cliquant sur le bouton ' accept ' à côté de la réponse.
  • il y a des options dactif et plus ancien aucune option daccepter nimporte où
  • pouvez-vous maider si je voulais dessiner un filtre en utilisant une fenêtre rectangulaire?
  • @farhan : Il y a ' une coche en haut à gauche de la réponse. Quentendez-vous exactement par " dessiner un filtre à laide dune fenêtre rectangulaire "? Faire un tracé de sa réponse en fréquence?
  • Oui, je veux vraiment ce code

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *