INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

A-Filter selber programmieren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.04.2015, 08:58
Beitrag #21

dbuckl Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 190
Registriert seit: Sep 2013

10
2013
DE


Deutschland
RE: A-Filter selber programmieren
Ok das klingt erstmal vernünftig, wie bringt man denn die Abweichung dann rein? Blink

Allerdings weicht der dBV Wert ja viel zu stark ab als das es noch eine Numerische Ungenauigkeit sein kann.
Der dBV Wert ist eben auch das was später als Messergebnis notiert wird.

~9 dBV entspricht 2,8 V(eff) und ~ (-17) dBV entspricht 0.14 V(eff).

Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.04.2015, 09:05
Beitrag #22

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: A-Filter selber programmieren
Hallo domi,

Zitat:wie bringt man denn die Abweichung dann rein?
Abweichung = Differenz zweier Werte (evtl. geteilt durch einen der beiden Werte, um eine prozentuale Angabe zu erhalten)…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.04.2015, 10:24 (Dieser Beitrag wurde zuletzt bearbeitet: 08.04.2015 10:30 von dbuckl.)
Beitrag #23

dbuckl Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 190
Registriert seit: Sep 2013

10
2013
DE


Deutschland
RE: A-Filter selber programmieren
Nunja also wie gesagt der Unterschied ist nicht so groß, wie der vom S&V Toolkit berechnetem RMS Wert zu dem von mir, über IFFT, gebildetem RMS Wert.

Die beiden FFT unterscheiden sich nur marginal bei niedrigen Frequenzen (es wirken ja auch nur hier die Filter).

Also muss der Fehler ja bei der IFFT liegen. Ich habe hier noch ein anderes Thema zum gleichen Problem gefunden, leider konnte ich die VIs nicht öffnen wegen lv13_img. So wie sich das anhört wurde aber auch hier keine Lösung gefunden Mellow

Spectral Measurement and IFFT

Im Anhang der Vergleich der beiden Graphen: Rot ist das Spektrum aus dem S&V Toolkit

EDIT: Alternativ würde mir natürlich genausogut helfen wenn mir jemand sagen kann wie ich den RMS Wert aus dem Amplitudensprektrum ermitteln kann? Das zurücktransformatieren muss ja nicht zwingend sein, ich brauch eben hauptsächlich den RMS Wert. Gibt es dazu vill schon irgendein Beispiel oder eine mathematische Formel die ich umsetzen kann?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.04.2015, 10:29
Beitrag #24

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: A-Filter selber programmieren
Hallo domi,

bei dem letzten Plot sieht man einen Unterschied beider Spektren nur im unteren Frequenzbereich bis 200Hz.
Deshalb nochmal die Frage: Unterscheiden sich die beiden "A-Weight"-Kurven? Oder gibt es sonst Unterschiede bei der Gewinnung der Spektren (wie Fensterfunktionen)?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.04.2015, 10:49 (Dieser Beitrag wurde zuletzt bearbeitet: 08.04.2015 10:52 von dbuckl.)
Beitrag #25

dbuckl Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 190
Registriert seit: Sep 2013

10
2013
DE


Deutschland
RE: A-Filter selber programmieren
Ach die Bewertungskurven hast du gemeint Denknach das ergibt Sinn.
Leider findet man bei dem S&V Toolkit nichts darüber wie die Bewertungskurve aussieht. Aber ich werde noch etwas suchen und zur Not eine Anfrage an NI Stellen.

Bei der Gewinnung der Spektren wird jeweils Hanning gefenstert, also bei beiden. Ich habe jetzt mal den kompletten Case meiner Statemachine in dem das alles passiert hochgeladen. Hoffe das ist ned zu unübersichtlich.

EDIT: Übrigens der Hochpass ändert gerade mal die Dritte Nachkommastelle, wenn er angeschalten ist. Der abzug des Mittelwerts soll den DC Anteil wie beim S&V Kit entfernen


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.04.2015, 10:47 (Dieser Beitrag wurde zuletzt bearbeitet: 09.04.2015 11:16 von dbuckl.)
Beitrag #26

dbuckl Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 190
Registriert seit: Sep 2013

10
2013
DE


Deutschland
RE: A-Filter selber programmieren
So versuche gerade das Problem von Grund auf zu beheben. Da ich denke das mein Problem bei der IFFT liegt möchte ich vorerst einmal verstehen wie sie arbeitet und ob ich für die IFFT auch das simple FFT.vi verwenden muss oder ob es auch mit dem jetzigen geht.

Dazu habe ich ein Beispielprogramm gemacht in dem nur die FFT und IFFT eines Sinussignals stattfindet. In dem VI sind beide FFT Versionen über eine Casestruktur auswählbar. Das Ergebnis ist verblüffend, bei dem 'FFT-Spektrum (Betrag-Phase).vi' erhalte ich jedenfalls ein falsches Ergebnis. Bei dem Simplen 'FFT.vi' sieht das ganze schon richtig aus, jedoch müsste ich mir damit wieder die Arbeit machen alle Fensterfunktionen und die Mittelwertbildung einzeln zu integrieren Dodgy .

Allgemein wundert es mich das ich nicht das gleiche Ergbebnis erhalte, da ich denke das dieses 'FFT-Spektrum (Betrag-Phase).vi' auch auf der Grundfunktion der FFT aufgebaut ist.

Was allerdings insgesamt nicht passt ist das mir eine um den Faktor 10 zu kleine Frequenz im Spektrum angezeigt wird Huh

EDIT: Ok mein Fehler! Habe dt und df vergessen beim erstellen der Graphen, wird gleich geändert

Kann da vill mal jemand kurz drüberschauen?
Danke

Gruß Domi

Lv10


Angehängte Datei(en)
10.0 .vi  FFTtest.vi (Größe: 42,07 KB / Downloads: 229)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.04.2015, 11:36
Beitrag #27

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: A-Filter selber programmieren
Hallo Domi,

Zitat:da ich denke das dieses 'FFT-Spektrum (Betrag-Phase).vi' auch auf der Grundfunktion der FFT aufgebaut ist.
Du kannst dir den inneren Aufbau dieses VIs anschauen - und eben gucken, was dort alles so gemacht wird…

Zitat:wieder die Arbeit machen alle Fensterfunktionen
Warum wendest du die Fensterfunktion auf die FFT-Daten (aka Frequenzdaten) an? Normalerweise fenstert man das Zeitsignal!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.04.2015, 13:15
Beitrag #28

dbuckl Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 190
Registriert seit: Sep 2013

10
2013
DE


Deutschland
RE: A-Filter selber programmieren
@GerdW: - das VI kann ich leider nicht öffnen, es öffnet sich nur ein Fenster in der darauf hingewiesen wird das dies nur in der Full Developement Version möglich ist.

- Ok die Fensterung habe ich mal wider rausgeschmissen

Ich habe nun aus dem vorhandenen AFilter einen Online-AFilter gebaut indem ich die normale FFT.vi und IFFT.vi davor und dahinter gesetzt habe und mir das df aus Samplerate / Arraygröße ausgeben lasse.

Das ganz habe ich in eine Testumgebung gepackt und lade es hier mal hoch. Funktionieren tut es ja irgendwie, jedoch sieht mein Spektrum ganz anders aus als ohne AFilter. Nichtmal die Frequenz stimmt also ist da schon wieder irgendwas falsch.

Hmm Bin langsam echt am verzweifeln. Geht das nur mir so oder hängt ihr euch auch öfter mal an so kleinen Funktionen tagelang auf? Sad

Lv10


Angehängte Datei(en)
0.0 .zip  Online_AFilter_test.zip (Größe: 148,46 KB / Downloads: 231)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.04.2015, 13:42 (Dieser Beitrag wurde zuletzt bearbeitet: 09.04.2015 13:43 von GerdW.)
Beitrag #29

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: A-Filter selber programmieren
Hallo domi,

Zitat:Funktionieren tut es ja irgendwie, jedoch sieht mein Spektrum ganz anders aus als ohne AFilter. Nichtmal die Frequenz stimmt also ist da schon wieder irgendwas falsch.
Hast du es schon mal mit Debugging probiert?

In deinem A-Filter:
- Du machst eine FFT über eine Blockgröße von 6800 Samples und bekommst 6800 Real- und Imaginärwerte. Deine Filterkurve wird aber nur mit 2001 Werten berechnet (Debugging!)…
- Dann addierst du Realteil mit deiner Filterkurve. Ist das richtig so? Ist das gewollt?
- Dann packst du den manipulierten Realteil wieder mit dem Original-Imaginärteil zusammen. Ist dein Filter wirklich Phasen-neutral, das das so einfach möglich ist?
- Dann wendest du die IFFT an - aber nur noch über 2001 Werte statt der geplanten 6800…

Da solltest du dich mal mit etwas Debugging-Technik vertraut machen… (Nach 2 Jahren LabVIEW-Benutzung sollte das eigentlich schon bekannt sein.)

Siehe einen der ersten Beiträge:
Zitat:Du kannst dir doch schon einen kompletten Frequenzgang berechnen, am besten schon mit dem df deiner FFT.
Wenn du zwei Frequenzgänge miteinander verrechnen willst, sollten beide auf denselben Frequenzstützpunkten liegen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.04.2015, 10:42
Beitrag #30

dbuckl Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 190
Registriert seit: Sep 2013

10
2013
DE


Deutschland
RE: A-Filter selber programmieren
Hallo Leute,

nachdem ich den Filter jetzt erst mal eine Woche liegen gelassen habe, habe ich gestern damit weitergearbeitet.

@GerdW: Danke für den kleinen A-Tritt, ich habe echt meine Debuggingkentnisse vernachlässigt, dabei hatte das im Praxissemester schon so gut funktioniert. *peinlich* Confused

- Das Problem mit der Blockgröße habe ich nun behoben FFT und IFFT bekommen nun 6800 Samples
- Die Bewertungskurve auf den die gesamte Amplitude zu multiplizieren war ein Fehler da das FFT.vi ein komplettes Spektrum erzeugt. Nun habe ich es in ein halbseitiges Spektrum aufgeteilt und A-Bewertet und danach gespiegelt = 6800 Werte am Ausgang und im Ergebnis der Frequenzpeak an der richtigen Stelle.
- Die Frequenzstützpunkte sollten nun auch Stimmen, Sowohl A-Bewertung als auch FFT (df=10 Hz) haben 0-3399 also 3400 Stützstellen.

Mein Ergebnis stimmt nun auch vom Bild des Spektrums (wenn ich das Zeitsignal nach der IFFT nochmal Transformiere), allerdings stimmt die Höhe nicht, sprich das ganze Spektrum ist nach unten verschoben.

- Was ich noch nicht prüfen oder beheben konnte ist die Phase die ich wie schon angesprochen mit dem gefilterten Betrag zusammenpacke.

Ich kann mir gut vorstellen das hier der fehler liegt, leider habe ich aber keinen blassen Schimmer was ich mit der Phase machen müsste um ein richiges Ergebnis zu erhalten. Ich finde dazu leider auch nichts, da wohl keiner einen Filter auf diese Weise realisiert.
Habt ihr einen Vorschlag oder zumindest einen Tipp wo ich so etwas nachlesen kann?

Gruß Domi

PS: im Anhang mein aktuelles Programm

Lv10


Angehängte Datei(en)
0.0 .zip  FFTtest_AFilter.zip (Größe: 149,24 KB / Downloads: 229)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Music Lowpass Filter - waveform Gigantbohne 8 8.968 28.09.2014 06:38
Letzter Beitrag: GerdW
Lightbulb Signal Oszilloskop Filter TenaciousB 2 6.881 23.11.2013 16:34
Letzter Beitrag: TenaciousB
  Oktav Filter gentos 1 5.014 25.01.2012 08:40
Letzter Beitrag: gentos

Gehe zu: