|
|
Problem bei RMS-Bildung durch Glättung (TP). Mit Programm |
|
Karsten_dd |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.12.2013, 09:54
Titel: Problem bei RMS-Bildung durch Glättung (TP). Mit Programm
|
|
|
|
|
Hallo zusammen,
ich lese sehr oft hier im Forum. Bisher konnte ich immer eine Lösung zu meinem Problem finden doch jetzt brauch ich doch mal Rat.
Ich möchte den RMS-Wert aus einem sinusförmigen Signal bestimmen. Dafür habe ich zwei Methoden implementiert:
(1) Samples quadrieren -> Aufsummieren -> Wurzelziehen
(2) Samples quadrieren -> Tiefpassfiltern -> Wurzelziehen
Ich habe auch noch eine dritte Methode mit einem Integrator implementiert. Diese ist aber gleichwertig mit der ersten Methode.
Eingangswerte:
- Signalfrequenz
- Abtastfrequenz
- Samples
- Filter-Grenzfrequenz
- Auswahl der Filterordnung
Ich habe die Standardwerte so gewählt, wie sie einem realen Messsystem entsprechen. So liegt z.B. die Abtastfrequenz bei 131072 Hz und die maximale Sampleanzahl bei 8192. Dadurch entsteht das erste Problem bei der 1. Auswertung: Der berechnete RMS-Wert liegt bei 0,707127 für einen idealen Sinus (1V Peak).
Um auf diesen Wert zu kommen runde ich zunächst auf ganzzahlige Perioden (von 62,5 auf 62). 62 Perioden entsprechen 8126,464 Samples. Ich runde ab auf 8126. Dadurch erkläre ich mir die Abweichung bei der Berechnung des RMS (Abweichung in der 5. Kommastelle). Ist das korrekt? Wie könnte ich diese Abweichung ausgleichen?
Ein weiteres Problem: Schalte ich überlagertes Rauschen ein, um einen realen Signal näher zu kommen und vergleiche den RMS-Wert durch Tiefpassfilterung (2. Auswertung), so kommt es vor, dass der RMS-Wert kleiner ist als mein "schmallbandiger" RMS-Wert (1. Auswertung). Egal, wie ich meine Filterparameter wähle. Was mache ich da falsch? Wie könnte ich das besser machen?
Ich hoffe, dass jemand etwas Zeit findet mein Programm zu testen und durchzugucken. Eigentlich handelt es sich ja um eine relativ einfache Thematik. Trotzdem weiß ich, dass es sicher nicht leicht ist den Code eines anderen erstmal zu verstehen.
Sollte irgendetwas unklar sein einfach schreiben. Gerne kann ich das ein oder andere noch ausführlich erklären.
Hier nochmal ein paar Codeauszüge, falls ihr die Datei nicht runterladen möchtet:
Das gezippte Matlab-Programm ist mit GUI und umfangreicher.
Grüße Karsten
Beschreibung: |
|
Download |
Dateiname: |
RMS.zip |
Dateigröße: |
13.54 KB |
Heruntergeladen: |
587 mal |
|
|
|
|
|
Headbucket |
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 03.12.13
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2007B
|
|
|
|
|
|
Verfasst am: 03.12.2013, 10:06
Titel:
|
|
Habe mich eben mal angemeldet (hätte ich gleich mal machen sollen).
Habe nämlich eine minimal zu alte zip hochgeladen. Hier die neuste (Funktionen sind die gleichen. Nur andere Bezeichungen)
Beschreibung: |
|
Download |
Dateiname: |
RMS.zip |
Dateigröße: |
13.54 KB |
Heruntergeladen: |
620 mal |
|
|
|
Napomleb |
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 27.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.12.2013, 15:08
Titel: Re: Problem bei RMS-Bildung durch Glättung (TP). Mit Progra
|
|
|
|
|
Hallo Karsten,
ohne deinen Code jetzt genauer angeschaut zu haben mal ein paar Grundgedanken
Karsten_dd hat Folgendes geschrieben: |
Ich möchte den RMS-Wert aus einem sinusförmigen Signal bestimmen. Dafür habe ich zwei Methoden implementiert:
(1) Samples quadrieren -> Aufsummieren -> Wurzelziehen
(2) Samples quadrieren -> Tiefpassfiltern -> Wurzelziehen
|
Du könnest das ganze auch Fouriertransformieren und im Frequenzbereich lösen. Dann würdest du auch gleich sehen was bei ungeradzahligen Perioden passiert
Karsten_dd hat Folgendes geschrieben: |
Um auf diesen Wert zu kommen runde ich zunächst auf ganzzahlige Perioden (von 62,5 auf 62). 62 Perioden entsprechen 8126,464 Samples. Ich runde ab auf 8126. Dadurch erkläre ich mir die Abweichung bei der Berechnung des RMS (Abweichung in der 5. Kommastelle). Ist das korrekt? Wie könnte ich diese Abweichung ausgleichen?
|
Wenn es sich um ein Abtastproblem handelt solltest du mit "Fenstern" arbeiten.
Geht es dir generell nur um den RMS wert oder welches Ziel verfolgst du?
Was noch sehr nützlich ist den Filter anzuschauen, probier mal fvtool(b,a)
Viele Grüße
|
|
|
Headbucket |
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 03.12.13
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2007B
|
|
|
|
|
|
Verfasst am: 06.12.2013, 07:34
Titel:
|
|
Hallo Napomleb,
das ganze im Frequenzbereich zu lösen ist mir auch schon in den Sinn gekommen. Allerdings ist mein Programm in Delphi geschrieben und da umgehe ich oft diesen Weg, da es doch deutlich mehr Aufwand ist. Vllt sollte ich es aber wirklich mal auf einen Versuch ankommen lassen.
Mir geht es generell nur um den RMS-Wert.
fvtool(b,a) war ein sehr guter Tip. Das werde ich ab jetzt öfters mal nutzen .
Grüße
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|