Wimapon schreef:Ik heb geen controle over het absolute moment van sampelen.... de interne klok geeft dit aan... die lijkt me stabiel genoeg om alles goed
te laten verlopen.
Als je een oscillator of digitale multimeter tot je beschikking hebt, misschien gewoon het (intern) kloksignaal eens uitlezen? (als je hem kunt uitvoeren naar 1 van de pinnen). Anders kun je ook uit een door jouw aangelegd signaal met een bepaalde frequentie en de bekomen metingen de exacte frequentie afleiden. Bv door een saw aan te leggen en de helling van je metingen te bepalen. Dit laatste blijkt gewoonlijk nauwkeuriger te zijn dan de eerste methode en gemakkelijker te zijn dan de datasheet te gaan uitpluizen.
mcs51mc schreef:Over coefficienten gesproken, de twee tabellen rechts in de screenshots zijn de coefficienten berekent en gebruikt door LV.
Eigenaardig is wel dat ik 20 "Reverse" en 25 "Forward" coefficienten krijg voor een 10de orde filter ?!?
317070, heb jij hier een uitleg voor ??
Hoe ze bekomen worden en verder verwerkt worden weet ik niet want het zijn twee DLL calls, dus geen code zichtbaar
Dit is vreemd (ik zou zelfs denken foutief).
Normaal gezien bevat een filter met 20 polen ook 20 nullen. Iedere nul compenseert dan ook exact 1 pool, waardoor je op grote afstand van het filtergebied een amplitude 1 behoudt. Iedere pool zorgt voor 1 feedback, iedere nul voor 1 feedforward. (Hier 'forward' en 'reverse' waarschijnlijk)
Ik veronderstel dan ook dat die filters het resultaat verder versterken (of iets dergelijks). Voor de werking hier maakt dit niet
veel uit, maar als je dit digitaal wilt implementeren heb je 5 extra geheugencellen nodig t.o.v. de 'normale' versie. Nu, die programmeurs zullen ook wel weten wat ze doen.
Wimapon schreef:317070, wat heb jij voor gegevens opgegeven om die set coefficienten te krijgen... want die werken tenminste.....
IK HEB HET GEVONDEN: jij gaf op: 6000 Hz sample frequency, bessel bandpassfilter , 400 to 800 Hz
Toch nog even wat geexperimenteerd:
Een minderpolig filter blijkt wel te werken.
Ik kan nu zelf alle benodigde filters ontwerpen en programmeren.. het werkt behoorlijk goed.
Minder polen gaan inderdaad, maar ik vermoedt dat je de doorlaatbanden niet zo mooi gaat krijgen, aangezien ze sowieso al vrij smal zijn in vergelijking met je samplefrequentie? Ik zou je toch aanraden om voor een maximum aan polen te gaan indien mogelijk.
Wimapon schreef:Ik wil alleen nog graag weten hoe deze methode van filtering in het wiskundige jargon heet.
Dus ook wat voor soort filtering dit is...
Ik neem aan dat: 12 polig Bessel Bandpass filter de lading voldoende dekt?????
Wat je in feite hebt gedaan is een IIR-filter gemaakt. Om goede coëfficiënten te bepalen zijn er verschillende algoritmes mogelijk, die elk uitkomsten creëren met respectievelijke voor-en nadelen. In jouw geval heb je het Bessel-algoritme gebruikt om die fase-informatie zo weinig mogelijk te verstoren, zodat de golven hun vorm zo goed mogelijk behouden, en niet enkel de frequentie behouden blijft. De filter die het Bessel-algoritme uitkwam is daarna met een bilineaire transformatie omgezet naar de filter die jij wilt hebben.
Afhankelijk van de toepassing natuurlijk, maar waarschijnlijk dekt 12-polige Bessel Banddoorlaatfilter de lading voldoende.
Overigens, ik merkte op dat je de titel Drs. gebruikt. Heeft dit project er iets mee te maken, of ligt je doctoraat in een volledig ander veld?