|
|
Alarmton-Funktion mit Delay, Hilfe benötigt |
|
Matlabanfaenger94 |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 29.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.11.2019, 08:31
Titel: Alarmton-Funktion mit Delay, Hilfe benötigt
|
|
|
|
|
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ß
|
|
|
|
|
Matlabanfaenger94 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 29.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.12.2019, 14:36
Titel: Alarmton-Funktion, Erstellung For-Schleife und Timer
|
|
|
|
|
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ß
Beschreibung: |
|
Download |
Dateiname: |
Untitled3.m |
Dateigröße: |
839 Bytes |
Heruntergeladen: |
271 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.12.2019, 15:52
Titel:
|
|
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 ;)
|
|
|
Matlabanfaenger94 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 29.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.12.2019, 08:24
Titel:
|
|
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ß
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.12.2019, 19:16
Titel:
|
|
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 ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|