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

Glättung durch gleitenden Mittelwert

 

heshamali
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2016, 10:24     Titel: Glättung durch gleitenden Mittelwert
  Antworten mit Zitat      
hallo zusammen .ich möchte meine diagramm hier glätten durch gleitenden Mittelwert .
Code:
fs = 1500; % Hz
zeitschritt = 1/fs; % s
zeitvektor = 1/fs:1/fs:5;

signal = 5*sin(zeitvektor);
stoerung = rand(1,length(zeitvektor)) - 0.5;
signal_gestoert = signal + stoerung;
f3=mean(signal_gestoert,stoerung);
figure
plot(zeitvektor,signal_gestoert)
hold all
plot(zeitvektor,signal,'r')
hold on
plot(zeitvektor,f3,'k-')


% Glättung durch gleitenden Mittelwert
% Fensterlänge ungefähr 80 ms

.
könntet ihr mir bitte helfen.
edit winkow: bitte code umgebung benutzen
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.02.2016, 10:39     Titel:
  Antworten mit Zitat      
Hallo,

so fern die Curvefitting toolbox vorhanden ist, kannst du smooth verwenden.

Code:

y = ... % ungefiltertes Signal
span = ; % Anzahl von Messwerten die gemittelt werden. span muss ungerade sein!
yy = smooth(y,span)


Du musst dir dann halt ausrechnen, wie viele Messwerte du in deinem gewünschten Fenster von 80ms haben willst.

Bitte erstelle nicht mehrere Threads mit dem selben Thema! Deine Frage gehört auch weder in den allgemeine Diskussion noch in die Skript-Ecke. Am besten passt es wohl in die Kategorie Signalverarbeitung. Das soll dann aber ein Moderator entsprechend verschieben. Nicht dort auch noch einen Thread öffnen.

Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
heshamali
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2016, 11:12     Titel:
  Antworten mit Zitat      
hallo,Danke für die Antwort.
können Sie genau schreiben ,wie ich das mit smooth machen kann .
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.02.2016, 11:27     Titel:
  Antworten mit Zitat      
Was soll ich denn da noch genauer beschreiben? Einfach deinen mean Ausdruck durch die smooth Funktion ersetzen.

Code:

fs = 1500; % Hz
zeitschritt = 1/fs; % s
zeitvektor = 1/fs:1/fs:5;
span = 13;

signal = 5*sin(zeitvektor);
stoerung = rand(1,length(zeitvektor)) - 0.5;
signal_gestoert = signal + stoerung;
f3 = smooth(signal_gestoert,span);
figure
plot(zeitvektor,signal_gestoert)
hold all
plot(zeitvektor,signal,'r')
hold on
plot(zeitvektor,f3,'k-')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
heshamali
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2016, 11:34     Titel:
  Antworten mit Zitat      
der Prof. hat den Cod so geschrieben.
Code:
% erzeuge testsignal

fs = 1500; % Hz
zeitschritt = 1/fs; % s
zeitvektor = 1/fs:1/fs:5;

signal = 5*sin(zeitvektor);
stoerung = rand(1,length(zeitvektor)) - 0.5;
signal_gestoert = signal + stoerung;
figure
plot(zeitvektor,signal_gestoert)
hold all
plot(zeitvektor,signal,'r')


% Glättung durch gleitenden Mittelwert
% Fensterlänge ungefähr 80 ms
 


er möchte.dass das Signal durch for- schleife geglättet wird .

Zuletzt bearbeitet von heshamali am 26.02.2016, 12:00, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.02.2016, 11:38     Titel:
  Antworten mit Zitat      
Hast du mein Codebeispiel mal ausgeführt?

Es sollte doch wohl möglich sein, zu berechnen wie viele Messwerte du bei deiner Abtastfrequenz innerhalb von 80ms hast. Diesen Wert nimmst du dann als span. Anzahl noch auf ungerade ändern falls eine gerade Anzahl von Messwerten herauskommt.
Private Nachricht senden Benutzer-Profile anzeigen
 
heshamali
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2016, 12:03     Titel:
  Antworten mit Zitat      
ja ,ich habe es schon ausgefuhrt. aber das Signal bleibt ,wie es war .
ich möchte mein Signal glätten.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.02.2016, 12:06     Titel:
  Antworten mit Zitat      
heshamali hat Folgendes geschrieben:
aber das Signal bleibt ,wie es war .


Falsch! Das Signal wird sehr wohl geglättet. Vergleiche blaues und schwarzes Signal. Das schwarze Signal ist die gefilterte Version von blau.

smooth_test.png
 Beschreibung:

Download
 Dateiname:  smooth_test.png
 Dateigröße:  12.56 KB
 Heruntergeladen:  1277 mal


Zuletzt bearbeitet von DSP am 26.02.2016, 12:11, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
heshamali
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2016, 12:11     Titel:
  Antworten mit Zitat      
ja .stimmt ,aber der Prof braucht das mit eine for schleife,die den gleitenden mittelwert berechnet.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.02.2016, 12:12     Titel:
  Antworten mit Zitat      
Und das fällt dir jetzt ein nachdem ich dir eine Funktion genannt habe und du auch noch wissen wolltest wie man sie anwendet?

Danke für die Zeitverschwendung!
Private Nachricht senden Benutzer-Profile anzeigen
 
heshamali
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2016, 12:15     Titel:
  Antworten mit Zitat      
DSP hat Folgendes geschrieben:
Und das fällt dir jetzt ein nachdem ich dir eine Funktion genannt habe und du auch noch wissen wolltest wie man sie anwendet?

Danke für die Zeitverschwendung!


ich habe das zu meiner Gruppe geschickt, jetzt haben sie mir gesagt.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.02.2016, 12:18     Titel:
  Antworten mit Zitat      
Evtl. hilft dir dieser Thread weiter: http://www.gomatlab.de/gleitender-mittelwert-t2093.html

Wenn du es nicht selber lösen kannst oder willst, würde ich sonst mal google fragen. Diese Aufgabe hat mit Sicherheit schon mal jemand lösen müssen Wink
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.