<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Stängd. Denna fråga är utanför ämnet . För närvarande accepteras inte svar.

Kommentarer

  • Vilken programvara använder du? Eller behöver du göra detta för hand? Observera att dina specifikationer är väldigt generella och av den anledningen är många metoder möjliga.
  • använder matlab men inte men i funktioner
  • Så du kan inte använda några funktioner i Signal Processing Toolbox?
  • Nej, jag kan inte använda någon av funktionerna från verktygslådan för signalbehandling.

Svar

Ditt filter är mycket underspecificerat, så jag antar att din design ska vara väldigt grundläggande. En mycket grundläggande metod skulle vara att helt enkelt trunka och förskjuta impulsresponsen för ett idealiskt lågpassfilter med avstängningsfrekvens $ \ omega_c = 2 \ pi f_c / f_s = 0.4 \ pi $ (där $ f_s $ är samplingsfrekvensen): / p>

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

Observera att eftersom ditt filter måste vara kausalt måste flytta och trunka det ideala impulssvaret så att det är symmetriskt med avseende på dess maximala:

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

Ekvation (1) ger dig de 21 filterkoefficienterna $ h (n) $ av ett kausalt FIR-filter som approximerar ett idealt lågpassfiltersvar. Observera att filterordningen är 20.

En enkel Matlab / Octave-kod kan se ut så här:

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 

Kommentarer

  • @farhan: Du ' är välkommen! Om du tycker att din fråga har besvarats tillfredsställande kan du acceptera den genom att trycka på ' acceptera ' bredvid svaret.
  • det finns alternativ för aktiva och äldsta inget alternativ att acceptera någon där
  • kan du hjälpa mig om jag ville rita ett filter med rektangulärt fönster?
  • @farhan : Det finns ' en bockmarkering längst upp till vänster om svaret. Vad menar du exakt med " rita ett filter med rektangulärt fönster "? Göra en plot av dess frekvenssvar?
  • Ja, jag vill verkligen ha den koden

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *