/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
spørgsmål om filter design og implementati~
Fra : Joe


Dato : 01-06-10 22:09

Jeg vil gerne implementere et digitalt lavpas-filter (fixed-point
implementation).

Kravene til filtret er:

Pasbånd: 0-3700Hz
Max ripple i pasbånd: 1.5dB
Stopbånd starter ved: 4000Hz
Dæmpning i stopbånd: minimum 40dB
Samplefrekvens: 16000Hz

Jeg har prøvet forskellige filterdesigns i matlab og såvidt jeg kan se
er den "billigste" implementation en kaskadekobling bestående af
3 stk. 2. ordens elliptiske IIR filtre.

Prisen er ifølge MATLAB:

Number of Multipliers : 15
Number of Adders : 12
Number of States : 6
Multiplications per Input Sample : 15
Additions per Input Sample : 12


Nogen her i gruppen som har et bedre forslag?

Filtret skal implementeres i ANSI C. Implementationen skal være
platform-uafhængig.












 
 
Bertel Brander (02-06-2010)
Kommentar
Fra : Bertel Brander


Dato : 02-06-10 23:58

Joe skrev:
> Jeg vil gerne implementere et digitalt lavpas-filter (fixed-point
> implementation).
>
> Kravene til filtret er:
>
> Pasbånd: 0-3700Hz
> Max ripple i pasbånd: 1.5dB
> Stopbånd starter ved: 4000Hz
> Dæmpning i stopbånd: minimum 40dB
> Samplefrekvens: 16000Hz
>
> Jeg har prøvet forskellige filterdesigns i matlab og såvidt jeg kan se
> er den "billigste" implementation en kaskadekobling bestående af
> 3 stk. 2. ordens elliptiske IIR filtre.
>
> Prisen er ifølge MATLAB:
>
> Number of Multipliers : 15
> Number of Adders : 12
> Number of States : 6
> Multiplications per Input Sample : 15
> Additions per Input Sample : 12
>
>
> Nogen her i gruppen som har et bedre forslag?

Jeg er ikke den store ekspert i filtre, men det er mit indtryk
at man oftere bruger FIR filtre, da de normalt giver mindre
problemer med ustabilitet.

> Filtret skal implementeres i ANSI C. Implementationen skal være
> platform-uafhængig.

Der findes ikke noget der er absolut "platform-uafhængigt" du
vil aldrig kunne lave et program der gør noget som helst fornuftigt
der er garanteret at opføre sig fuldstændig ens, uanset platform.

Men du kan naturligvis gøre en række ting for at gøre din
implementation mere platform-uafhængig. F.eks. undlade at forvente
nogen bestemt størrelse på int, lad være med at forudsætte ting
som endianess, og lad være med at tro at en double opfører sig
ens på alle platforme.

Søg
Reklame
Statistik
Spørgsmål : 177415
Tips : 31962
Nyheder : 719565
Indlæg : 6407849
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste