venra
Artikelen: 0
Berichten: 156
Lid geworden op: do 26 mei 2011, 19:23

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.
CoenCo
Technicus
Artikelen: 0
Berichten: 1.209
Lid geworden op: di 18 okt 2011, 00:17

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.
venra
Artikelen: 0
Berichten: 156
Lid geworden op: do 26 mei 2011, 19:23

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
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

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.
venra
Artikelen: 0
Berichten: 156
Lid geworden op: do 26 mei 2011, 19:23

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
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

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.
venra
Artikelen: 0
Berichten: 156
Lid geworden op: do 26 mei 2011, 19:23

Re: Signaalfilter programmeren

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

Nogmaals bedankt!

Terug naar “Informatica en programmeren”