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

signal bearbeitung

 

heshamali
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2016, 15:40     Titel: signal bearbeitung
  Antworten mit Zitat      
hallo alle zusammen,ich brauche bitte eure hilfe
ich habe hier eine frage,und zwar wie ich meine Signal bearbeiten kann,in dem die gesamte signal gleich aussehen sein muss ,wenn sie wiederholt .durch die folgende aufgabe:
1.Stufen Finden(von 0,500,1500,1000,3000,2000,0)
2.übergänge zwischen Stufen finden und unterscheiden(0-500, 500-1500 ,1500-1000, 1000-3000, 3000-2000, 2000-0)
3.Rheinfolge von Stufen finden
4.Fehlerhaft Rheinfolge finden
5.finden und lösen,die die Rheinfolge falsch macht.
Code:
clear all
close all
[EMGfilename EMGpathname] = uigetfile('*.mat','Select EMG Data File','P:\OttoBock_Dyneva\Daten_EMG\RPE\Bewegungsgesunde Probanden\AlSufyaniHesham');
pathToFileEMG = fullfile(EMGpathname, EMGfilename);

fsample=1500;
% Laden des signal
[EMG_RawSignal ] = importdata([EMGpathname EMGfilename]); %EMG Ruhsignal wird für alle Signalen aufgerufen
size_vec = size(EMG_RawSignal.Data{1,10}); %  size_vektor ist von 1 bis 10 Date gleich ,deswegen wird nur das erste size_vec vom ersten Signal für alle Singalen benutzt.

time_vector = 0:1/fsample:((size_vec(1)-1)/fsample);%time_vector ist für alle Signal gleich .

Stand_Arc_Stairs_Chair = EMG_RawSignal.Data{1,10};



spannungslaevel_obereGrenze_1=240;
spannungslaevel_untereGrenze_2=240;
spannungslaevel_obereGrenze_2=700;
spannungslaevel_untereGrenze_3=700;
spannungslaevel_obereGrenze_3=1160;
spannungslaevel_untereGrenze_4=1160;
spannungslaevel_obereGrenze_4=1650;
spannungslaevel_untereGrenze_5=2500;
spannungslaevel_untereGrenze_6=1650;
spannungslaevel_obereGrenze_6=2500;



Stand_Arc_Stairs_Chair_1= Stand_Arc_Stairs_Chair(find(Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_1));
time_vector_1=time_vector(find(Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_1));


Standy_Arc_Stairs_Chair_korrigiert_1 = (time_vector_1==0);


Stand_Arc_Stairs_Chair_2 = Stand_Arc_Stairs_Chair(find(spannungslaevel_untereGrenze_2<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_2));
time_vector_2=time_vector(find(spannungslaevel_untereGrenze_2<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_2));

Standy_Arc_Stairs_Chair_korrigiert_2 = (time_vector_2==500);

Stand_Arc_Stairs_Chair_3 = Stand_Arc_Stairs_Chair(find(spannungslaevel_untereGrenze_3<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_3));
time_vector_3=time_vector(find(spannungslaevel_untereGrenze_3<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_3));
Standy_Arc_Stairs_Chair_korrigiert_3 = (time_vector_3==1000);

Stand_Arc_Stairs_Chair_4 = Stand_Arc_Stairs_Chair(find(spannungslaevel_untereGrenze_4<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_4));
time_vector_4=time_vector(find(spannungslaevel_untereGrenze_4<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_4));
Standy_Arc_Stairs_Chair_korrigiert_4 = (time_vector_4==1500);

Stand_Arc_Stairs_Chair_5 = Stand_Arc_Stairs_Chair(find(spannungslaevel_untereGrenze_5<=Stand_Arc_Stairs_Chair));
time_vector_5=time_vector(find(spannungslaevel_untereGrenze_5<=Stand_Arc_Stairs_Chair));
Standy_Arc_Stairs_Chair_korrigiert_5 = (time_vector_5==2000);

Stand_Arc_Stairs_Chair_6 = Stand_Arc_Stairs_Chair(find(spannungslaevel_untereGrenze_6<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_6));
time_vector_6=time_vector(find(spannungslaevel_untereGrenze_6<=Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<spannungslaevel_obereGrenze_6));
Standy_Arc_Stairs_Chair_korrigiert_6 = (time_vector_6==2500);

Stand_Arc_Stairs_Chair_korrigiert=Stand_Arc_Stairs_Chair;


Stand_Arc_Stairs_Chair_korrigiert(find(Stand_Arc_Stairs_Chair<=240))=0;
Stand_Arc_Stairs_Chair_korrigiert(find(240<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=700))=500;
Stand_Arc_Stairs_Chair_korrigiert(find(700<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=1160))=1000;
Stand_Arc_Stairs_Chair_korrigiert(find(1160<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=1650))=1500;
Stand_Arc_Stairs_Chair_korrigiert(find(1650<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=2500))=2000;
Stand_Arc_Stairs_Chair_korrigiert(find(2500<=Stand_Arc_Stairs_Chair))=3000;    


a_korrektur=Stand_Arc_Stairs_Chair_korrigiert;

single = find(diff(a_korrektur(1:end-1)) ~= 0 & diff(a_korrektur(2:end)) ~= 0)+1;
while single >0
    single = find(diff(a_korrektur(1:end-1)) ~= 0 & diff(a_korrektur(2:end)) ~= 0)+1;
    a_korrektur(single) = a_korrektur(single+1);
end

figure
 plot(Stand_Arc_Stairs_Chair_korrigiert,'b')
hold all
plot(a_korrektur,'r')
grid on


nach der dreite wiederholen sieht man eine Fehler,wo ich das haben möchte .

vielen lieben dank

OttoBock_Probanden_Übung4_20160210.mat
 Beschreibung:

Download
 Dateiname:  OttoBock_Probanden_Übung4_20160210.mat
 Dateigröße:  6.93 MB
 Heruntergeladen:  407 mal
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: 23.03.2016, 15:45     Titel:
  Antworten mit Zitat      
ich versuche durch eine diagramm weiter alles richtig zu beschreiben.
im diagramm habe ich die Stufen von 1 bis 6, und die Stufen wiederholen nach der 6. stufe.ich möchte jetzt das so,wenn die zweiten 6 stufen sich wiederholen,dass sie genau wie die ersten 6 stufen aus sehen,weil wie du im Diagramm sieht,bei der zweiten Stufen fingt bei 1 ,2 dann 3 dann wieder 3 wieder 2 .

Erklären.png
 Beschreibung:

Download
 Dateiname:  Erklären.png
 Dateigröße:  142.09 KB
 Heruntergeladen:  279 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: 23.03.2016, 16:24     Titel:
  Antworten mit Zitat      
wie unterscheidet sich das problem von deinem anderen thread?
http://www.gomatlab.de/viewtopic,p,163036.html#163036
_________________

richtig Fragen
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: 23.03.2016, 16:31     Titel:
  Antworten mit Zitat      
das ich die den File von meinem SIganl herunterladen habe.
und habe alles richtig erklärt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 23.03.2016, 23:08     Titel:
  Antworten mit Zitat      
Hallo heshamali,

Ich verstehe immer noch nicht, was Deine Frage ist. Welches Problem möchtest Du lösen?
Zitat:
ich habe hier eine frage,und zwar wie ich meine Signal bearbeiten kann,in dem die gesamte signal gleich aussehen sein muss ,wenn sie wiederholt .durch die folgende aufgabe:

Es hat auch mit den sprachlichen Problemen zu tun, dass ich nicht dahinter komme, was das bedeutet.
Die Kommentare im Diagramm kann ich nicht einordnen. "Wiederholt aber nicht gleich"?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.03.2016, 23:21     Titel:
  Antworten mit Zitat      
Hallo,

der wievielte Thread zum gleichen Thema ist das nun schon?

In dem Bild dieses Threads wurde mir immerhin klar, was du erreichen möchtest.
http://www.gomatlab.de/rheinfolge-von-stufen-finden-t40553.html

Allerdings beantwortest du auch dort nicht die Frage, die ich dir bereits mehrfach in verschiedenen Formulierungen gestellt habe, ohne eine hilfreiche Antwort zu bekommen und die ich dir daher in diesem Thread nicht nochmal stellen wolllte:
Nach welcher Logik unterscheidest du zwischen einer beizubehaltenden und einer zu entfernenden Stufe?

Grüße,
Harald
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: 29.03.2016, 12:19     Titel:
  Antworten mit Zitat      
hallo Harald,
ich unterscheide den Logik durch den übergang von einer Stufe zu einer Stufe .
es es klar erste stufe ist von 0 bis 500 ,zeite von 500-1500 u.z.w.das ist einfach zu sehen im Diagramm.
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: 29.03.2016, 12:21     Titel:
  Antworten mit Zitat      
hallo Jan ,
Die Kommentare im Diagramm kann ich nicht einordnen. "Wiederholt aber nicht gleich"
wenn du genau das Diagramm aneiehst ,merkst du die unterscheid ,dass das signal immer wiederholt aber ist nicht gleich .wo ist hier zu verstehen ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.03.2016, 14:18     Titel:
  Antworten mit Zitat      
Hallo heshamali,

Ich habe das Diagramm genau angesehen. Auch wenn ich mir einiges dazu ausdenken kann, ist es sinnvoll, dass Du eindeutig erklärst, worum es in Deinem Problem geht. Immerhin ist "wiederholt aber nicht gleich" ein Widerspruch in sich, da braucht es schon genauere Erklärungen.

Zitat:
ich unterscheide den Logik durch den übergang von einer Stufe zu einer Stufe.
es es klar erste stufe ist von 0 bis 500 ,zeite von 500-1500 u.z.w.das ist einfach zu sehen im Diagramm.

Es ist eben nicht "einfach zu sehen". Die Stufen könnten genauso gut mit der X-Achse zusammen hängen, relativ zur vorhergehenden sein, es könnte um vorbestimmte werte gehen oder um einen gewissen Anteil der maximalen Amplitude.

Heshamali, bisher müsste man viel zu viel erraten, um eine Antwort zu posten. Deine bsihereige Methoden zu fragen sind nicht zielführend. Denke daran, dass die Leser nicht die geringste Ahnung davon haben, was Du genau tust. Zudem ist es schwierig Dir sprachlich zu folgen. Es wäre hilfreich, wenn Du mit einem Kollegen zusammen schreibst, der Dir bei den Formulierungen helfen kann.
Auf die bisherige Weise kommst Du hier jedenfalls nicht weiter.

Gruß, Jan
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 - 2025 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.