Filter: Samplerate fs - Grenzfrequenz fg - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Filter: Samplerate fs - Grenzfrequenz fg (/Thread-Filter-Samplerate-fs-Grenzfrequenz-fg) Seiten: 1 2 |
Filter: Samplerate fs - Grenzfrequenz fg - Grobi - 20.11.2009 10:12 Moin zusammen, ich habe eine allgemeine Frage zu Filtern aus der Palette Signalverarbeitung/Filter. Wenn ich einen analogen Kanal mit einer USB-6210 mit 80kHz einlese bei 8k Samples, dann habe ich einen Signalabschnitt von 100ms. Dies Signal soll nun gefiltert werden. Ich schließe das Signal jetzt an einen Butterworth-Filter an. Das Nutzsignal hat etwa 50Hz-1kHz. Die Samplerate des Filters, welchen Wert muss ich da idealerweise nun einstellen? Muss diese Rate der Abtastrate des Signals selbst entsprechen (80k), oder muss sie deutlich höher sein. Z.B. Faktor 10 oder mehr? Und wie ist das Verhältnis der unteren Grenzfrequenz zur Abtastrate. Bei 80k fs stelle ich z.B. 1kHz fg ein und es passt ungefähr. Bei 800k muss ich eine andere Grenzfrequenz einstellen, damit es passt. Zur Zeit sind mir diese Zusammenhänge irgendwie unklar, eventuell auch nur eine Denkblockade, aber ich komm irgendwie nicht drauf, wär toll wenn mir das mal jemand erklären könnte. mfG Robert Filter: Samplerate fs - Grenzfrequenz fg - Y-P - 20.11.2009 11:09 Vom Gefühl her ist das die richtige Frage für "Lucki". Ich meinerseits kann da nur sagen::???: Gruß Markus Filter: Samplerate fs - Grenzfrequenz fg - dimitri84 - 20.11.2009 11:23 ' schrieb:Die Samplerate des Filters, welchen Wert muss ich da idealerweise nun einstellen? Muss dieseSo wie ich das VI verstehe soll dort die Abtastfrequenz des Eingangsignals angegeben werde. Warum sollte man das VI belügen? Zitat:Bei 80k fs stelle ich z.B. 1kHz fg ein und es passt ungefährDu schließt eine 0.0125 Konstante dran. Richtig? Zitat:Bei 800k muss ich eine andere Grenzfrequenz einstellen, damit es passt.Das ist richtig, denn Grenzfrequenzen gibt man im Verhältnis zur Abtastfrequenz an. Wenn die (Abtastfrequenz) sich ändert, musst du auch auch einen anderen Wert (bei der Grenzfrequnez) angeben. Dieser Wert repräsentiert aber die selbe Grenzfrequenz. Nur damit damit Lucki gleich alle Informationen hat: Was genau gefällt dir denn nicht an deinem Ergebnis? Wo denkst du, dass da etwas nicht stimmt? Gruß dimitri Filter: Samplerate fs - Grenzfrequenz fg - Grobi - 20.11.2009 12:10 Zu 1. Der Filtereingang erhält ja nur ein Array aus X-Werten. Ich bin mir halt nicht sicher, ob das Filter zwingend über die Samplerate das dt des Eingangssignals benötigt oder nicht. also ob fs 1/dt des Eingangssignals sein muss (Vom Gefühl her ja). zu 2. Nein ich habe nicht 0,0125 eingestellt sondern 1k. Wenn das so ist wie du sagst, müsste ich also 80k fs und 0,0125 einstellen. Anbei ein Beispiel von mir, wo ich jetzt fs des FIlters auf 1/x von dt des Eingangssignals gesetzt habe. Im oberen Teil des VIs habe ich also 80k fs und 1000Hz fg eingestellt. Es kommt bei einem 1kHz Eingangssignal genau die -3db an der Grenzfrequenz heraus. Im unteren Teil des VIs habe ich fg relativ zu fs, also 0,0125 eingetragen (0,0125*80k=1000) Da kommt nichts heraus. Entweder mache ich das verkehrt oder die relative Angabe stimmt so nicht. Mein Gefühl sagt mir das jetzt die obere Version das vollkommen richtige Ergebnis bereitstellt. Der Anhang ist in LV2009 Filter: Samplerate fs - Grenzfrequenz fg - dimitri84 - 20.11.2009 13:47 Ich habe das jetzt selber ausprobiert und muss dir Recht geben. (Dein 2009er VI kann ich nicht öffnen.) Die Grenzfrequenzen werden wohl doch nicht in Relation zur Abtastfrequenz angegeben, sondern absolut. Jedenfalls macht es den Anschein. Mein Irrglaube stammt aus diesem Thema, Beitrag #3 ... und die Voreinstellungen der Grenzfrequenzen (0.45 und 0.125) haben mich in diesem Glauben bestärkt. Aber Wissen ist ja bekanntlich besser als Glauben und ich sollte mich wohl mehr auf meine Signatur besinnen. Gruß dimitri Filter: Samplerate fs - Grenzfrequenz fg - Grobi - 20.11.2009 15:16 Joa, also bei der Frequenz sind wir uns dann ja einig. Es ist aber noch ein Effekt mehr aufgetreten. Wenn ich aus dem Eingangssignal anstatt Sinus ein Rechteck mache, habe ich eine viel geringere Dämpfung bei 1kHz als bei Sinus. Das leuchtet mir nicht ein, denn bei Amplitude 1, ist die Grundschwingung des Rechteck ja sogar niedriger als bei Sinus. Die Sinusdämpfungen sind somit korrekt, bei Rechteck aber irgendwie nicht... Vielleicht hat ja jemand noch eine Idee. edit: Zur Verdeutlichung ein Bild, wenn ich auf mein Filter ein Sinus oder einen Rechteck mit 1kHz gebe bei 1kHz Grenzfrequenz. Ergebnis: Sinus -3db Rechteck quasi keine Dämpfung Filter: Samplerate fs - Grenzfrequenz fg - Lucki - 20.11.2009 15:17 ' schrieb:Vom Gefühl her ist das die richtige Frage für "Lucki".Danke, daß du mich hier als Oberlehre empfiehlst. Habe das Thema bisher verschlafen. Allgemeine Antwort: 1) dt: Selbsverständlich das richtige fs = 1/dt verwenden. Die Frage stellt sich auch nur, wenn man einfache Arrays filtern will. Bei Waveforms, für die es auch entsprechende Filter-VIs gibt, stellt sich die Frage überhaupt nicht, da ist die richtige dt-Information bereit in der Waveform enthalten. Die Waverform-VIs zur Signalverarbeitung sind sowieso oftmals konfortabler gemacht als die einfachen VIs. Es tut mir weh, wenn ich hier sehe, daß in einem geposteten VI zwar von Waveforms ausgegangen wird, aber statt dann die entsprechenedn VIs zur Filterung zu verwenden, wird die Waveform erst mal zerlegt, um dann die einfachen Filter-VIs zu benutzten. 2) Grenzfrequenz: Es wird sich um Tiefpassfilterung handeln, und da wurde die erste Hürde schon mal bravorös genommen: Die Grenzfrequenz, die ja eigentlich ein "obere" ist, ist an den Eingang "untere" Grenzfrequenz anzuschließen. Bei der Grenzfrequnz handelt es sich um eine echte Frequenz, nicht um ein Verhältnis <1 in bezug auf fs. Theoretisch enthält eine Waveform mit Sampefrate 80kHz Frequenzen bis zu 40kHz. Wenn ich also an den Filter fs=80kHz anschließe und fg>40kHz anschließe, dann kommt es zur Fehlermeldung, das geht überhaupt nicht. Das heißt aber im Umkehrschluß noch lange nicht, da es Sinn macht, ein fg nur knapp unterhalb 40 kHz verwenden. Der Filter würde dann ja gar nicht mehr filtern. Praktisch ist es so, das der Filter bereits oberhalb fs/4 nicht mehr sauber arbeitet. Wenn also eine Grenzfrequenz 1 kHz gewählt wird, dann habe ich bis 20kHz einen sauberen Sperrbereicht, weiter oberhalb kommt es dann zu Unregelmäigkeiten, die aber nicht störend sein müssen, wenn der Filter im Sperrberieich darunter seine Arbeit ordentlich getan hat. Bei einer höheren Samplingrate muß fg nicht geändert werden, es ist wie gesagt kein Verhältnis-Eingang. 3) Ein Problem ist, daß so ein Filter eine Einschwingzeit braucht. Das Signal sollte vom Gleichstromanteil vorher befreit werden. Im Bedarfsfall könnte man dem Array zu Begin ein paar extrapolierte Werte voranstellen, damit der Filter bei den echten Werten schon eingeschwungen ist. Bzw. man muß mit der Messwertaufnahme schon etwas vorher begonnen haben, bevor es interessant und wichtig wird. Filter: Samplerate fs - Grenzfrequenz fg - Grobi - 20.11.2009 15:25 Hallo Lucki, zunächst mal danke für die Antwort, damit haben wir ja die Frage bzgl. der Samplerate soweit schonmal geklärt und dann zufälligerweise in meinem Beispielprogramm auch richtig angewendet. Die Grenzfrequenz ist dann auch soweit klar. Ich habe meinen Beitrag direkt über dir gerade vor Dir noch einmal editiert. Vielleicht kannst du mir die Frage zu Sinus versus Rechteck ja auch noch beanworten? Weil das entspricht ja meiner Meinung nach nicht dem Verhalten eines realen Filters. Und wo befinden sich die Deiner Meinung nach richtigen Filter-VIs? In der Waveformpalette finde ich die nicht, oder sehe drüber hinweg... mfG Robert Filter: Samplerate fs - Grenzfrequenz fg - Lucki - 20.11.2009 20:36 ' schrieb:Zur Verdeutlichung ein Bild, wenn ich auf mein Filter ein Sinus oderSo darf man das nicht interpretieren. Bei einem Rechteck bewirkt ein Tiefpass zunächt einmal gar keine Verringerung der Amplitude, sondern es werden nur die Flanken weniger steil. Erst wenn die Grenzfrequenz des Filters unterhalb der Rechteckfrequenz liegt, kommt es auch zu einem Ampitudenabfall, aber der ist nicht derselbe wie bei einm Sinus gleicher Frequenz. Du darfst nicht vergessen: In einer Rechteckwelle mit der Ampitude 1 steckt in der Fourierzerlegeung als Grundwelle ein Sinus der Amplitude 4/Pi drin. Kein Wunder also, daß, selbst wenn das Filter die höheren Harmonischen total unterdrückt, die Amplitude dann immer größer ist als beim reinen Sinus. Irrtum von Amt: Die von mir angepriesenen Filter für Waveforms entpuppen sich bei näherem Hinsehen als 1 übles Express-VI. Falls ich nicht noch etwas finde, widerrufe ich alles hierzu gesagte. Wahr ist lediglich, daß die Vis für Fourieranalyse für Waveforms existeren und meist besser sind als die entsprechenden einfachen VIs Filter: Samplerate fs - Grenzfrequenz fg - Grobi - 23.11.2009 07:34 Hallo Lucki, zunächst danke für Deine Antwort und Entschuldigung dafür, dass ich erst heute antworte. Du hast mit deiner Ausführung natürlich vollkommen recht. Das ganze ist ein Interpretationsfehler meinerseits. Um nochmal zu bestätigen was du bereits gesagt hast, habe ich nochmal schnell ein aktives Filter 2.O in PSpice aufgebaut (EMK, Butterworth) Im Bild ist ersichtlich, dass hier das gleiche Ergebnis wie bei meinem LV Beispiel auftritt. Der Thread war für mich wirklich sehr hilfreich, da ich zwar weiß (glaub ich jedenfalls) wie man ein reales FIlter aufbaut, aber die zugehörigen LabVIEW Parameter unklar waren. Und obwohl ich sonst die LV Hilfe wirklich gut finde, gibt sie hierrüber wirklich nur geringe Informationen. Da muss ich wohl ein bisschen an der Grenzfrequenz schieben um das gewünschte Ergebnis zu bekommen. mfG Robert |