Come posso applicare una finestra di funzione a un segnale?


9

Come posso applicare una funzione di finestra come Hamming o Lanczos a un segnale, usando i suoi coefficienti?

Voglio dire, quale metodo posso usare per fare questo? FFT? Convolution? Quale metodo ha le prestazioni migliori?


4
Uno in genere esegue una moltiplicazione vettoriale di una funzione di finestra, ridimensionata alla stessa lunghezza vettoriale dei dati e del vettore dati, prima di una FFT.
hotpaw2

Descrivi la tua domanda in modo più dettagliato.
nibot

Risposte:


3

Ho scritto questa lunga risposta per qualcuno ieri su stackoverflow.com. .

/programming/9694297/matlab-fft-xaxis-limits-messing-up-and-fftshift/9699983#9699983

È un esempio basato su matlab che mostra come utilizzare FFT per l'analisi, ma potrebbe darti alcune idee A metà del secondo blocco di codice, applico una funzione di finestra a un segnale bufferizzato. Questa è effettivamente una moltiplicazione vettoriale della funzione finestra con ciascun blocco bufferizzato di dati di serie temporali. Uso solo un subdolo trucco a matrice diagonale per farlo in modo efficiente.


15

Come posso applicare una funzione di finestra come Hamming o Lanczos a un segnale, usando i suoi coefficienti?

Basta moltiplicare punto per punto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.