Forum: Digitale Signalverarbeitung / DSP / Machine Learning FIR Tiefpass und TRMS Messung


von Carsten (Gast)


Lesenswert?

Hallo,

als Neuling im DSP-Bereich hätte ich gerne eure Meinung und Ideen zu 
meinem Projekt:

Es soll der Effektivwert eines Stroms (Netz 50Hz/60Hz) gemessen werden 
sowie der Anteil der Grundschwingung am Gesamtsignal (Oberwellen 
herausfiltern).
Dazu sample ich mit ca. 10kHz 100ms lang, so dass ich 1024 Samples 
erhalte.
Die Effektivwertberechnung ist einfach und funktioniert.

Um die Grundschwingung vom Signal zu trennen brauche ich ein 
steilflankiges Tiefpassfilter. 60Hz soll noch ungehindert durchkommen, 
aber 100Hz schon mit z.B. -30dB gedämpft werden.
Da ich nur einen 16 Bit MAC habe, kann ich kein IIR-Filter einsetzen, 
das würde durch die Rundung der Koeffizienten instabil. Sagen 
einschlägige Programme zur Filterberechnung.
Also ein FIR-Filter. Hier brauche ich viele Taps (z.B. 500) um die 
geforderten Eigenschaften zu erhalten.

Ich gebe also meine 1024 Samples x(n) in das Filter, und es kommen y(n) 
heraus, die den Signalverlauf des gefilteren Ergebnisses darstellen.
Frage: Solange noch nicht alle Taps mit Eingangswerten x besetzt sind, 
ist mein Ausgangssignal nicht korrekt, oder?
Das bedeutet, ich bekommen aus meinen 1024 Samples nur (1024 - Taps) 
gefilterte Samples heraus. Das wäre zu wenig, denn ich brauche für die 
TRMS-Berechnung immer volle Perioden der interessierenden Frequenzen 
50/60Hz.
Ich möchte/darf die Messzeit nicht verlängern.

Frage: Wenn ich meine Samples einfach verdoppele, also auf 
100ms+100ms=200ms entspr. 2048 Samples strecke, habe ich genug Samples, 
um nach dem FIR TP noch die TRMS-Berechnung durchzuführen. aber ich 
bekomme auch einen Sprung im Signal nach 100ms, wo die Addition 
stattfindet. Das bedeutet dann wohl Unterabtastung und Alias-Effekt, 
richtig?

Habt ihr andere Lösungsvorschläge?

Danke für eure Hilfe und Gruß
Carsten

von Detlef _. (detlef_a)


Lesenswert?

>>Habt ihr andere Lösungsvorschläge?

Ja:

1024 samples mit Fensterfunktion vorbearbeiten (Kaiserfenster 16 oder 
sowas), dann mit Görtzel die Grundwelle rausholen, eventuell getrennt 
nochmal Görtzel für die Oberwellen. Das geht auch mit limitierter 
Prozessorleistung.

Ich habe Deinen Vorschlag nicht richtig verstanden, ich glaube trotzdem 
nich, dass das auf Deine Art vernünftig geht ;-)

Cheers
Detlef

von Carsten (Gast)


Lesenswert?

Danke Detlef!

Bisher wird die Aufgabe in Hardware erledigt, da kommt ein TP zur 
Dämpfung der Oberwellen zum Einsatz. Daher mein erster Ansatz, das auch 
in Software so zu tun.

Nun gibt es aber nur 2 übliche Netzfrequenzen auf der Welt. Da müsste es 
mit 2 Goertzeln, einer für 50Hz, einer für 60Hz auch klappen. Das werde 
ich mal probieren.
Brauche ich denn ein Fenster wie Kaiser 16, wenn meine Sampledauer ein 
Vielfaches der Periodendauer ist? Nö, oder?

Bin aber für weitere Ideen zum TP-Ansatz offen, hier wäre die 
Kompatibilität altes/neues Produkt besser.

Gruß
Carsten

von Detlef _. (detlef_a)


Lesenswert?

>>Brauche ich denn ein Fenster wie Kaiser 16, wenn meine Sampledauer ein
>>Vielfaches der Periodendauer ist? Nö, oder?

Nö, dann nicht. Hängt von der angestrebten Genauigkeit ab, aber 
möglicherweise reicht ein quarzgenaues Vielfaches nicht aus sondern Du 
muss Dich richtig auf die Netzspannung mit ner PLL synchen.

Cheers
Detlef

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.