Signaalfilter programmeren

Moderators: jkien, Xilvo

Reageer
Berichten: 156

Signaalfilter programmeren

Ik heb een periodisch signaal waar behoorlijk wat ruis op zit.

Nu wil ik van het gefilterd signaal:

A) Periode

B) Amplitude

C) Moment van nuldoorgang

bepalen.

Nu wil ik dit graag zelf proberen te programmeren.

Dus geen voorgebouwde functies e.d.

Nu kan ik reeds de periode bepalen door een zwevend gemiddelde te nemen, en daarvan de nuldoorgangen.

Dit werkt perfect, enkel vermoed ik wel dat dit problemen indien de ruis nog groter wordt.

Voor de nuldoorgangen neem ik momenteel de eerste nuldoorgang 'rond het tijdstip dat deze verwacht wordt' (dmv de periode)

Hier begin ik dus al een beetje te sukkelen.

Hoe ik de ruis dan kan filteren voor bepalen van de amplitude, zou ik helemaal niet weten.

Heeft iemand een idee?

Kan het eenvoudiger?

Ik hoor het graag! Dank.

Technicus
Berichten: 1.163

Re: Signaalfilter programmeren

Als je de Periode nauwkeurig weet, dan kan je voor het bepalen van de amplitude het gemiddelde nemen van meerdere periodes. Aangezien Ruis per definitie random is, zal het zich bij een middeling opheffen.

Voor het bepalen van de periode zou je de tijd tussen het bronsignaal en een kopie van het bronsignaal (het vergelijkingssignaal) net zolang kunnen verschuiven, totdat de signalen weer zoveel mogelijk met elkaar overeenkomen.

Berichten: 156

Re: Signaalfilter programmeren

Als je de Periode nauwkeurig weet, dan kan je voor het bepalen van de amplitude het gemiddelde nemen van meerdere periodes. Aangezien Ruis per definitie random is, zal het zich bij een middeling opheffen.
Periode lukt om exact te bepalen.

Maar hoe weet ik op welk punt ik dit dien te bepalen, als het signaal niet periodisch is?

Gebruikersavatar
Berichten: 2.609

Re: Signaalfilter programmeren

Als je een periodisch signaal hebt waarvan je de periode kent, dan kan je de metingen splitsen in de verschillende periodes en als je die dan uitmiddelt dan zou de ruis weg moeten zijn.

Voor een niet-periodisch signaal kan je niet zomaar uitmiddelen. Je kan wel eens proberen met een low-pass filter.

Berichten: 156

Re: Signaalfilter programmeren

Als je een periodisch signaal hebt waarvan je de periode kent, dan kan je de metingen splitsen in de verschillende periodes en als je die dan uitmiddelt dan zou de ruis weg moeten zijn.
Is een goed idee! Dank
Je kan wel eens proberen met een low-pass filter.
Als je een idee hebt hoe ik dit kan programmeren, laat maar horen ;)

Gebruikersavatar
Berichten: 2.609

Re: Signaalfilter programmeren

Omdat je het woord filter gebruikte, dacht ik dat je bekend was met FIR filters en convolutie ;)

De code die hier gegeven wordt lijkt me wel bruikbaar.

Ik zou de manier met convolutie nemen, je moet dan juist nog ergens goeie filter coëfficiënten vinden. Er zijn verschillende filters, je moet maar eens experimenteren met de dingen die je vind op internet tot je een goeie vindt.

Berichten: 156

Re: Signaalfilter programmeren

Ik was hier nog niet mee bekend, maar dit is inderdaad wat ik nodig heb.

Nogmaals bedankt!

Reageer