Newsgroup: it.comp.programmare
Titolo: Creazione onda quadra in matlab

Un saluto.
Spero ci sia qualcuno che mi possa aiutare.
Devo creare in simulink (o con una funzione matlab, ma cmq da riversare 
in simulink) un segnale a onda quadra a partire da una serie di simboli 
(1 e -1) dichiarati in precedenza e inseriti in un vettore e con un 
certo tempo di clock. 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...
C'ï¿œ qualcuno che mi puï¿œ aiutare?
Vi ringrazio

 C'� qualcuno che mi pu� aiutare?
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 

 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...

"Pleg" <25mV@300.K> ha scritto nel messaggio 
news:gvt2e1$ai1$1...@news.stanford.edu...

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... 

 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?

 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 

 Vi ringrazio
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 

 disponibili i blocchi che mi erano necessari.
Eh ma spiega, spiega :-)

 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.