C'ᅵ qualcuno che mi puᅵ aiutare?
Vi ringrazio
Se ho capito cosa intendi, ti serve un mantenitore: del "sample & hold" il
"sample" ce l'hai, ti manca lo "hold" :)
Puoi provare a guardare tra gli strumenti avanzati di simulink, nel
pacchetto DSP o cose cosi', non mi stupirei se trovassi qualcosa di gia'
fatto (di norma matlab ha _tutto_ :) , che ti porta in tempo "continuo".
Se no, puoi ricampionare con un clock piu' alto (che e' la stessa cosa che
farebbe matlab: il tempo "continuo" e' ovviamente un tempo discreto, solo a
passo piu' fine).
Pleg
Se dovessi fare un campionamento di un segnale continuo avresti
ragione (campionamento e poi holding). In realtà i campioni sono
definiti " a mano" da me e inseriti in un vettore. Nel pacchetto dsp
c'è il blocco "zero-order hold", che esegue l'holding come dicevi tu,
ma a partire da un segnale tempo continuo.
A me servirebbe di più in interpolatore per trasformare una sequenza
di campioni discreti in una funzione t-continua...
Ho creato in matlab una funzione usando la classica formula: y = sum:
Ak*rect(t-KT). y risulta una matrice con i vari valori della funzione, e
graficandola insieme a un vettore dei tempi viene graficata correttamente.
Non riesco per� a inserire (e graficare) questi valori in simulink...
> Ho provato a mettere in un vettore i valori scelti e in un altro
> vettori i tempi di campionamento ma così facendo risulta ovviamente
> un'onda triangolare...
Nel senso che hai eseguito un prodotto di convoluzione?
Non conosco Simulink ma credevo che lavorasse solo in tempo discreto,
come si rappresentano funzioni in tempo continuo, con l'espressione
analitica? Cioè che tipo di oggetto vorresti ottenere?
Devo fare il prodotto di due segnali. Uno � un segnale binario ottenuto con
un blocco gi� costruito in simulink (in pratica se prendo l'uscita di questo
blocco e visualizzo l'uscita su un grafico mi visualizza un'onda quadra). Il
secondo segnale invece lo devo costruire a partire da dei campioni, che devo
inserire io "a mano" e che per comodit� ho messo in un vettore. Se per
esempio avessi a=[1 0 0 1 1 0] vorrei in uscita un segnale continuo del tipo
(spero mantenga la formattazione):
|-----| |----------|
| |_________| |_____
0 T 2T 3T 4T 5T
Come dicevo nell'altro post, sono riuscito ad ottenere una funzione (in
matlab!) che, dato il vettore t dei tempi e un vettore y(trasformazione di
a), con plot(t,y) riesco ad avere l'onda sopra.
Il problema � che non riesco a trasportare questa funzione in simulink.
Riassumendo un attimo in questo momento dovrei sommare a una sorgente
binaria (continua) dei valori di un vettore (discreti), e questo ovviamente
non � possibile, se prima non trasformo in un segnale tempo continuo la
sequenza di valori discreti
Ho risolto.
Avevo una versione un p� datata di simulink, ho aggiornato all'ultima e ha
disponibili i blocchi che mi erano necessari.
Grazie per l'aiuto
> Ho risolto.
> Avevo una versione un pò datata di simulink, ho aggiornato all'ultima e ha
> disponibili i blocchi che mi erano necessari.
Eh ma spiega, spiega :-)
Non volevo entrare troppo nel dettaglio, ma se insisti :)
In pratica dovevo creare una Walsh-Hadamard sequence, utilizzata nei sistemi
CDMA (tecnica utilizzata per la trasmissione in ambito 3G, WLAN ecc). Avevo
realizzato una funzione che mi generava i campioni di questa sequenza, che
sarebbero poi dovuti andare a formare la forma d'onda quadra.
Nel nuovo simulink c'� gi� un blocco che realizza la sequenza di Walsh,
quindi � stato sufficente buttar dentro quello :)
> CDMA (tecnica utilizzata per la trasmissione in ambito 3G, WLAN ecc)
Anche Ethernet.