Filtraggio dati

di il
7 risposte

Filtraggio dati

Ho delle sinusoidi che dovrei filtrare attaverso matlab. Qual'è l'istruzione più giusta da utilizzare.

7 Risposte

  • Re: Filtraggio dati

    Quale tipo di filtro vuoi usare?
  • Re: Filtraggio dati

    Vorrei utilizzare un filtro passa basso. Io ho delle frequenza che vanno da 0.5mhz a 20 mhz. Avevo pensato ad utilizzare l'istruzione butter per determinare i parametri e successivamente a filter
  • Re: Filtraggio dati

    Hai determinato il tipo di filtro, non capisco quale sia la domanda.
    E' difficile rispondere a domande del tipo "quale funzione è meglio usare" ecc., non conoscendo il contesto e quello che si vuole ottenere.

    Comunque, hai individuato un tipo di filtro ecc.

    Hai provato ad implementarlo?
    Conosci il risultato che ti aspetti di ottenere (cioè, sei in grado di capire se il risultato che ottieni è giusto o, almeno, ragionevole)?
    Hai ottenuto il risultato che ti aspettavi?

    Dalla risposta a queste domande, dovresti capire se la scelta che hai fatto è quella giusta o, in caso contrario, desumere delle indicazioni su come procedere.

    Hope this helps.
  • Re: Filtraggio dati

    Purtroppo non riesco a capire come funziona butter in quanto non riesco a capire come debba essere calcolato il parametro wn.
  • Re: Filtraggio dati

    In base alla documentazione di MatLab (http://uk.mathworks.com/help/signal/ref/butter.html#inputarg_Wn):
    Wn — Cutoff frequency
    scalar | two-element vector
    Cutoff frequency, specified as a scalar or a two-element vector. The cutoff frequency is the frequency at which the magnitude response of the filter is 1 / v2.

    If Wn is scalar, then butter designs a lowpass or highpass filter with cutoff frequency Wn.
    If Wn is the two-element vector [w1 w2], where w1 < w2, then butter designs a bandpass or bandstop filter with lower cutoff frequency w1 and higher cutoff frequency w2.
    For digital filters, the cutoff frequencies must lie between 0 and 1, where 1 corresponds to the Nyquist rate—half the sample rate or p rad/sample.
    For analog filters, the cutoff frequencies must be expressed in radians per second and can take on any positive value.
    Data Types: double
    Sempre nella stessa pagina puoi trovare diversi esempi e spiegazioni.

    Hope this helps.
  • Re: Filtraggio dati

    Altra domanda vorrei sapere la corretta sintassi per trovare l'elemento max di una certa colonna di un determinato vettore, che va dall'indice x all'indice y come possibile fare ciò. Da premettere che so il valore di x ma non so il valore di y perchè deriva dalla somma di x+un altro numero.
  • Re: Filtraggio dati

    Per accedere ad una sezione di un vettore devi usare due indici:
    vettore(ind_inizio:idx_fine)
    Se conosci il primo (come nel caso della domanda), il secondo sarà quindi
    idx_fine=x+k
    
    il che corrisponde a quanto hai scritto nella domanda (somma di x+un altro numero).

    Nell'esempio che segue, vengono calcolati i valori massimi di 4 sezioni di un vettore: definito x il "punto di partenza, il valore dell'indice-fine viene definito a partire da 4 numeri random.
    % Creazione di un vettore di esempio
    vett=randi(500,13)
    % Impostazione del valore di "x"
    x=3;
    % Definizione di una serie (4) di valori di y (compresi tra il valore di
    % "x" ed il numero delle righe della matrice di esempio
    y=randi([0 length(vett)-3],4,1)
    % Inizializazine del vettore di output
    the_max=nan(length(y),1);
    % Loop per la ricerca del valore massimo
    for i=1:length(y)
       the_max(i)=max(vett(x:y(i)+3))
    end
    
    
    Hope this helps.
Devi accedere o registrarti per scrivere nel forum
7 risposte