Simulazione delle condizioni di variabilità del rapporto segnale/disturbo nella correlazione digitale

Da Wikiversità, l'apprendimento libero.
lezione
lezione
Simulazione delle condizioni di variabilità del rapporto segnale/disturbo nella correlazione digitale
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Simulatori dinamici dei processi di correlazione
Avanzamento Avanzamento: lezione completa al 100%

Nella fase di progettazione e messa a punto dei circuiti di correlazione, che utilizzano segnali a due stati, le simulazioni dinamiche sono indispensabili.

I simulatori possono essere sia in soluzioni hardware, sia in soluzioni software.

Le configurazioni possono variare, sia per specifiche esigenze tecniche, sia per lo sviluppo di nuove idee.

Una delle caratteristiche salienti dei sistemi di correlazione tra segnali coerenti a due stati si configura nella dipendenza dell'ampiezza della funzione di correlazione, , dal rapporto all'ingresso del dispositivo secondo l'espressione:

A seguito di lunghe attività sperimentali si è appurato che se il comportamento di un circuito di correlazione per segnali coerenti a due stati rispetta la legge sopra riportata si ha la garanzia del suo corretto funzionamento.

Il software per il tracciamento della funzione C(0) = f (Si/Ni)[modifica]

Per gli sviluppi successivi mostriamo il listato di una semplice routine di calcolo e grafica, in linguaggio Visual Basic, per la presentazione della che ci servirà per il prosieguo della lezione.

'Costruzione del reticoIolo cartesiano per la presentazione grafica
Private Sub Form_paint()
For xi = 0 To 4600 * 2 Step 230 * 2 
For yi = 0 To 3200 * 2 Step 20 * 2  
PSet (xi, yi)                        
Next yi                                      
Next xi   
                                     
For yi = 0 To 3200 * 2 Step 160 * 2                  
For xi = 0 To 4600 * 2 Step 30 * 2                       
PSet (xi, yi)                                                
Next xi                                                        
Next yi   
                                                         
Line (0, 1600 * 2)-(4600 * 2 + 160, 1600 * 2)                          
Line (4600, 0)-(4600, 3200 * 2)                                           
End Sub  'fine routine                                                                
'Routine per il calcolo della C(0) = f (Si/Ni) teorica.                          
Private Sub Command1_Click() 'esegue il calcolo e la presentazione grafica a comando di un pulsante  
For sn = -60 To 60 Step 0.1   'impostazione della variabile (Si/Ni) nel campo -60dB  +60dB  passi 0.1 dB  
sk = sn + 60 ' variabile per la grafica delle ascisse  
t = 1 / (1 + (1 / (10 ^ ((sn) / 20)) ^ 2)) 'calcolo  del Seno 
arc = Atn(t / Sqr(-t * t + 1)) 'calcolo dell'arco   
Su = (2 / 3.14) * arc 'calcolo della funzione Crt = f (Si/Ni) 
PSet (9200 * sk / 120, 3200 - 3200 * Su), vbRed  'traccia la Crt=f(Si/Ni) 
Next     
End Sub'fine della routine

In figura 1 il risultato della routine:

figura 1

Il grafico mostra come per una variazione del rapporto da a l'ampiezza della normalizzata varia da

Esempio di un circuito di prova per il controllo di un correlatore hardware per segnali a due stati[modifica]

Procediamo all'esame di un circuito il cui funzionamento è certo allo scopo di creare un indicativo percorso di lavoro.

Supponiamo che il circuito sotto riportato, tratto nero di figura 2, relativo ad un semplice correlatore a coincidenza di segni debba essere costruito e provato in laboratorio prima del suo impiego sperimentale. [1].

Il circuito non richiede unità di ritardo temporale dovendo essere i segnali tra loro coerenti.

figura 2


Per eseguire il controllo del correlatore è necessaria la parte circuitale a tratto blu ,sia per la simulazione dei segnali da applicare ad esso, sia per i rilievi dei dati.

I componenti strumentali riportati in figura sono:

  • A- Per il circuito sperimentale da testare, a tratto nero :

(l1) ; (l2) limitatori dei segnali per la trasformazione degli stessi in tensioni a due stati indicate con

(ml) moltiplicatore dei segni (correlatore a coincidenza di polarità) secondo l'algoritmo:

(int) circuito integratore analogico secondo l'espressione

  • - Per il circuito di simulazione, a tratto blu:

1 -generatore del segnale: emette un segnale di rumore ad ampiezza costante

2,3 -generatori del disturbo: emettono due segnali di rumore tra loro incoerenti dai livelli costanti di

4 -attenuatore del segnale: attenua il livello del segnale secondo un coefficiente variabile per ottenere un segnale d'ampiezza .

Con la variazione manuale di si generano le condizioni per il controllo del correlatore secondo la funzione

5,6 -sommatori per la combinazione del segnale e dei disturbi: rendono alla loro uscita i segnali + rumori pari a

7,8 -strumenti di misura per il rilievo dei dati

Risultati del controllo

Se con la variazione dell'ampiezza del segnale , tramite l'attenuatore 4, i valori di coincidono con gli analoghi teorici calcolati con l'algoritmo

si ha la certezza che il correlatore sperimentale in hardware è perfettamente funzionante.

La correlazione tra segnali a due stati sviluppata tramite software.[2][modifica]

Se si presenta la necessità di sviluppare il processo di correlazione su di un computer si può seguire la traccia del correlatore sperimentale esaminato in precedenza come illustrato nelle seguenti sezioni di programmazione.[3].

PREMESSA:

tutte le operazioni sviluppate sul computer sono, ovviamente, eseguite su grandezze campionate secondo Nyquist.

Il software deve simulare, sia la funzione di correlazione , sia la generazione dei segnali e dei disturbi necessari per il controllo delle caratteristiche intrinsiche del correlatore software.

Sezione per lo sviluppo del software di correlazione[modifica]

Nel software per la realizzazione del correlatore l'implementazione dell'algoritmo per il computo del prodotto logico e di seguito per l'integrazione numerica

riportati in figura 2 è molto semplice come mostra il listato seguente:

'CORRELAZIONE TRA I SEGNALI A DUE STATI
For n = 1 to k
c = 1 - (n1 Xor n2) ' moltiplicazione logica dei segni dei campioni n1 n2 
Cr = c + Cr - (Cr / beta) ' integrazione numerica dei valori di Cr secondo il valore impostato di beta [4]
next n

Si tratta di un ciclo For che ad ogni giro inserisce nuovi campioni di n1 ; n2 e pone in apposita memoria il valore di Cr.

Sezione per lo sviluppo del software per la simulazione dei rumori e del segnale[modifica]

Il software per la simulazione dei rumori e del segnale di rumore per il controllo del correlatore è affidato alle seguenti routine:

SIMULAZIONE DEI GENERATORI DI RUMORE ANALOGICI CAMPIONATI, nl1 e nl2, DI AMPIEZZA COMPRESA TRA - 2.5 e + 2.5

For n = 1 to K
Randomize timer
k1 = Rnd  'si caricano 5 numeri casuali per ottenere valori  di nl1 completamente scorrelati dagli altri
k2 = Rnd  
k3 = Rnd      
k4 = Rnd          
k5 = Rnd              
nl1 =  (k1 + k2 + k3 + k4 + k5) - 2.5


ka1 = Rnd 'si caricano 5 numeri casuali per ottenere valori  di nl2 completamente scorrelati dagli altri
ka2 = Rnd     
ka3 = Rnd         
ka4 = Rnd           
ka5 = Rnd                 
nl2 =  (ka1 + ka2 + ka3 + ka4 + ka5) - 2.5


SIMULAZIONE GENERATORE DEL SEGNALE ANALOGICO CAMPIONATO, Yo, DI AMPIEZZA COMPRESA TRA - 2.5 e + 2.5 
ks1 = Rnd 'si caricano 5 numeri casuali per ottenere valori  di Yo completamente scorrelati dagli altri
ks2 = Rnd     
ks3 = Rnd         
ks4 = Rnd             
ks5 = Rnd                 
yo = (ks1 + ks2 + ks3 + ks4 + ks5) - 2.5

Next n

Si tratta di un ciclo For che ad ogni giro inserisce nuovi campioni di n1 ; n2 e Yo

Sezione per lo sviluppo del software per la simulazione della variabile d'attenuazione[modifica]

Software per la simulazione dell'attenuatore

Si determina il coefficiente d'attenuazione J con la routine:

j = 10 ^ (sn / 20)

si computa il valore di j in dipendenza di ciascun valore di sn espresso in deciBell ( Il valore del rapporto segnale

disturbo , Si/Ni, impostato dall'operatore ).

Sezione per lo sviluppo del software per la simulazione delle funzioni di somma[modifica]

Software per le funzioni analogiche di somma

Le somma tra il segnale attenuato secondo il coefficiente j : ( J Yo) e i rumori nl1 e nl2 si ottiene con la routine:

'PROCESSO DI SOMMA ANALOGICA TRA CAMPIONI DEL SEGNALE E DEL RUMORE
For n = 1 to K
Y1 = yo * j + nl1  'somma analogica del segnale attenuato e del rumore nl1 
Y2 = yo * j + nl2 ' somma analogica del segnale attenuato e del rumore nl2
Next n

Si tratta di un ciclo For che ad ogni giro inserisce nuovi campioni di Y1 e Y2

Sezione per la limitazione d'ampiezza dei segnali somma[modifica]

Trasformazione dei segnali analogici Y1 e Y2 in segnali a due stati n1 e n2

Si esegue la trsformazione con la routine:

For n = 1 to K 
If Y1 > 0 Then n1 = 1 Else n1 = 0 'dove  n1 = segno istantaneo dei campioni Y1   
If Y2 > 0 Then n2 = 1 Else n2 = 0 'dove  n2 = segno istantaneo dei campioni Y2 
Next n


Si tratta di un ciclo For che ad ogni giro trasforma i campioni analogici Y1 e Y2 in campioni a due stati n1 e n2 necessari per sviluppare la correlazione con segnali a due stati.

Programma dimostrativo delle routine di simulazione e controllo software[modifica]

Per entrare nell'operatività delle strutture software viste in precedenza è stato studiato il programma Simexe disponibile cliccando indifferentemente uno dei due indirizzi:

CorrSoft

[CorrSoft]


Il programma consente, mediante presentazione video, di confrontare il risultato della correlazione sviluppata via software con la curva caratteristica indicativa del processo teorico:

Per sviluppare questa possibilità alla lista delle istruzioni indicate in precedenza sono aggiunte:

  • a) istruzioni per il calcolo e il tracciamento della teorica
  • b) in sostituzione di j = 10 ^ (sn / 20) l'anello:
For sn = -60 to +60 Step .1
j = 10 ^ (sn / 20)
Next sn

per il tracciamento della dinamica sviluppata via software

Indicazioni d'impiego del simexe[modifica]

Il pannello operativo di simexe.exe è costituito da:

  • reticolo cartesiano per la presentazione dei grafici ( in alto a sinistra )
  • textbox per l'inserzione del numero dei campioni (primo in basso a sinistra) è impostato di base a
  • textbox per l'inserzione del valore di beta (secondo in basso a sinistra) è impostato di base a
  • pulsante per il comando del tracciamento della teorica (primo in alto a destra)
  • pulsante per l'avvio del calcolo della sperimentale ( secondo a destra )
  • pulsante di reset

Una volta avviato il Simexe si ha la possibilità di verificare la bontà del processo di simulazione e controllo le cui routine sono state illustrate in precedenza.

Con Simexe possiamo ottenere la schermata di figura 3 che andiamo a commentare:

figura 3

I grafici visibili sono due:

-traccia rossa: è relativa alla funzione teorica riportata in primo piano; questa funzione non è modificabile dal pannello di controllo, si ottiene cliccando sul pulsante

-punteggiata blu: è relativa alla simulazione del sistema completo, sviluppata per un valore di [5] ed un numero di "campioni"= [6], si ottiene, dopo impostazione valori di </math>beta</math> e "campi.

La dispersione dei punti di calcolo attorno alla curva teorica sono dovuti alla naturale varianza in uscita dei sistemi di correlazione.

Il risultato di questa simulazione mostra come la risposta del sistema sotto esame sia aderente alla funzione teorica, per entro il circa questo è da ritenersi un ottimo traguardo nella simulazione impostata.

Per il controllo di tutta la simulazione si deve scegliere un valore di che contenga la dispersione dei punti rispetto all'andamento della curva teorica.

Se il valore del è maggiore di il numero di campioni non è più sufficiente per consentire una corretta integrazione, in tal caso è necessario impostare il valore dei "campioni a

Al di là del risultato mostrato in precedenza è di notevole interesse vedere come agisce l'integrazione numerica sulla tecnica di simulazione; ciò si ottiene variando da pannello il valore del :

valori piccoli di /math>beta</math> hanno come risultato un aumento della varianza così come mostra figura 4 per

figura 4

L'ottimo risultato ottenuto è dovuto in parte alle routine di simulazione dei segnali che sono le analoghe dei blocchi di figura 2.

Conclusioni[modifica]

I risultati ottenuti con l'impiego di simexe hanno mostrato che il correlatore implementato in software con le due routine:

  • Trasformazione dei segnali da analogici a due statì

Analogo software dei blocchi dei limitatori l1; l2 di figura 2:

For n = 1 to K 
If Y1 > 0 Then n1 = 1 Else n1 = 0 'dove  n1 = segno istantaneo dei campioni Y1   
If Y2 > 0 Then n2 = 1 Else n2 = 0 'dove  n2 = segno istantaneo dei campioni Y2 
Next n
  • 'Correlazione tra segnali a due stati

Analogo software dei blocchi ml; int di figura 2

For n = 1 to k
c = 1 - (n1 Xor n2) ' moltiplicazione logica dei segni dei campioni n1 n2 
Cr = c + Cr - (Cr / beta) ' integrazione numerica dei valori di Cr secondo il valore impostato di beta [4]
next n

ha una risposta praticamente coincidente con quella teorica espressa dalla funzione:

salvo la presenza della varianza che in tale funzione non viene computata.

L'ottimo risultato ottenuto è dovuto in parte alle routine di simulazione dei segnali che sono le analoghe dei blocchi 1; 2; 3; 4; 5; 6 di figura 2

note[modifica]

  1. Si tratta della soluzione hardware
  2. Gli algoritmi software per le procedure seguenti sono scritti in linguaggio Visual Baic; qualsiasi altro linguaggio di calcolo può essere impiegato
  3. Per comodità di confronto tra la struttura hardware e software i simboli di tutte le variabili riportate in figura 2 sono ripetute nelle istruzioni software
  4. il beta è l'equivalente della costante di tempo RC del circuito integratore analogico (si veda 8^ lezione di questa materia)
  5. Il valore di impostato è l'analogo di un elevato valore della costante di tempo di un correlatore hardware
  6. Il numero dei campioni impostato è necessario per ottenere una precisione elevata nel calcolo di

Bibliografia[modifica]

  • Cesare Del Turco, La correlazione , Collana scientifica ed. Moderna La Spezia,1993