Sida 1 av 1
Hjälp med anti-vikningsfilter
Postat: 27 juli 2006, 12:18:06
av Hillman
Jag behöver ett anti-vikningsfilter till en A/D som ska köras i 10 megasampel. Jag hade tänkt mig fc = 3MHz och fs = 5MHz.
Jag har testat lite med Linear Technologys program FilterCAD och valde en dämpning på 0.1dB och 55dB och fick då följande filter som jag tyckte verkade lämpligt:
Filter: Elliptiskt
Ordning: 6
Fo: 1,7358. 2,6351. 3,1539
Q: 0,6111. 1,532. 5,9894
Fn: 17,4662. 6,7082. 5,1408
Nu är jag bara osäker på hur filtret ska se ut (Sallen-key?) och hur man ska beräkna komponentvärdena.
Är dämpningen lagom vald?
Postat: 28 juli 2006, 22:38:47
av babbage
Sallen key är ett andra ordningens filter så du måste kaskadkoppla tre stycken.
Wikipedia har en bild på ett Sallen Key och några ekvationer.
Läs värdena du fått från FilterCAD (jag har inte använt filterCAD så nu gissar jag en hel del, det borde finnas info medföljande programvaran) kolumnvis där kolumn 1 är filtersteg1, kolumn 2 är filtersteg2 osv.
Rad1 kanske motsvarar Fc i wikipedias formel, Rad2 Q och Rad3 frekvensen där dämpningen är 55 dB. Det verkar logisk eftersom ett litet Q (kolumn 1) ger en stor skillnad på Fo och Fn medans ett stort Q (kolumn3) ger en liten skillnad.
Ett tips kan vara att låta R1=R2.
Edit: Länken till wikipedia-sidan:
http://en.wikipedia.org/wiki/Sallen_Key_filter
Postat: 29 juli 2006, 17:40:10
av $tiff
Inte för att jag har jättebra koll, men ett Sallen Key är väl inte ett elliptiskt filter, som Hillman önskade från början?
Eller handlar det bara om vilken ordning och avstämning på polerna man väljer?
Postat: 29 juli 2006, 23:40:11
av babbage
Kanske ett läge för Hillman att förtydliga frågan. Jag fick för mig att mjukvaran gav att det skulle vara av Sallen-Key typ.
Beroende på hur man väljer sina poler (även nollställen för vissa typer) säger man väl att filtret är av en viss typ, t.ex. chebyshev, butterworth eller kanske elliptiskt. Sedan om man kan realisera ett elliptiskt filter med Sallen-Key vet jag faktiskt inte. Det kan vara så att man inte har friheten att placera polerna (nollställen) som det behövs. Det måste väl finnas någon filter-guru här på forumet som kan bringa lite klarhet.
Postat: 31 juli 2006, 12:32:24
av Hillman
Jag kanske var otydlig men jag undrade om det gick att bygga ett elliptiskt filter med Sallen-key men ju mer jag tittar på det desto mindre tror jag på det. Jag testade att ta fram ett filter enligt de värden jag har fått och formlerna hos wikipedia men det blev inte alls bra. Jag körde en simulering i Pspice och fick då en ordentlig peak vid 580kHz och fc på 860kHz.
Hittade den här kopplijngen på ett elliptiskt filter men den avslöjar ju tyvärr inte hur man beräknar komponenterna.
http://icosym.cvut.cz/dyn/examples/exam ... /cauerarc/
Testade också ett annat program som gav följande överföringsfunktioner med samma indata och samma utparametrar och de matchar inte heller de som ett Sallen-key filter ger.
S^2 + (1.20435900E+16)
H1(s) = Holp1 X ------------------------
S^2 + (1.78471198E+07)S + (1.18947250E+14)
S^2 + (1.77652879E+15)
H2(s) = Holp2 X ------------------------
S^2 + (1.08073449E+07)S + (2.74119306E+14)
S^2 + (1.04334455E+15)
H3(s) = Holp3 X ------------------------
S^2 + (3.30857742E+06)S + (3.92684059E+14)
Where Holp = lowpass gain at DC
Postat: 31 juli 2006, 15:02:53
av babbage
Du är alltså ute efter någon koppling som kan realisera elliptiska filter.
Testa den
här googlesökningen, eller kanske den
här.
Postat: 31 juli 2006, 19:34:41
av pagge
Tänk på att opampen måste vara sjukt snabb för att fungera som op-amp vid 5MHz. Du bör säkert ha minst en faktor 10 feedback för att filtret skall fungera någorlunda som du tänkt dig, vilket innebär att din op måste ha bandbredd på minst 50Mhz. Detta är ett minimum om du använder vanliga filterformler då dessa alltid räknar med ideal opamp, dvs förstärkning = hög vid tilltänkta frekvenser. Jag tror det är detta som ger dig problem.
Hej
Postat: 1 februari 2008, 14:32:39
av jenslager
Sitter och grunnar på filter. Har du hittat någon vettig handledning till programmet? MVH Jens
Postat: 1 februari 2008, 14:39:30
av blueint
@Hillman:
Vad slags objekt är det som ska mätas som gör att du behöver detta filter?
svar om användningsområde
Postat: 1 februari 2008, 20:57:10
av jenslager
Samplar med ungefär 2KHZ med en ATmega16L. insignalen kommer från en trådtöjningsgivare som är uppkopplad i en wheatsonebrygga. Uppgiften är en del av mitt examensarbete. Skall mäta töjningar på ekrarna i ett hjul. Vill använda filtret som ett antivikningsfilter enligt nyqvist teoremet.
MVH Jens
Postat: 2 februari 2008, 04:10:24
av xxargs
Håller med pagge - kraven på OP-ampar kommer att bli sinnessjuka med snuskigt hög gain*BW-produkt, krav låg utimpedans, mycket hög inimpedans samt mycket liten ingångskapacitans. - parametar som man iofs. kan hitta - men sällan samtidigt i samma krets...
Själv skulle jag nog överväga en passiv lösning med bufferkretsar före och efter även om komponentvärdena blir knepiga även där...
Du kan inte lösa chebyshev II och cauer-filter med Sallen-Key topologi då du måste ha nollställen i komplexa planet.
Olika filterkopplingstopologier (sallen-key mfl.) ställer också olika krav på själva OP:amparna i avseende gain (en del koppel arbetar med unitgain), snabbhet avseende spänning och strömförmåga - ibland får man gå till ström-mode (arbeta med strömmar istället för spänning) om det skall gå riktigt snabbt - likadant om du skall ha höga Q-värden för rimliga matningsspänningar.
Att studera in det här och optimera precis efter sina behov kan vara månaders jobb, om du inte stjäl en redan befintligt konstruktion/chiplösning ...
Att dessutom arbeta med cauer(=elliptiska)-kopplingar gör att man får ganska häftig grupplöptidstistorsion (prova att stoppa in en fyrkanpuls i din simulering så förstår du snart vad jag menar - för sjätte ordningens cauer, 0.1 dB rippel i passbandet, 55 dB dämpning vid 5 MHz, i området 1-3 MHz så kommer groupdelayen gå från 200 ns till nära 1 us med ganska mycket ringning på den tidskontinuerliga signalen som följd) - vilket kanske innebär att antingen i fysiska filtret eller databehandlingsmässigt måste stoppa in allpassfilter (FIR-filter oftast) för att korrigera fasgången till användbar nivå, allt beroende på vilka krav du har på att känna igen dina pulsformer i tidsdomänen...
Själv skulle jag nog fundera på 7-ordningens Chebyshev II (sk invers chebyshev där ripplet kommer i spärrbandet istället och därmed också fasgånsdistorsionen) och ett eller två steg allpassfilter efter hellre än 6-ordningen cauer då man måste ha hela 4-6 steg allpassfilter efter för ungefär samma impulsrespons - det blir en jäkla massa OP-ampar hur man än gör...
Det fins orsaker till att man översamplar så inihelsike och reducerar datat digitalt i efterhand mha FPGA och specialkretsar, just för att kunna använda sig av analog Bessel/buttheworthfilter av rimlig ordning och behålla fasgången hyffsat intakt.
---
En gammal bok (1986) som jag har/hade som referens och övh. upptog begreppet allpassfilter (vilket är övehoppat i 90% av alla sk. filterböcker) är 'Elektriska filter, Lars Wanhammar, Björn Sikström' ISBN 91-40-20536-3
Där upptas också ett antal olika OP-amp filtertopologier och dess krav i gain, spänning och strömförmåga samt komponentkänslighet - vilket _är_ skitgrinigt i filtersammanhang, så designa alltid in dubbla komponentpads för dina motstånd och kondingar i din kretskortlayoyt för dina filterkopplingar.
Program:
Filtes solution från Nuherz - finns en demoverion upp till 3' ordningen (tror jag) - fullversion får man leta på annat håll eller betala för sig. Den ger även kretsförslag mha. olika OP-amp-topologier med värden samt även stoppa in allpassfilter passande filterfunktionen (delay equlization) - kan även simulera icke perfekta OP-ampar genom att ange gain*BW-produkt, utimpedans, inimpedans och inkapacitans - och det blir inga roliga resultat alls av sina 'fina' filter när detta är påslaget kan jag meddela...
Flertalet moderna spice-simulatorer har numera en filterdesignavdelning, likaså RF-simulatorer - det svåra inträder när man byter ut de ideala modellerna på OP-ampar, motstånd, kondingar och drosslar till verkliga tillgängliga dito - samt få bort dom hysteriska värdena på säg 273 fF och 0.23 nH som det väldigt lätt gärna blir i sådana här designprogram med resultatet att man inte kan använda 10k som standardmotstånd i sin OP-ampkoppel utan 1k med medföljade större drivproblem för OP-amparna etc. etc. etc.
Det är alltså väldigt viktigt att simulera med så verkliga modeller du kan på komponenterna som är tillgängliga för att se om det är övh. lönt att bygga fysiskt på kretskort - räkna med att spendera åtskilliga dagar, kanske veckor åt 'skitgrejen' antialisingfilter.... eller så får du lätta på kraven en del alternativ sampla ett antal ggr fortare än 10 Ms och reducera datat i efterhand..
Lycka till.