|
| impulssvar Fra : Jakob nielsen |
Dato : 25-11-03 20:05 |
|
Jeg har et spørgsmål vedrørende min forståelse af begrebet "impulssvar" for
FIR-filtre.
Lille delta (herefter bare d) bruges til at udtrykke impulssvar i stil med
x[n]=2*d(n)+0.5*d(n-5)
Som jeg forstår ovenstående eksempel, så betyder det at hvis filtret får en
impuls som input, så giver den det svar. Input til filtret kan altså være
1,0,0,0,0,0,0,0,0,0,0,.....
Som er en impuls og derefter intet signal.
Svaret fra filtret vil her være
2,0,0,0,0,0.5,0,0,0,0,0
Er det korrekt forstået?
Tilsvarende vil et trepunkts midlingsfilter have impulssvaret
x[n]=0.33*d[n]+0.33*d[n-1]+0.33*d[n-2]
Eller hvorledes?
| |
Heureka (25-11-2003)
| Kommentar Fra : Heureka |
Dato : 25-11-03 23:18 |
|
Hej Jakob,
Det er korrekt at du får impulssvaret [2,0,0,0,0,0.5,0,0,0,0,0]. Det gælder
faktisk altid for FIR filter (eller moving average filtrer) dine
filterkoefficienter er dit impulsesvar. For et IIR (autoregressive filtrer)
som får tilført noget af udgangssignalet tilbage til indgangen er det noget
helt andet. Med IIR filtrer bliver impulseresponset derfor uendeligt langt
(såfremt din computer har uendelig præcision :) )
For at forstå dette skal du læse lidt om foldningsætningen (englesk:
convolution)!
Hvis du er bekendt med Matlab kan du prøve følgende:
B = fir1(10,0.2); % FIR filterkoefficienter
figure(1),impz(B,1);
figure(2),stem(B); title('Filterkoefficienter');
Skriv endelig hvis du har flere spørgsmål...
Held og Lykke
Thomas Stoltz
"Jakob nielsen" <jn@private.mail.dk> wrote in message
news:bq093u$18d1$1@news.cybercity.dk...
> Jeg har et spørgsmål vedrørende min forståelse af begrebet "impulssvar"
for
> FIR-filtre.
>
> Lille delta (herefter bare d) bruges til at udtrykke impulssvar i stil med
> x[n]=2*d(n)+0.5*d(n-5)
>
> Som jeg forstår ovenstående eksempel, så betyder det at hvis filtret får
en
> impuls som input, så giver den det svar. Input til filtret kan altså være
> 1,0,0,0,0,0,0,0,0,0,0,.....
> Som er en impuls og derefter intet signal.
> Svaret fra filtret vil her være
> 2,0,0,0,0,0.5,0,0,0,0,0
>
> Er det korrekt forstået?
>
> Tilsvarende vil et trepunkts midlingsfilter have impulssvaret
> x[n]=0.33*d[n]+0.33*d[n-1]+0.33*d[n-2]
>
> Eller hvorledes?
>
>
| |
Jakob Nielsen (01-12-2003)
| Kommentar Fra : Jakob Nielsen |
Dato : 01-12-03 07:42 |
|
> Det er korrekt at du får impulssvaret [2,0,0,0,0,0.5,0,0,0,0,0]. Det
gælder
> faktisk altid for FIR filter (eller moving average filtrer) dine
> filterkoefficienter er dit impulsesvar.
Det ser jeg nu. Takker for svaret. Beklager jeg ikke kunne svare noget før.
> Hvis du er bekendt med Matlab kan du prøve følgende:
>
> B = fir1(10,0.2); % FIR filterkoefficienter
> figure(1),impz(B,1);
> figure(2),stem(B); title('Filterkoefficienter');
Det dur nu ikke her. fir1og impz er ikke med i min matlab6. Måske pakker
andetsteds fra?
Har faktisk et spørgsmål mere. Poster det i ny tråd.
| |
|
|