Se usi una funzione come plot (x, y) il modo più semplice per visualizzarli sullo stesso grafico è semplicemente non ricampionare nessuno di essi, ma semplicemente riempire ogni vettore x con i valori adeguati per ciascun segnale, quindi entrambi appaiono dove vuoi sul display.
Puoi anche impostare il grafico in modo da avere due diversi assi x (uno per ogni curva) con etichette e legende diverse, se lo desideri.
Ora, riguardo al ricampionamento. Userò Fs per la frequenza di campionamento.
Un segnale campionato non può contenere componenti di frequenza superiori a Fs / 2. È bandlimited.
Inoltre, un segnale che contiene solo componenti di frequenza fino a una frequenza F può essere rappresentato con precisione a una frequenza di campionamento di 2F.
Nota che questa rappresentazione "accurata" è matematica, non visiva. Per una buona rappresentazione visiva, avere 5-10 campioni per periodo (quindi nessuna componente di frequenza notevole sopra Fs / 10 o giù di lì) aiuta davvero il cervello a collegare i punti. Vedi questa figura: stesso segnale, la curva inferiore ha una frequenza di campionamento più bassa, non c'è perdita di informazioni perché la frequenza è inferiore a Fs / 2 ma sembra ancora una schifezza.
È lo stesso identico segnale però. Se sovracampiona (ricostruisci) quello in basso con un filtro sinc, otterrai quello in alto.
La decimazione (downsampling) ripiegherà nel segnale tutti i componenti di frequenza più alti della nuova Fs / 2. Questo è il motivo per cui di solito mettiamo un filtro passa basso ripido prima del decimatore. Ad esempio, per eseguire il downsampling da Fs = 2000 Hz fino a Fs = 30 Hz, per prima cosa applicheremmo un passa basso di alto ordine con un taglio un po 'inferiore a 15 hz e solo successivamente decimiamo.
Tuttavia, questo filtro introdurrà problemi di risposta transitoria, presenterà un ritardo di fase a determinate frequenze e potrebbe modificare l'aspetto visivo del segnale, cosa che non si desidera fare se si desidera confrontarli visivamente. Si applica la regola sopra, non sottocampionare troppo, mantieni sempre Fs come 5-10 volte la più alta frequenza di interesse se vuoi che la forma del segnale significhi qualcosa. Questo è il motivo per cui un ambito 200MHz deve campionare a 1-2 Gsps.
La mia domanda è: è più saggio ricampionare la seconda curva o ricampionare la prima?
Come detto sopra, il più saggio è non confondere affatto con i dati e semplicemente presentarli ciascuno con il proprio asse x sullo stesso grafico.
In alcuni casi sarebbe richiesta la conversione del tasso di campionamento. Ad esempio per ridurre il numero di punti, ridurre l'uso della memoria, renderlo più veloce ... o per fare in modo che entrambi i segnali utilizzino le stesse coordinate "x" per eseguire calcoli su di essi.
In questo caso è anche possibile utilizzare un F intermedio, decodificare il segnale con F alti e campionare quello con F bassi. O semplicemente sottocampionare quello con le F alte.
Fai attenzione ai criteri di Nyquist e non scegliere una frequenza di campionamento troppo bassa o perderai la fedeltà della forma d'onda sul segnale Fs alto, otterrai spostamenti di fase a causa del filtro passa-basso, ecc. O se conosci il contenuto ad alta frequenza è trascurabile, puoi fare una scelta informata. io
Se usi l'interpolazione lineare per far corrispondere le coordinate "x", ricorda che ha bisogno anche di una F piuttosto alta. L'interpolazione avrebbe funzionato sul segnale superiore nella trama sopra, non avrebbe funzionato su quello in basso. Lo stesso se sei interessato a min, max e simili.
E ... nota che il sovracampionamento / upsampling guasterà anche la risposta transitoria, almeno visivamente. Ad esempio, se si esegue un sovracampionamento di un passaggio, si riceveranno molti squilli a causa della risposta all'impulso del filtro sinc. Questo perché ottieni un segnale bandlimited e un bel passo con gli angoli quadrati ha in realtà una larghezza di banda infinita.
Prenderò un'onda quadra come esempio. Pensa al segnale campionato originale: 0 0 0 1 1 1 0 0 0 1 1 1 ... Il tuo cervello vede un'onda quadra.
Ma la realtà è che dovresti immaginare ogni campione come un punto e non c'è nulla tra i punti. È l'intero punto del campionamento. Non c'è nulla tra i campioni. Quindi, quando questa onda quadra è stata sovracampionata usando un'interpolazione sincera ... sembra divertente.
Questa è semplicemente la rappresentazione visiva di un'onda quadra bandlimited. I wiggles esistono ... o forse no. Non c'è modo di sapere se fossero presenti o meno nel segnale originale. In questo caso, la soluzione sarebbe stata quella di acquisire l'onda quadra originale con una frequenza di campionamento più elevata per ottenere una migliore risoluzione sul bordo, idealmente si vogliono diversi campioni sul bordo in modo che non sembri più un passo di larghezza di banda. Quindi quando si sovracampiona un tale segnale, il risultato non avrà artefatti visivi.
Comunque. Come puoi vedere ... basta pasticciare con gli assi x. È molto più semplice.