WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Gleitender Durchschnitt verschiedener Signale

 

Joghivan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 09:36     Titel: Gleitender Durchschnitt verschiedener Signale
  Antworten mit Zitat      
Hallo zusammen,

ich stehe vor folgender Problemstellung.

Ein kontinuierliches Signal soll in Anhängigkeit eines Triggersignals (drei Ausprägungen) in drei unterschiedlichen Speichertöpfen abgelegt werden. Dabei soll ein gleitender Durchschnitt über die letzten 100 Signale gebildet werden. Den gleitenden Durschnitt realisiere ich über einen FIR-Filter. Ich bin mit aktuell nur nicht sicher, wie ich die time delays richtig abbilde.

Es wird vom kontiuierlichen Signal in Abhängigkeit des Triggers ein Wert in einen Topf geleitet. Nun soll aber der Topf nicht mit Nullen oder dem letzten angekommen Signal befüllt werden, sobald der Trigger das Signal in einen anderen Topf umleitet. Ist es richtig, wenn ich den Wert aus dem FIR Filter über einen Memory-Block immer wieder vor den Filter setze, solange der Topf nicht befüllt wird? Oder gibt es eine elegantere Lösung?


Vielen Dank für jedwede Hilfestellung
Joghivan


Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 09:52     Titel:
  Antworten mit Zitat      
Wenn du mit den Data Store-Blöcken arbeitest kannst Du mit der SampleTime des WriteBlockes den "Schreibtakt" einstellen, was den Memory-Block überflüssig machen sollte...evtl löst das Dein Problem...
Private Nachricht senden Benutzer-Profile anzeigen
 
Joghivan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 15:47     Titel:
  Antworten mit Zitat      
Probiere ich einmal aus, danke.
 
LuizAranha
Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 16:11     Titel:
  Antworten mit Zitat      
Für einen gleitenden Mittelwert könntest du doch eig. einen Memory Block mit Rückführung bauen( also nen diskreten Integrator). Damit erhältst du das Integral null bis tau detau. wenn du jetzt das gleiche Integral in den Grenzen von Null bis zu deinem Zeitfenster über einen Transportdelay Block führst, erhältst du einen moving average. Für kontinuierliche Signale reicht dann ein normaler Integrator.

Abschliessend teilst du noch durch dein gewähltes Zeitfenster.

Hoff, das is bisschen hilfreich


greez
Private Nachricht senden Benutzer-Profile anzeigen
 
pfa
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 09.04.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2015, 09:20     Titel:
  Antworten mit Zitat      
Hallo Zusammen,

ich bekomme den gleitenden Mittelwert nicht hin :/. Ich versuche den gleitenden Mittelwert des Sinus über die letzten 200 Schritte zu erstellen (als Minimalbeispiel), bei einem fixen Timestep von 0.01. Die Ausgabe der Scopes zeigt aber nicht annähernd einen gleitenden Mittelwert. Kann mir jemand einen Tipp geben was ich hier noch ändern muss?

Dankeeee und Gruß André

minimalbeispiel_gleitender_mittelwert.slx
 Beschreibung:

Download
 Dateiname:  minimalbeispiel_gleitender_mittelwert.slx
 Dateigröße:  15.65 KB
 Heruntergeladen:  1259 mal

_________________

???
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.05.2015, 09:50     Titel:
  Antworten mit Zitat      
kenne mich mit simulink nicht so aus aber hast du mal hier reingeguckt ?
vieleicht hilft dir das ja
http://de.mathworks.com/help/dsp/ug.....verage-system-object.html
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
pfa
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 09.04.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2015, 10:45     Titel:
  Antworten mit Zitat      
Hellooo

Danke für die fixe Antwort, diesen Block habe ich auch schon probiert, aber wenn ich den Text richtig verstehe ("This example shows how to create a System object™ that implements a moving average filter.") bekommt das 'Matlab-System' in diesem Beispiel schon einen gleitenden Mittelwert und filtert diesen noch einmal. Auf Deutsch, ich bekomme es damit nicht hin :/

Ist es nicht möglich eine 'tsmovavg' (http://de.mathworks.com/help/finance/tsmovavg.html) irgendwie in einen Simulinkblock zu bekommen?

Gruß André
_________________

???
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 28.05.2015, 10:53     Titel:
  Antworten mit Zitat      
Der Mean Block aus der DSP System Tbx hat die Option

Zitat:

Running Operation
When you select the Running mean check box, the block tracks the mean value of each channel in a time sequence of inputs.


Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
pfa
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 09.04.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2015, 11:09     Titel:
  Antworten mit Zitat      
Hallo Andreas,

Danke für den Hinweis. Ich habe vergessen zu sagen, dass ich das ganze mit den Simulink-Standard-Toolboxen machen muss ...

Gruß André

verfügbare_toolbox.JPG
 Beschreibung:

Download
 Dateiname:  verfügbare_toolbox.JPG
 Dateigröße:  18.47 KB
 Heruntergeladen:  776 mal

_________________

???
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.05.2015, 11:42     Titel:
  Antworten mit Zitat      
Zitat:
("This example shows how to create a System object™ that implements a moving average filter.") bekommt das 'Matlab-System' in diesem Beispiel schon einen gleitenden Mittelwert und filtert diesen noch einmal. Auf Deutsch, ich bekomme es damit nicht hin :/

die nächsten 2 sätze sind
Zitat:
. The example shows how to use the System object in MATLAB® and Simulink® through the MATLAB System block. MovingAverageFilter is a simple moving average System object filter, which computes the unweighted mean of the previous WindowLength input samples, where WindowLength is the length of the moving average window.
das hört sich für mich nach dem an was du machen willst
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 28.05.2015, 14:32     Titel:
  Antworten mit Zitat      
Speziell in der Signalverarbeitung ist es eine gute Idee auch die Fähigkeiten voll auszunutzen die sich mit der DSP System Toolbox bieten. Vor allen Dingen ist die Performance besser. Auch wenn einmal C Code generiert werden soll.

Sollte das eine Hochschule sein, bitte ich um eine PN oder email mit dem Namen der Hochschule / der Lizenznummer. Ich bin sicher ich treibe da Lizenzen mit den relevanen Produkten auf.

Sollte das ein Industrieunternehmen sein, bitte klären was das Ziel der Gesamtapplikation ist (siehe Performance, Codegenerierung) ist.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
pfa
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 09.04.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2015, 07:35     Titel:
  Antworten mit Zitat      
Hallo Andreas,

ich habe eine Hochschulversion, aber es arbeiten mehrere Personen, teilweise schon aus der Hochschule ausgeschieden, an dem Projekt und diese haben keine Lizenz aus der Industrie und die Hochschullizenz ist teilweise abgelaufen. Frag mich bitte nicht wie deren Lizenz aussieht Shocked

Das mit dem Matlab-Block und der Classe von Mathworks funktioniert. Die Perfomance ist nur total 'im Arsch' (Simulationszeit > 1h, vorher waren es max. 5 Minuten). Sprich falls, jemandem noch eine andere Möglichkeit einfällt wäre ich sehr dankbar darum. Hat diesen Ansatz schon einmal jemand umgesetzt:
Zitat:
Für einen gleitenden Mittelwert könntest du doch eig. einen Memory Block mit Rückführung bauen( also nen diskreten Integrator). Damit erhältst du das Integral null bis tau detau. wenn du jetzt das gleiche Integral in den Grenzen von Null bis zu deinem Zeitfenster über einen Transportdelay Block führst, erhältst du einen moving average. Für kontinuierliche Signale reicht dann ein normaler Integrator.

Abschliessend teilst du noch durch dein gewähltes Zeitfenster.


-> ich hab das in meinem Minimalbeispiel probiert umzusetzen, komme aber auf keinen grünen Pfad.

Vielen Dank.

Gruß André
_________________

???
Private Nachricht senden Benutzer-Profile anzeigen
 
pfa
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 09.04.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2015, 14:54     Titel:
  Antworten mit Zitat      
Hallo Zusammen,

ich habe jetzt ein discretes Shift Register vor einen Summenbaustein gesetzt und teile anschließend wieder durch die 'Number of Inputs' (http://de.mathworks.com/help/physmod/sps/powersys/ref/discreteshiftregister.html) Idea . Diese Lösung gibt bei mir eine wesentlich bessere Laufzeit als mit dem Matlabblock.

Gruß André

gmw.JPG
 Beschreibung:

Download
 Dateiname:  gmw.JPG
 Dateigröße:  15.43 KB
 Heruntergeladen:  1382 mal

_________________

???
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.