Chiusa. Questa domanda è fuori tema . Attualmente non accetta risposte.

Commenti

  • Quale software utilizzi? O hai bisogno di farlo a mano? Nota che le tue specifiche sono molto generali e per questo motivo sono possibili molti metodi.
  • usando matlab ma non solo in funzioni
  • Quindi non puoi usare nessuna funzione del Signal Processing Toolbox?
  • No, non posso utilizzare nessuna delle funzioni della casella degli strumenti di elaborazione del segnale.

Risposta

Il tuo filtro è altamente sotto-specificato, quindi presumo che il tuo design dovrebbe essere molto semplice. Un metodo molto semplice sarebbe semplicemente troncare e spostare la risposta allimpulso di un filtro passa basso ideale con frequenza di taglio $ \ omega_c = 2 \ pi f_c / f_s = 0.4 \ pi $ (dove $ f_s $ è la frequenza di campionamento):

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

Nota che poiché il tuo filtro deve essere causale bisogno di spostare e troncare la risposta allimpulso ideale in modo che sia simmetrica rispetto al suo massimo:

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

Lequazione (1) fornisce i 21 coefficienti di filtro $ h (n) $ di un filtro FIR causale che approssima una risposta ideale del filtro passa-basso. Nota che lordine del filtro è 20.

Un semplice codice Matlab / Octave potrebbe essere simile a questo:

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 

Commenti

  • @farhan: ' sei il benvenuto! Se ritieni che la tua domanda abbia ricevuto una risposta soddisfacente, puoi accettarla premendo il pulsante ' accept ' accanto alla risposta.
  • ci sono opzioni di attivo e meno recente nessuna opzione di accettare dove
  • puoi aiutarmi se volessi disegnare un filtro usando una finestra rettangolare?
  • @farhan : Cè ' un segno di spunta in alto a sinistra della risposta. Che cosa intendi esattamente con " disegnare un filtro utilizzando la finestra rettangolare "? Creare un grafico della sua risposta in frequenza?
  • Sì, voglio davvero quel codice

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *