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

Fehler in Flankenerkennung von 3 Rechtecksignalen

 

JaSoIstEs
Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 23.10.2019, 15:04     Titel: Fehler in Flankenerkennung von 3 Rechtecksignalen
  Antworten mit Zitat      
Hallo Leute,

Ich hab mir hier mal eine Flankenerkennung zusammengebastelt die bisher super funktioniert hat.

Diese funktioniert zwar immer noch so wie sie soll mit zwei Fehlern die ich mir auf die schnelle nicht erklären konnte.

Ich hab euch mal ein Bild angehängt. Die Pfeile dort zeigen auf meine Probleme.
Ihr findet auch ein Beispiel Daten im Anhang.

Code:

AllHallsV = [Hall_1_Ex; Hall_2_Ex; Hall_3_Ex];
AllHallsInOne = [Hall_1_Ex t_ex; Hall_2_Ex t_ex; Hall_3_Ex t_ex];
t_ex_All = AllHallsInOne(:,2);

threshold_OfAll = mean(AllHallsV)

offsetData_OfAll = [AllHallsV(2:end); NaN];

Pos_AllHalls = find(AllHallsV  < threshold_OfAll & offsetData_OfAll > threshold_OfAll);
Neg_AllHalls = find(AllHallsV  > threshold_OfAll & offsetData_OfAll < threshold_OfAll);

length(Pos_AllHalls)
length(Neg_AllHalls)

figure
plot(AllHallsInOne(:,2), AllHallsInOne(:,1), 'b-')
hold all
% Show the rising edges with red x's.
plot(t_ex_All(Pos_AllHalls), threshold_OfAll , 'MarkerSize',8,'Marker','x', ...
    'LineWidth', 2, 'LineStyle','none','Color',[1 0 0]);

% Show the falling edges with green o's.
plot(t_ex_All(Neg_AllHalls), threshold_OfAll, 'MarkerSize',8,'Marker','o', ...
    'LineWidth', 2, 'LineStyle','none', 'Color',[0 1 0]);
grid on
 


Für die einzelnen Signale funktioniert das Prima und ohne Probleme sobald ich diese aber zusammenfüge bekomme ich diese Zusatzflanke die nicht vorhanden ist.

Ich danke euch im Voraus =) Very Happy

MiniBsp.mat
 Beschreibung:

Download
 Dateiname:  MiniBsp.mat
 Dateigröße:  2.01 MB
 Heruntergeladen:  239 mal
2019-10-23_14-57-39.png
 Beschreibung:

Download
 Dateiname:  2019-10-23_14-57-39.png
 Dateigröße:  78.72 KB
 Heruntergeladen:  210 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.10.2019, 15:55     Titel:
  Antworten mit Zitat      
Hallo,

ich verstehe zwar, was dir nicht gefällt, weiß aber nicht recht, was du stattdessen möchtest. Wenn es nur darum geht, keine Flanken an den Übergängen zu bekommen, kann man NaN einfügen:
Code:
AllHallsV = [Hall_1_Ex; NaN; Hall_2_Ex; NaN; Hall_3_Ex];
AllHallsInOne = [Hall_1_Ex t_ex; NaN NaN; Hall_2_Ex t_ex; NaN NaN; Hall_3_Ex t_ex]


und
Code:
threshold_OfAll = mean(AllHallsV, 'omitnan')


Die Frage ist für mich aber, wie die Signale kombiniert werden sollen. Ist ein Signal zeitlich nach dem anderen? Könnten die Signale gemittelt werden? Momentan werden sie einfach "übereinandergelegt". Da frage ich mich, warum man die Signale überhaupt kombiniert und nicht die Plots einzeln nacheinander macht.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 25.10.2019, 16:33     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Antwort.

Wie du im Bild erkennen kannst erkennt er dort eine Flanke und markiert diese obwohl da keine ist. Durch was entsteht das?

Ich habe alle drei Signale im einzelnen schon statistisch ausgewertet. Mein Problem ist es das ich jetzt alle drei zusammen statistisch bewerten möchte. Und deswegen habe ich diese quasi zu einem Signal zusammengelegt und das gemacht was ich mit den drei einzelnen Signalen durchgeführt habe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.10.2019, 16:08     Titel:
  Antworten mit Zitat      
Hallo,

ja, und nun?
Ist die vorgeschlagene Lösung zufriedenstellend?

Zitat:
Durch was entsteht das?

Dadurch, wie du die Signale verkettest. Du springst vom Ende eines Signals zum Anfang des nächsten.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 28.10.2019, 14:31     Titel:
  Antworten mit Zitat      
Hallo Harald.

hat super funktioniert Very Happy .

Mit deiner Lösung wurde doch jetzt einfach das Anfang vom Ende durch die NaNs gekappt... verstehe ich das richtig?

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.10.2019, 14:45     Titel:
  Antworten mit Zitat      
Hallo,

"gekappt" würde ich nicht sagen - die NaN wurden halt eingefügt, um eine Unterbrechung des Plots zu erzwingen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.