Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    1

    [MATLAB] come faccio a trovare l'energia?

    Allora, devo prendere in imput un wave, e per ogni sezione da 512 samples dare come risultato l'energia di 8 bande di frequenza a scelta (nella trasf di fourier).

    ps è necessario usare le funzioni di Voicebox

    Allora io ho usato readwave, poi per dividere in 8 sicuramente ho sbagliato perchè ho scritto

    [y,fs,wmode,fidx]=readwav('piano.wav','r',-1,0);
    left=y(:,1);
    frames=enframe(left, 512);

    è che non so cosa mettere...

    e infine ho altri dubbi: ho usato zoomfft perchè in teoria dovrebbe fare il dovuto:

    % ZOOMFFT DFT evaluated over a linear frequency range Y=(X,N,M,S,D)
    % Inputs:
    % x vector (or matrix)
    % n frequency increment is fs/n [default n=length(x)]
    % m mumber of output points is floor(m) [default m=n]
    % s starting frequency is s*fs/n [default s=0]
    % d dimension along which to do fft [default d=first non-singleton]
    %

    allora ho scritto

    frames=transpose(frames);
    u = zoomfft(frames,10,1,0,1);
    u=u.*conj(u);

    ma non plotta NULLA e sono disperato... qualcuno può aiutarmi a capire cosa sbaglio?

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Ti rispondo x curiosita, pare che tu dica di plottare un solo punto, sbaglio?
    Per gli Spartani e Sparta usa spartan Il mio github

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.