Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Interpretazione di codice matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Interpretazione di codice matlab

Messaggioda Foto Utentecorgan83 » 18 set 2012, 17:12

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:
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 O_/ O_/ O_/
Ultima modifica di Foto Utentesimo85 il 18 set 2012, 21:39, modificato 1 volta in totale.
Motivazione: Inserito codice tra i tag CODE
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite