Interpretazione di codice matlab
Salve a tutti, sono alle prese con un tool matlab che mi è stato passato; purtroppo per segreti professionali non posso divulgare altre informazioni sull'utilità e scopi del tool... ma gentilmente vi chiedo una mano a decifrarne una parte che mi è poco chiara.
Posso solo dire che il tool genera un segnale chirp ad una certa portante fi, con una determinata ampiezza di banda B in una finestra temporale definita da un vettore Time, e poi c’è un vettore che definisce il tempo t_x. Successivamente il segnale viene finestrato con una finestra di Hanning.
Infine il codice prosegue calcolando il supporto del segnale. Ora dando uno sguardo in rete, mi è sembrato di capire che per supporto di un vettore si intendono gli indici in corrispondenza dei quali gli elementi del vettore originale siano diversi da zero, sbaglio?
Questa è la parte di tool che mi è chiara:
Sinceramente non capisco perché l’autore del codice calcola il supporto del segnale originario in questo modo:
Starts e Ends dovrebbero essere i punti iniziali e finali del supporto, calcolati per le frequenze positive, perché il codice poi continua aggiungendo i valori per le frequenze negative;
calcolato in questo modo mi da più un’idea della stima dello spettro del segnale, nel senso di stima dei punti iniziali e finali.
Si accettano suggerimenti

Posso solo dire che il tool genera un segnale chirp ad una certa portante fi, con una determinata ampiezza di banda B in una finestra temporale definita da un vettore Time, e poi c’è un vettore che definisce il tempo t_x. Successivamente il segnale viene finestrato con una finestra di Hanning.
Infine il codice prosegue calcolando il supporto del segnale. Ora dando uno sguardo in rete, mi è sembrato di capire che per supporto di un vettore si intendono gli indici in corrispondenza dei quali gli elementi del vettore originale siano diversi da zero, sbaglio?
Questa è la parte di tool che mi è chiara:
- Codice: Seleziona tutto
x = zeros(size(t_x)); % qua crea il vettore per il segnale
x = x+cos(2*pi*fi*t_x+pi*B/Time(2)*... % Segnale Chirp
(t_x-Time(2)/2).^2);
han =.5*(1-cos(2*pi*(1:length(x))/(length(x)+1))); % qua crea la finestra Hann e la applica al segnale
x = x.*han;
Sinceramente non capisco perché l’autore del codice calcola il supporto del segnale originario in questo modo:
- Codice: Seleziona tutto
% Calculate original support set
% explain: we take the starting edges: fi-B/2 and divide by fp. minus
% 0.5 to shift half fp towards zero. then M0+1 is to move 0 = M0+1.
inizio = ceil((fi-B/2)/fp-0.5+L0+1); % fp è una frequenza utilizzata in un mixer ; L0 è un altro parametro del tool
fine = ceil((fi+B/2)/fp-0.5+L0+1);
Supp=[inizio,fine];
Starts e Ends dovrebbero essere i punti iniziali e finali del supporto, calcolati per le frequenze positive, perché il codice poi continua aggiungendo i valori per le frequenze negative;
calcolato in questo modo mi da più un’idea della stima dello spettro del segnale, nel senso di stima dei punti iniziali e finali.
Si accettano suggerimenti
