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

Alarmton-Funktion mit Delay, Hilfe benötigt

 

Matlabanfaenger94
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 29.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2019, 09:31     Titel: Alarmton-Funktion mit Delay, Hilfe benötigt
  Antworten mit Zitat      
Hallo Zusammen,

Bin gerade dabei ein kleines Matlab Skript zu schreiben, welches folgendes Tun soll.
Ein Alarmton soll eingelesen werden und in 3 Sekunden Abständen ausgegeben werden pro 10 Sekunden Messung. Zusätzlich soll ein Delay verwendet werden, sodass der Alarmton bereits bei 2,5 Sekunden jeweils auftritt, damit man in genau Sekunde 3 eine Aktion durchführen kann.

Hier mein Problem: Dies soll verwendet werden um nebenbei 10x10 Sekunden Messungen (als eine Messung, getrennt nur von Trennstrichen) durchzuführen, dadurch muss beispielsweise im ersten Durchgang auf Sekunde 3,6,9 ein Alarmton mit Delay also eigentlich Sekunde 2,5 und 5,5 und 8,5 ein Alarm jeweils erfolgen. Danach geht es weiter mit Sekunden 13, 16, 19 bzw. 23, 26, 29 bzw. 33, 36, 39
Bzw. 43,46,49 und so weiter.

Meine Idee war eine passende Tondatei zu finden, herunterzuladen und einzulesen, danach eine Funktion zu schreiben, die eine For-Schleife beinhaltet, damit sich der Alarm wiederholt. Allerdings scheitere ich gerade an der Realisierung der For-Schleife mit den Alarmausgaben, unter Delay Berücksichtigung.

Kann mir jemand helfen?

Lieben Gruß Smile
Private Nachricht senden Benutzer-Profile anzeigen


Matlabanfaenger94
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 29.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2019, 15:36     Titel: Alarmton-Funktion, Erstellung For-Schleife und Timer
  Antworten mit Zitat      
Benötige leider immernoch Hilfe dabei und komme alleine nicht weiter. Kann mir jemand sagen, wie ich einen Timer da reinbekomme und die For-Schleife so wie auskommentiert anpassen kann?

Das hab ich bisher:

% erstmal Sound einlesen und auf 1 Sekunde kürzen:

load gong.mat
filename = 'gong.flac';
audiowrite(filename,y,Fs);
samples = [1,1*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);

%dann alarmfunktion erstellen mit i = 0:100 sekunden (für 10*10 sec Messungen):

alarmton = 0;
function alarmton = alarm(i)
for i = 1:100 % Sekunden
%Sekunden hochzählen - wie realiesiere ich den Timer hier?
%zu bestimmten Sekunden soll Sound ausgegeben werden
if
%zu den angegebenen Sekunden soll ein Ton erscheinen
i =3;6;9;13;16;19;23;26;29;33;36;39;43;46;49;53;56;59;63;66;69;73;76;79;83;86;89;93;96;99;
alarmton = sound(y,Fs);
else
alarmton = 0;
%zu allen anderen Sekunden soll kein Alarm ausgegeben werden
end
end
%Delay oder anderes in Funktion einbauen, sodass Alarmton 0,5 sec früher ertönt

Lieben Gruß

Untitled3.m
 Beschreibung:

Download
 Dateiname:  Untitled3.m
 Dateigröße:  839 Bytes
 Heruntergeladen:  232 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: 02.12.2019, 16:52     Titel:
  Antworten mit Zitat      
Hallo,

für mich stellen sich da mehr Fragen als ich Antworten habe.

Soll diese Funktion laufen während in der gleichen MATLAB-Session die Messungen gemacht werden? Dann solltest du die timer-Objekte von MATLAB verwenden, siehe z.B. hier
https://de.mathworks.com/help/matla.....-matlab-timer-object.html
Ansonsten würde ich pause verwenden.

Zitat:
%Delay oder anderes in Funktion einbauen, sodass Alarmton 0,5 sec früher ertönt

Das klingt für mich danach, als ob du MATLAB sagen willst, dass es vor 0,5 Sekunden etwas hätte machen sollen, und das ergibt für mich nicht den geringsten Sinn.

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
 
Matlabanfaenger94
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 29.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2019, 09:24     Titel:
  Antworten mit Zitat      
Hallo Harald,

die Funktion soll über Matlab laufen, die Messungen hingegen werden mit einer anderen Software gemacht, bzw. in Matlab gar nicht weiter berücksichtigt. Die Matlab-Funktion soll parallel zum Start der Messung mit der anderen Software aufgerufen werden.

Danke für die Antwort.

Lieben Gruß
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: 05.12.2019, 20:16     Titel:
  Antworten mit Zitat      
Hallo,

und, hast du nun einen der Vorschläge versucht?

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.