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

GUI Stimmgerät

 

char0n
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 10.07.09
Wohnort: ---
Version: Matlab 7.6.0 (R2008a)
     Beitrag Verfasst am: 10.07.2009, 20:19     Titel:
  Antworten mit Zitat      
Die Funktion gibt nichts zurück, die schaut ja auch nur was gleich ist.

habe jetzt mal

Code:
GrundFrequenz = f(find(wavefft >= max(wavefft)));


probiert und bekomme den richtigen Wert zurück, jetzt geht es nur noch darum mehrere Maxima zu finden, um somit mehrere Töne aus einem Spektrum bestimmen zu können.
Habe auch "findpeak" probiert aber das verschiebt mein spektrum aus irgendeinem Grund um 15Hz nach links, kA warum.
Private Nachricht senden Benutzer-Profile anzeigen


char0n
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 10.07.09
Wohnort: ---
Version: Matlab 7.6.0 (R2008a)
     Beitrag Verfasst am: 11.07.2009, 00:12     Titel:
  Antworten mit Zitat      
So das GUI läuft soweit und ich kann immerhin einen einzigen Ton bestimmen.

Ich habe versucht die *.fig und die *.m zu compilieren.
Die exe läuft soweit, aber es wird nicht auf die *.mat zugegriffen in der die Noten mit den passenden Frequenzen drin stehen.
Was muss ich tun damit das geschieht?
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 11.07.2009, 19:21     Titel:
  Antworten mit Zitat      
char0n hat Folgendes geschrieben:
Die exe läuft soweit, aber es wird nicht auf die *.mat zugegriffen in der die Noten mit den passenden Frequenzen drin stehen.
Was muss ich tun damit das geschieht?

Die muss im gleichen Ordner sein wie die exe oder du gibst im Quellcode den Pfad zu der Datei an oder du lässt mittels UIGETDIR oder UIGETFILE den User nach dem Pfad bzw. der Datei suchen.

Wenn FINDPEAKS nicht funktioniert, dann würde ich folgendes machen:
Du schreibst dir eine Funktion an welche du den Frequenzgang und die Anzahl der Töne übergibst (in der Hoffnung das diese vorher feststeht) und welche dir dann die Grundfrequzen zurückgibt:
Code:
function Grundfrequenzen = toenefinden(Frequenzen, AnzahlToene)

Grundfrequenzen = zeros(AnzahlToene, 1);
for k=1:AnzahlToene
    [Grundfrequenzen(k), ind] = max(Frequenzen);
    Grundfrequenzen(ind) = []; % zuletzt gefundenes Maximum wird gelöscht
end

Der Aufruf innerhalb des Programmes würde dann so aussehen:
Code:
Grundfrequenzen = toenefinden(f, anzahltoene);


Ich hoffe zumindest, dass ich jetzt nicht wieder nen blöden Fehler reingebaut habe, nachdem ich den Beitrag gerade zum 3. Mal getippt habe - Firefox ist tatsächlich 2x abgestürzt... *kopfschüttel*

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.