ricevitore digitale per hf

Transcript

ricevitore digitale per hf
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
RICEVITORE DIGITALE PER HF
SANDRO TOGNANA, IW3GZQ
Via A.Guidi n°1, 35125 Padova
[email protected] oppure [email protected]
Rev. 0
Pagina 1
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
1. INTRODUZIONE
La progettazione di un ricevitore completamente digitale era un’idea che avevo da tempo,
anche se non mi ero mai spinto a tentarne la realizzazione pratica, intravedendo difficoltà
enormi. Oggi, la disponibilità di componentistica dedicata e la maggior esperienza nel
campo dei processori DSP, hanno permesso, con un discreto impegno di tempo, la
realizzazione di un primo prototipo di ricevitore digitale. Dal momento che tutte, o quasi, le
funzioni del ricevitore dipendono dal software, si può intuire quale possa essere la sua
flessibilità, che permette la sperimentazione di moltissime combinazioni di banda passante
e/o schema di demodulazione. Le difficoltà di costruzione sono limitate alla saldatura dei
componenti SMD, non essendo richiesta nessuna taratura o allineamento degli stadi di IF,
che sono realizzati in modo digitale con la tecnica della decimazione.
Questo ricevitore si presta in modo particolare ad essere utilizzato come porzione finale
(frequenza intermedia e demodulatore) di un ricevitore supereterodina, preceduto da stadi
preselettori e mixer tradizionali. La banda passante particolarmente elevata del
convertitore analogico digitale utilizzato, permetterebbe l’impiego di una frequenza di
prima conversione molto alta, ad esempio di 70 MHz, utilizzando il metodo del
sottocampionamento (ricevitore “super Nyquist”).
Pur essendo queste tecniche molto diffuse in ambito professionale, nel campo
radioamatoriale gli esempi di realizzazioni di questo tipo si contano sulla punta delle dita:
questo ricevitore può costituire un ottimo punto di partenza per la sperimentazione e
l’acquisizione di nuove esperienze.
2. SCHEMA A BLOCCHI
Lo schema a blocchi del ricevitore digitale e’ riportato in figura 1. Il segnale proveniente
dall’antenna viene limitato alla banda 0…20 MHz per mezzo di un filtro passa basso,
amplificato per mezzo di uno stadio a larga banda, ulteriormente filtrato ed inviato ad un
convertitore analogico digitale.
AD9632
PB
AD6640
PB
ADC
AD6620
decimator
e
ADSP2184
DSP
AD1858
DAC
DATI o
AUDIO
ADUC812
µP
PC
Figura 1. Schema a blocchi del ricevitore digitale.
Rev. 0
Pagina 2
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Il segnale numerico così ottenuto viene elaborato da un chip decimatore che provvede ad
effettuare, in forma numerica, la traslazione di frequenza e la selezione del canale
richiesto tramite tre stadi in cascata di filtri numerici decimatori.
I dati relativi alla porzione di spettro desiderata vengono inviati ad un processore DSP, che
provvede a demodulare, filtrare ed effettuare altre elaborazioni sul segnale: solo a questo
punto, infine, i campioni numerici vengono inviati ad un convertitore digitale analogico e
quindi all’altoparlante.
3. STADIO D’INGRESSO
3.1 FILTRO ANTIALIAS
La banda d’ingresso del ricevitore deve essere limitata utilizzando un filtro passa basso
che assicuri una sufficiente attenuazione per frequenze superiori alla frequenza di Nyquist
(pari a metà della frequenza di campionamento) per evitare che queste ultime compaiano
in banda per aliasing. La frequenza di campionamento è pari a 50 MHz e la frequenza di
taglio del filtro d’ingresso è stata limitata a soli 20 MHz, anziché 25 MHz, assicurando, in
questo modo, un margine di sicurezza maggiore sull’aliasing.
Il filtro, progettato e realizzato da IV3NWV (Nicolangelo Palermo) e IW3MUR (Cesare) è
stato realizzato con componenti SMD su circuito stampato doppia faccia con spessore 0.8
mm, di dimensioni 30 x 12 mm. In figura 2 si possono vedere le caratteristiche del filtro,
mentre in appendice A sono riportati lo schema elettrico e lo sbroglio del circuito stampato.
Figura 2. Caratteristiche del filtro d’ingresso (antialias) progettato e realizzato da IV3NWV e da
IW3MUR.
Rev. 0
Pagina 3
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
3.2 PREAMPLIFICATORE D’INGRESSO
La scelta del preamplificatore da utilizzare in questo tipo di applicazione (larga banda ed
elevata dinamica) è critica: le caratteristiche del circuito devono essere tali da non
pregiudicare in nessun modo le prestazioni del convertitore A/D che segue.
La scelta è caduta sull’AD9632, componente appositamente progettato per svolgere la
funzione di amplificatore pilota per convertitori A/D ad alta velocità.
Le caratteristiche salienti del componente sono [2]:
-
larghezza di banda (4 Vpp):
bassissima distorsione (SFDR):
-
basso rumore:
alimentazione:
assorbimento:
180 MHz
-113 dBc a 1 MHz
-72 dBc a 20 MHz
7 nV/√Hz
da ± 3 V a ± 5 V
17 mA
Lo schema elettrico, riportato in appendice B insieme allo sbroglio del circuito stampato, è
molto semplice: si tratta, infatti, di uno stadio in configurazione invertente, con
amplificazione pari a 10 volte (+20 dB in tensione).
L’amplificatore è stato realizzato su un circuito stampato a doppia faccia di dimensioni
ridotte (30 x 40 mm) ed inscatolato in un box di alluminio (75 x 52 mm) dotato di connettori
BNC per l’ingresso e l’uscita del segnale (vedi foto 3).
Tutti i componenti (tranne l’AD9632) sono del tipo a montaggio superficiale, ed, anche in
questo caso, un intero lato del circuito stampato è dedicato esclusivamente al piano di
massa; nello stesso contenitore trova posto anche il filtro passa basso d’ingresso.
Questo stadio richiede per l’alimentazione una tensione duale di ± 5 V.
In figura 3 è riportato l’andamento della IP3 nel caso di guadagno unitario che, come si
può vedere, sono ottime e raggiungibili con maggior difficoltà nel caso si ricorresse ad una
soluzione a componenti discreti.
Figura 3. Preamplificatore: andamento dell’intercetta del terzo ordine (IP3) in funzione della
frequenza ( G = +1 ). Sotto i 20 MHz supera i +45 dBm !
Rev. 0
Pagina 4
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
4. SCHEDA “RF” (Digital Tuner)
La scheda chiamata “RF” comprende i seguenti componenti: convertitore A/D, decimatore
e microcontrollore.
4.1. CONVERTITORE A/D
La scelta del convertitore analogico digitale (ADC) è determinante ai fini delle prestazioni
del ricevitore digitale: da questo componente dipendono la cifra di rumore, la dinamica e la
banda di copertura del ricevitore.
Sul mercato si possono trovare ADC con prestazioni di tutto rispetto, funzionanti con
frequenze di clock maggiori di 100 MHz e quantizzazione fino a 14 bit, rendendo possibile
la realizzazione di un ricevitore con copertura continua da 0 a 20-30 MHz senza bisogno di
conversioni di frequenza (ricevitore a conversione diretta).
Al momento in cui ho iniziato la progettazione di questo ricevitore (Novembre 1999), le
prestazioni massime dell’ADC che potevo acquistare ad un prezzo ragionevole erano
limitate ad una frequenza di clock di 65 MHz ed una precisione di 12 bit: la scelta è caduta
sull’ AD6640 (Analog Devices) [1].
La frequenza di clock utilizzata per realizzare il prototipo del ricevitore digitale è stata
limitata a soli 50 MHz, per diversi motivi:
-
mancanza di esperienza nell’impiego di ADC veloci.
maggiore semplicità di realizzazione del circuito stampato1.
minor dissipazione di potenza.
minor livello di rumore digitale causato dai picchi di assorbimento di corrente durante le
commutazioni dei dati in uscita dal convertitore.
Figura 4. Relazione temporale tra segnale di clock e dati in uscita: il segnale DRY non è
disponibile sul convertitore AD6640 e deve essere costruito ritardando il segnale di
ENCODE.
Un primo problema incontrato è costituito dal fatto che il convertitore prescelto non mette a
disposizione un segnale di fine conversione2: spetta all’utilizzatore generare un ritardo sul
segnale di ENCODE di quel tanto che basta per sincronizzare la lettura dei dati in uscita.
1
2
Per semplificare lo stampato ho deciso di utilizzare un oscillatore TTL integrato: all’epoca, l’oscillatore a
frequenza più elevata che sono riuscito a reperire era, per l’appunto, a 50 MHz.
I convertitori dell’ultima generazione (AD6644, 14 bit, 65 MSPS), non solo hanno un segnale di fine
conversione, ma anche un segnale di overflow, utile per la realizzazione di un algoritmo di AGC efficiente.
Rev. 0
Pagina 5
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Il ritardo sul clock viene ottenuto con una porta AND della famiglia LVQ (74LVQ00), che
possiede un ritardo di propagazione di circa 9 ns3, che sommati al ritardo introdotto dalla
cella RC utilizzata per il disaccoppiamento dell’oscillatore (vedi C23 e R18+R19 di
appendice D) , danno i 15 ns richiesti (vedi figura 4). Utilizzando la massima frequenza di
clock ammessa dal decimatore, pari a 65 MHz, bisognerebbe probabilmente utilizzare
porte AND più veloci, con ritardi di propagazione di circa 3-3.5 ns e collegarne due o più
in serie sino ad ottenere il ritardo richiesto. Le porte AND andranno, naturalmente, scelte
tra quelle che ammettono il funzionamento ad una tensione di 3.3 V.
La generazione di una corretta temporizzazione è un punto assai critico del progetto e
necessita sicuramente di qualche prova in più per testarne la ripetibilità. Il circuito
stampato del prototipo ha subito il maggior numero di modifiche proprio in questa sezione.
Nei data-sheet del convertitore AD è consigliata l’interposizione di uno stadio latch tra il
convertitore stesso ed il decimatore, dato il ridottissimo fan-out dello stadio di uscita.
Questa soluzione è stata scartata per l’eccessiva complessità introdotta: lo sbroglio del
circuito stampato è, infatti, un punto che deve essere valutato con estrema attenzione.
L’ideale sarebbe poter ricorrere a CS multistrato, riservando un piano per le masse, un
piano per le due alimentazioni ed uno o due piani per le piste di segnale, ma, per ovvi
motivi, la realizzazione di CS “casalinghi” obbliga alla classica “doppia faccia”.
La regola alla quale è stata data la massima priorità durante lo sbroglio del CS è stata
utilizzare un lato per i segnali e riservare l’altro lato esclusivamente per il piano di massa,
come suggerito in [8], mantenendo lo sbroglio il più possibile complanare.
Come si può osservare dallo schema elettrico in appendice C, in serie a ciascuna uscita
digitale sono state inserite delle resistenze da 330 ohm. Queste resistenze hanno il
duplice scopo di:
-
-
adattare l’impedenza d’uscita del convertitore all’impedenza caratteristica delle piste
del CS, limitando le sovraelongazioni (oscillazioni) in corrispondenza dei fronti di salita
e discesa dei segnali (vedi figure 5 e 7)
limitare il picco di corrente richiesto per la commutazione delle capacità parassite e, di
conseguenza, ridurre il rumore sulla linea di alimentazione4.
Figura 5. Clock a 50 MHz; a) all’uscita dall’oscillatore e b) all’ingresso dell’AD6620, dopo la
resistenza da 330 ohm di adattamento dell’impedenza: i livelli logici sono stati
perfettamente ripristinati.
3
Il tempo tra il fronte di salita di ENCODE ed i dati validi in uscita va da 8.5 a 12.5 ns. I dati in uscita
vengono mantenuti validi per altri 8 ns. Il ritardo su ENCODE puo quindi variare tra 12.5 ns e 20.5 ns .
4
Per avere un’idea dell’entità del problema, si supponga che ciascuna uscita del ADC (gate CMOS), insieme
alla pista del CS abbia una capacità parassita di circa 10 pF; essendo lo slew rate dell’uscita pari ad 1V/ns,
si calcola facilmente che, ogni volta che l’uscita cambia stato, è necessaria una corrente di 10 mA (10 pF x
1V / 1 ns) per la commutazione della capacità parassita di una uscita. Con un convertitore a 12 bit, la
corrente totale ad ogni commutazione è pari a circa 120 mA!
Rev. 0
Pagina 6
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Il convertitore AD6640 possiede un piedino riservato all’alimentazione dello stadio d’uscita
digitale: in questo modo è possibile interfacciare direttamente il convertitore, che funziona
a 5 V, con il decimatore, che funziona a 3.3V, semplicemente alimentando lo stadio
d’uscita del convertitore con la tensione minore.
Un ulteriore vantaggio offerto dalla alimentazione separata dello stadio d’uscita deriva dal
fatto che le correnti di commutazione delle uscite rimangono confinate tra il pin di
alimentazione dei buffer d’uscita e massa: filtrando opportunamente l’alimentazione e
sbrogliando con cura il circuito stampato, si evita l’accoppiamento del rumore digitale con
l’ingresso analogico del convertitore ([1] e [8]).
Figura 6. Ritardo tra il segnale di ENCODE ed il fronte di salita del clock dell’AD6620
(decimatore). dX = 15 ns
Gli ingressi di segnale e di clock dell’ADC sono entrambi di tipo differenziale, per
migliorare le prestazioni nei confronti del rumore di modo comune. Sia per il clock che per
il segnale d’ingresso è stato utilizzato un trasformatore a larga banda realizzato
avvolgendo due spire trifilari su un binoculare di ferrite.
Le caratteristiche del convertitore A/D (AD6640) possono essere così riassunte:
-
alimentazione:
+5 V (core) e +3.3 V (stadio d’uscita)
dissipazione:
710 mW
massima frequenza di campionamento:
65 MSPS
uscita:
parallela a 12 bit in complemento 2
track-and-hold e reference:
incluse nel chip
rapporto segnale rumore:
68 dB
spurious free dynamic range (SFDR):
80 dB (su 25 MHz di banda)
impedenza d’ingresso:
900÷1000 ohm
larghezza di banda dell’ingresso:
300 MHz
massima ampiezza del segnale d’ingresso (fondo scala): 2 Vpp
Come si può notare, la banda passante dell’ingresso arriva a 300 MHz, rendendo possibile
l’impiego di questo convertitore anche a frequenze superiori alla frequenza di Nyquist
(metà della frequenza di campionamento) sfruttando il fenomeno dell’aliasing.
Naturalmente, all’aumentare del rapporto di sottocampionamento, diviene sempre più
importante il jitter sul segnale di clock, tanto che, già a 70-100 MHz, le prestazioni dal
punto di vista dello SFDR e del rumore iniziano a scendere (vedi [1]), ed è necessario
utilizzare un oscillatore appositamente progettato per avere jitter particolarmente basso.
Rev. 0
Pagina 7
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Nel caso di questa realizzazione, il clock viene generato da un oscillatore integrato alla
frequenza di 50 MHz. Il segnale ottenuto, a livello logico TTL, viene disaccoppiato in AC e
limitato per mezzo di una resistenza da 100 ohm, quindi applicato al primario di un
trasformatore a larga banda che provvede a trasformarlo in segnale differenziale per
pilotare il convertitore A/D. Lo stesso segnale TTL viene contemporaneamente applicato
ad una porta AND (un 74LVQ00 alimentato a 3.3 V) per essere traslato ad un livello
compatibile con gli stadi successivi e per essere ritardato. (dalle misure sul prototipo,
come si vede in figura 6, il ritardo complessivo e’ di 15 ns).
Come già detto sopra, anche il segnale d’ingresso, proveniente dal preamplificatore, è
accoppiato al convertitore per mezzo di un trasformatore a larga banda, allo scopo di
a)
b)
Figura 7. Segnale relativo al bit 0 ( LSB ) a) come esce dal convertitore e b) dopo l’adattamento
di impedenza e limitazione della corrente (misure non contemporanee).
adattare l’impedenza e trasformare il segnale in differenziale.
L’impedenza d’ingresso del convertitore è di circa 900 ÷ 1000 ohm e per portarla a 50 ohm
sarebbe necessario un trasformatore con rapporto di 20:1 (rapporto spire = 4.47:1). Come
suggerito dai data-sheet, si preferisce però utilizzare un trasformatore con rapporto più
basso (4:1, rapporto spire = 2:1) e forzare l’impedenza d’ingresso del convertitore ad un
valore inferiore (200 ohm) con una resistenza in parallelo al secondario.
Il fondoscala del convertitore si raggiunge con una tensione di 2 Vpp, che su 200 ohm
corrispondono a + 4dBm: al primario del trasformatore, sui 50 ohm, + 4 dBm
corrispondono a 1 Vpp. Se consideriamo che il preamplificatore introduce + 20 dB di
guadagno, ed i due filtri antialias al massimo introducono 1.7 dB ciascuno di attenuazione
(a 21 MHz, cfr. marker n. 2 di Figura 2), si calcola che è necessario un segnale pari a +4 –
20 + 1.7 + 1.7 = –12.6 dBm su 50 ohm (148 mVpp) per portare a fondoscala il
convertitore. In presenza di una antenna trasmittente nelle immediate vicinanze è possibile
saturare il convertitore: disporre di un segnale di overflow permetterebbe di disinserire
automaticamente il preamplificatore o introdurre un attenuatore, cosa che, in questo
ricevitore deve essere fatta manualmente.
4.2.
DECIMATORE
E’ il componente più importante di tutto il sistema: ad esso il compito di effettuare la
conversione di frequenza per mezzo di un oscillatore numerico e di ottenere la selettività di
canale per mezzo di tre stadi successivi di filtri numerici decimatori.
Quasi tutti i maggiori costruttori di componenti elettronici, attratte dal remunerativo mercato
della telefonia cellulare, hanno ormai tra i loro prodotti un integrato decimatorecanalizzatore con caratteristiche appropriate alla realizzazione di una radio digitale; tra
Rev. 0
Pagina 8
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
queste, le più note sono HARRIS (HSP50016, HSP50216), ANALOG DEVICES (AD6620
e AD6624), NATIONAL (CLC5902) e GRAYCHIP (GC4016): il solo, tra questi, reperibile
con facilità anche in piccola campionatura è l’AD6620, che quindi è stato utilizzato in
questa realizzazione; in figura 8 è riportato lo schema a blocchi di questo componente: [3]
Figura 8. Schema a blocchi del tuner digitale AD6620.
Il primo stadio, composto da un moltiplicatore digitale e da un oscillatore numerico (NCO),
trasla lo spettro del segnale d’ingresso in banda base, secondo il tipico schema del
ricevitore in quadratura (figura 9).
I due segnali in fase ed in quadratura, indicati con I e Q, vengono poi filtrati da due filtri
decimatori (denominati CIC2 e CIC5 in figura 8), a coefficienti fissi, che riducono la
frequenza di campionamento di un fattore programmabile da 2 a 16 e da 1 a 32
rispettivamente.
X(f)
-fo
fo
I(f)
f
jQ(f)
-fo
-fo
Figura 9.
fo
f
Traslazione di frequenza ottenuta tramite moltiplicazione per la portante complessa
x(t)= e
Rev. 0
fo
−2πjf0 t
.
Pagina 9
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Questi due stadi devono funzionare a frequenze di clock molto elevate e sono quindi
realizzati con strutture hardware molto semplici, utilizzando l’architettura CIC (Cascaded
Integrator Comb ) ovvero la combinazione di un filtro integratore, un filtro derivatore ed un
decimatore (Figura 10).
integratore
derivatore
Figura 10. Possibile rappresentazione di un filtro decimatore CIC.
La risposta in frequenza di un filtro di questo tipo dipende dall’ordine dell’integratore e del
derivatore, nonché dal fattore di decimazione: in figura 11 sono riportate le risposte
calcolate per alcune combinazioni dei due parametri.
I filtri decimatori rimuovono le porzioni di spettro non desiderate (e quindi anche il rumore)
dal canale di interesse; quando la larghezza di banda del canale di interesse è minore
della banda del segnale d'ingresso, la riduzione del rumore fuori banda ottenuta per
mezzo del filtraggio e successiva riduzione della frequenza del campionamento prende il
nome di “process gain”. Nel caso di questo ricevitore, il fattore di decimazione
complessivo è pari a 2048, (la frequenza di campionamento passa da 50 MHz a circa 24
KHz), ottenendo un miglioramento nel rapporto segnale rumore di 10 * log10(50e6/24417)
= +33 dB5.
0
0
-20
-20
-40
-40
-60
-60
-80
-80
-100
0
0.1
0.2
0.3
es.: CIC2
N=4
--
--
0.4
0.5
N = 10
-1000
0.1 0.2 0.3
es.: CIC5
N=4
--
0.4 0.5
N = 10
--
Figura 11. Risposte in frequenza di filtri decimatori CIC di ordine 2 e 5, per fattori di decimazione
di 4 e 10. L’asse x è normalizzato rispetto alla frequenza di campionamento.
Il terzo stadio ha la struttura di un filtro FIR a coefficienti programmabili (massimo 256) e
fattore di decimazione programmabile tra 1 e 32.
La distribuzione dei fattori di decimazione tra i tre stadi ed i valori dei coefficienti dello
stadio RCF sono stati calcolati usando un software apposito6: stabiliti il fattore di
decimazione complessivo, la frequenza di campionamento, la banda passante e
l’attenuazione minima fuori banda, questo software analizza tutte le possibili combinazioni
dei fattori di decimazione, fornendo tutte le soluzioni che soddisfano le specifiche. I
coefficienti del filtro RCF (troncati a 20 bit) così calcolati sono poi inseriti nella flash del
microcontrollore (solo 128, ovvero metà dei 256 coefficienti, dato che il filtro è simmetrico,
5
Il rapporto segnale rumore del convertitore A/D a 12 bit è pari a 68 dB: grazie al process gain, il rapporto
segnale rumore dopo gli stadi filtri decimatori diviene 68 + 33 = 101 dB
Rev. 0
Pagina 10
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
risparmiando 512 bytes di flash) e scritti nella RAM del 6620 durante la fase
dell’inizializzazione.
Le specifiche scelte per il prototipo realizzato sono le seguenti:
-
frequenza di campionamento:
fattore di decimazione complessivo:
banda passante (-6 dB):
attenuazione minima fuori dalla banda passante:
banda del filtro anti alias :
50 MHz
2048
4 kHz
almeno 100 dB
0…20 MHz
La soluzione che soddisfa queste specifiche prevede i fattori di decimazione così
distribuiti:
CIC2: 16
CIC5: 32
RCF: 4
La risposta in frequenza complessiva del canale IF digitale è riportata in figura 12.
Figura 12. Schermata finale del software per il progetto del filtro digitale: nel riquadro a destra in
alto, la risposta in frequenza del filtro utilizzato nel prototipo.
L’AD6620 è in grado di fornire i dati in uscita sia in formato parallelo che in formato seriale.
La scelta, per questa realizzazione, è caduta sul formato seriale per diversi motivi:
a) Drastica semplificazione del circuito stampato: sono sufficienti 4 piste per connettere il
decimatore al DSP, al posto delle 18 necessarie utilizzando il formato parallelo.
b) Il segnale di clock relativo ai dati in uscita ha una frequenza pari a 6.25 MHz (50e6/8),
utile, come vedremo più avanti, per il funzionamento del convertitore D/A.
c) Semplicità di interfacciamento con il DSP, che è in grado di gestire in “hardware” il bus
seriale sincrono multicanale.
Un aspetto che ha richiesto diverso tempo per essere messo a punto è proprio la massima
semplificazione della trasmissione seriale dei dati tra decimatore, DSP e DAC audio, al
fine di ridurre al minimo l’hardware aggiuntivo.
6
Scricabile dal sito www.analog.com
Rev. 0
Pagina 11
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Il segnale TFS (Transmit Frame Sync) segnala l’inizio di un burst composto da 32 bit: i
primi 16 bit sono relativi al canale I, gli altri 16 bit riguardano il canale Q (vedi figura 14a ).
L’interfaccia seriale SPORT0 del DSP è programmata in modalità “multichannel”, con una
lunghezza di parola di 8 bit e 32 parole per frame. Solo le prime 4 parole sono però
marcate come valide, le altre 28 vengono ignorate.
Figura 13.
Clock seriale in uscita dal decimatore, di frequenza pari a 50 MHz / 8 = 6.25 MHz
In questo modo, sfruttando la capacità di autobuffering, il DSP genera un’interruzione
quando la ricezione di 4 parole da 8 bit viene completata; all’ingresso nella routine di
gestione dell’interruzione (ISR), ci si ritrova nel buffer di ricezione i due campioni I e Q,
suddivisi in parte alta e parte bassa, ciascuna da 8 bit: utilizzando due operazioni di SHIFT
e due operazioni di OR si ricostruiscono i 16 bit originari:
sr0=dm(RxBuff+1);
si=dm(RxBuff);
sr=sr or lshift si by 8 (lo);
ax0=sr0;
{ componente I 8 bit bassi }
{ componente I 8 bit alti }
{ 16 bit ricostruiti }
{ memorizza In nel registro AX0 }
sr0=dm(RxBuff+3);
si=dm(RxBuff+2);
sr=sr or lshift si by 8 (lo);
ax1=sr0;
{ componente Q 8 bit bassi }
{ componente Q 8 bit alti }
{ 16 bit ricostruiti }
{ memorizza Qn nel registro AX1 }
Questa leggera complicazione ha come vantaggio il fatto che per ogni coppia di campioni
a 16 bit sono necessari 256 impulsi di clock (8 bit * 32 parole = 256): lo stesso clock
seriale può quindi essere utilizzato come master clock per il DAC audio, di tipo sigmadelta, che richiede proprio un clock 256 volte maggiore rispetto al rate dei campioni in
ingresso (vedi [4]).
Il DAC audio, dotato di due canali, richiede due dati per ciclo, uno relativo al canale destro
ed uno relativo al canale sinistro: la trasmissione dei campioni verso il DAC deve avvenire
ad un tasso doppio rispetto alla frequenza dei campioni in arrivo dal decimatore ed ogni
campione deve essere accompagnato da un impulso di TFS (vedi figura 14b).
Il problema è stato risolto utilizzando la seconda seriale sincrona del DSP, chiamata
SPORT1. Al pin SCLK1 viene portato lo stesso clock seriale proveniente dal decimatore; il
pin di TFS1 è connesso al pin di RFS1 (Receive Frame Sync.): il segnale RFS1 viene
generato dal DSP a partire dal clock seriale, impostando il divisore a 128 (metà di 256 !!);
l’autobuffer è stato abilitato in trasmissione, predisponendo un buffer circolare di
lunghezza due (Left e Right).
In questo modo, ogni 128 impulsi di clock viene generato un impulso di RFS1, che
provoca un impulso di TFS1 e la conseguente trasmissione dei 16 bit relativi al canale
destro e sinistro alternativamente, dal momento che il buffer di trasmissione ha lunghezza
Rev. 0
Pagina 12
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
due. I dati contenuti nel buffer di trasmissione vengono aggiornati dalla ISR di ricezione
ogni 256 impulsi di clock.
La frequenza del clock seriale del decimatore deve pertanto essere 256 volte maggiore
della frequenza di aggiornamento dei dati d’uscita.
Riassumendo, valgono le seguenti relazioni:
Frequenza di campionamento = 50 MHz
Decimazione = 2048
Fattore di divisione per il clock seriale del decimatore = 8 (vedi ingressi SDIV di AD6620)
Frequenza clock seriale = 50'000’000 / 8 = 6'250'000 Hz
Frequenza master clock DAC = 6'250'000 Hz
Frequenza clock SPORT0 = 6'250'000 Hz
Frequenza clock SPORT1 = 6'250'000 Hz
Frequenza campioni I e Q (su RFS0) = 50'000'000 / 2048 = 24'414 Hz
Frequenza campioni L + R (su TFS1) = 48'818 KHz
L’unica restrizione che nasce usando questa configurazione è che il valore della
decimazione deve contenere i fattori 256 e 8 perché deve poter essere divisibile per
entrambi questi numeri (2048 = 256 * 8 * 1). Naturalmente, sono possibili altre
combinazioni, ad esempio usando un fattore di divisione del clock seriale diverso, tale da
assicurare comunque la banda passante richiesta7.
La completa programmabilità, sia a livello di software che hardware, danno la massima
a)
b)
Figura 14. a) Impulso di TFS proveniente dal decimatore e burst di 16+16 bit dei canali I e Q in
ingresso alla SPORT0 e b) impulsi di TFS e dati a 16 bit relativi al canale destro e
sinistro in ingresso al DAC generati dalla SPORT1.
flessibilità al progetto, permettendo la sperimentazione di moltissime combinazioni, adatte
ai più disparati schemi di modulazione/demodulazione.
Va ulteriormente sottolineato, a conferma della estrema flessibilità del circuito, che la
configurazione esposta rappresenta solamente una delle possibili scelte. Per fare un
esempio, il DAC potrebbe essere programmato per funzionare con un clock 384 volte
(vedi [4]) maggiore del data rate: si potrebbe allora semplificare la routine di IRQ
impostando la lunghezza di parola a 16 bit e la lunghezza del frame seriale a 24. In questo
modo un frame viene completato in 24 * 16 = 384 cicli di clock, durante i quali vengono
trasmessi al DSP i due campioni a 16 bit I e Q.
7
Usando, ad esempio, un fattore di divisione di 10 (SDIV = 5), si dovrebbe impiegare una decimazione di
2560, ottenedo una banda passante massima di 9765.6 Hz
Rev. 0
Pagina 13
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Programmando il fattore RFSDIV a 192, il DAC audio riceve due impulsi di TFS (e quindi i
due campioni relativi al canale destro e sinistro) per ogni frame I e Q del decimatore.
Il fattore di decimazione complessivo ora dovrà essere multiplo di 384 e di SDIV;
imponendo una banda passante minima di 10 kHz, si ottiene: 50e6/384/20e3 = 6.51.
Arrotondando SDIV a 6, si ha:
Decimazione = 384*6 = 2304
Fattore di divisione per il clock seriale del decimatore (SDIV) = 6
Frequenza clock seriale = 50'000’000 / 6 = 8'333'333 Hz
Frequenza master clock DAC = 8'333’333 Hz
Frequenza clock SPORT0 = 8'333’333 Hz
Frequenza clock SPORT1 = 8'333’333 Hz
Frequenza campioni I e Q (su RFS0) = 50'000'000 / 2304 = 21'701 Hz
Frequenza campioni L + R (su TFS1) = 43'402 kHz
Naturalmente andranno ricalcolati i coefficienti dello stadio RCF utilizzando il nuovo fattore
di decimazione, il buffer di ricezione avrà lunghezza due, dovranno essere marcati valide
solamente le prime due word del frame seriale e non saranno più necessarie le operazioni
di “shift” ed “or” per ricostruire i campioni I e Q a 16 bit.
4.3. MICROCONTROLLORE
Il microcontrollore utilizzato è un ADuC812 di Analog Devices [6], scelto unicamente
perché già in mio possesso, compresi gli strumenti per lo sviluppo del software
(compilatore C) e da me già utilizzato per applicazioni professionali.
Questo microcontrollore è basato sull’8052, un micro molto diffuso in ambiente industriale
e per il quale esiste una vasta letteratura e disponibilità di tools di sviluppo.
Per la scrittura del codice è stato utilizzato un compilatore C in versione dimostrativa,
anche questa disponibile gratuitamente sul web8.
La versione demo del compilatore non permette il debug di codice più lungo di 2K e non
comprende la libreria per l’aritmetica a virgola mobile, ma si è rivelata più che sufficiente
allo scopo; l’efficienza del codice generato è veramente molto buona.
Il microcontrollore è equipaggiato con 8K di memoria programma di tipo FLASH, una
interfaccia seriale asincrona (RS232) ed una sincrona (I2C o SPI), timers, due DAC a 12
bit (non usati), 8 canali AD a 12 bit (non usati), 256 bytes di RAM e 640 bytes di E2PROM
(utili per memorizzare parametri ed impostazioni in maniera non volatile).
Il contenitore è un LQFP a 52 pin, caratteristica che riduce l’ingombro e, a mio avviso,
semplifica la costruzione del circuito stampato doppia faccia (ci risparmia l’esecuzione e
l’allineamento di 52 fori!).
Questo componente può, tuttavia, essere tranquillamente sostituito con un
microcontrollore qualsiasi della famiglia 8052 senza nemmeno ricompilare il codice
sorgente, in quanto non sono state utilizzate le caratteristiche particolari dell’ADuC812.
Una grossa comodità, offerta oramai da quasi tutti i microcontrollori moderni, è la
possibilità di riprogrammare la memoria flash “in-circuit”, utilizzando l’interfaccia seriale
asincrona (RS232) ed un semplice programma di download dal PC.
Il compito principale del microcontrollore è quello di inizializzare il tuner digitale (AD6620)
programmando i fattori di attenuazione, la decimazione, i coefficienti del filtro RCF e la
modalità di funzionamento: la fase di inizializzazione deve necessariamente avvenire
8
www.keil.com
Rev. 0
Pagina 14
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
tramite una porta di I/O parallela (chiamata “micro-port”, vedi [3]), non essendo possibile
eseguirla tramite porta seriale9.
Per mezzo di un semplice protocollo di comunicazione tra microcontrollore e PC,
attraverso l’interfaccia seriale, è possibile modificare una serie di parametri che
influenzano il funzionamento del decimatore, come ad esempio:
-
la frequenza di ricezione
l’attivazione del “phase dither” o dell’ ”amplitude dither”
i valori dei fattori di attenuazione degli stadi CIC2, CIC5 ed RCF
Un ulteriore insieme di comandi è riservato al controllo delle funzioni del DSP,
permettendo di attivare o meno determinati algoritmi ed impostarne i parametri di
funzionamento.
Diverse porte di I/O del microcontrollore rimangono inutilizzate e potrebbero essere utili,
ad esempio, per pilotare un display LCD, per gestire una tastiera ed un encoder per la
sintonia eliminando, in questo modo, la necessità di utilizzare un PC per pilotare il
ricevitore.
5. SCHEDA “BF” (DSP)
La scheda “BF” comprende i seguenti componenti: il DSP, la eprom contenente il
programma per il DSP, il DAC audio ed uno stadio buffer ad operazionale per abbassare
l’impedenza d’uscita ad un livello sufficiente a pilotare i due altoparlanti.
5.1 DSP
Il DSP usato è l’ADSP 2184, processore con architettura a 16 bit, aritmetica a virgola fissa
e capace di funzionare ad una frequenza di clock di 40 MHz.
Questo componente è dotato di 20 K bytes di RAM interna, suddivisa in 4 K words (a 24
bit) per lo spazio programma e 4 K words (a 16 bit) per lo spazio dati. E’ il più piccolo e
meno costoso della famiglia 218x, “pin to pin” compatibile con i fratelli maggiori. Per poter
funzionare, richiede solamente una EPROM esterna, dalla quale, al momento del boot,
viene letto il programma e trasferito nella RAM interna.
Il DSP è dotato di una serie di periferiche molto utili, alcune delle quali sono (vedi [5]):
-
due interfacce seriali sincrone con capacità di autobuffering e multichannel (solo una
delle due)
un timer
una porta di I/O programmabile bidirezionale ad 8 bit
ulteriori pin di I/O monodirezionali (FLAGS)
canali di DMA verso la EPROM e/o verso l’eventuale RAM esterna
porta dedicata alla connessione multiprocessore
Le due porte seriali sincrone sono state impiegate per la gestione dei dati in ingresso (dal
decimatore) ed in uscita (verso il DAC audio).
La porta di I/O è parzialmente utilizzata per comunicare con il microcontrollore, tramite un
protocollo seriale sincrono (del tipo SPI) gestito da software.
9
Con la futura disponibilità dell’AD6624, evoluzione dell’AD6620, sarà possibile eseguire l’inizializzazione
del decimatore direttamente dal DSP tramite la porta seriale, riducendo in modo significativo
l’occupazione di memoria del microcontrollore.
Rev. 0
Pagina 15
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Tre uscite (FLAG0, 1 e 2) pilotano altrettanti LED, utili per il debug del codice ed altre
indicazioni di funzionamento.
Il programma, dopo una prima fase di inizializzazioni, entra in un loop di attesa comandi:
nel caso in cui la routine di interrupt segnali un flag di ricezione comando, viene eseguito il
codice relativo per poi tornare al loop principale.
Esistono due Interrupt Service Routines (ISR), la prima dedicata alla ricezione ed
elaborazione dei campioni provenienti dal decimatore, la seconda alla comunicazione con
il microcontrollore.
Il flusso dati nella routine di ricezione può essere schematizzato come segue:
a) ricostruzione dei due campioni I e Q a 16 bit a partire dai 4 byte del buffer di ricezione.
b) a seconda del tipo di demodulazione da effettuare:
AM:
Calcolo del modulo a(t)=√(I2+Q2) e successivo filtraggio, con banda passante
di 4 kHz
SSB:
Filtraggio e sfasamento dei campioni relativi ai segnali I e Q tramite una
coppia di filtri “omologhi”. I filtri SSB hanno banda passante di 2400 Hz.
c) calcolo del valore di picco del segnale per l’algoritmo di IF-AGC.
d) aggiornamento del valore di IF-AGC, intervenendo sui fattori di attenuazione del
decimatore con passi di 6 dB (se IF-AGC abilitato)
e) aggiornamento dell’algoritmo di AGC audio, per una regolazione fine del livello del
segnale in uscita, con un range di 32 dB (se AGC audio abilitato)
f) se abilitato, filtraggio tramite filtro adattativo per la riduzione del rumore ed
aggiornamento dei coefficienti secondo un algoritmo LMS10.
g) se abilitato, filtraggio tramite filtro notch automatico ([17] e [19]) ed aggiornamento dei
coefficienti con algoritmo LMS.
h) se abilitato, filtraggio attraverso un filtro stretto centrato a 1000 Hz, con 500 Hz di
banda passante. (filtro CW)
i) aggiornamento del buffer di trasmissione (DAC audio)
20
0
-20
-40
-60
-80
-100
0
5000
10000
15000
Figura 15. Risposta in frequenza (modulo) dei filtri “omologhi” utilizzati per la demodulazione
SSB e CW.
Quelli che al punto b) ho chiamato “filtri omologhi” non sono altro che una coppia di filtri
con struttura FIR, composti da 127 taps11, aventi risposta in frequenza uguale come
10
Least Mean Squares, conosciuto anche come metodo del gradiente, vedi [16], [17], [18] e [19].
Rev. 0
Pagina 16
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
modulo ma diversa come fase: il primo non introduce nessuno sfasamento se non il ritardo
di gruppo (filtro con risposta reale) mentre il secondo sfasa il segnale di 90° (filtro di
Hilbert, con risposta immaginaria pura). Questi due filtri sono stati progettati utilizzando
l’algoritmo “REMEZ” descritto in [15]. In figura 15 è riportato l’andamento del modulo della
risposta in frequenza dei due filtri: in banda passante le risposte sono perfettamente
sovrapponibili; in figura 16 si possono, invece, vedere le due risposte impulsive, in a) del
filtro di Hilbert (risposta impulsiva “dispari”) ed in b) del filtro reale (risposta impulsiva
“pari”).
0.2
0.2
0.15
0.1
0.1
0.05
0
0
-0.1
-0.05
-0.2
0
20
40
60
80
100
120
-0.1
0
140
20
40
60
80
100
120
140
b)
a)
Risposta impulsiva dei due filtri ”omologhi”: in a) il filtro di Hilbert ( ∆ ϕ = 90° ), in b) il
filtro reale ( ∆ϕ = 0° ).
Figura 16.
L’algoritmo di demodulazione SSB consiste semplicemente nel sommare (caso USB) o
sottrarre (caso LSB) i campioni corrispondenti all’uscita dai filtri omologhi: in figura 17 è
illustrato, nel dominio della frequenza, quello che succede per la USB.
La demodulazione AM si ottiene, invece, calcolando il modulo del vettore che ha per
componenti i campioni In e Qn, utilizzando la formula an = √(I2n + Q2n), approssimata
utilizzando l’espansione in serie di Taylor ([29] e [30]).
Trasformata di Hilbert:
H(f) = -j sgn(f)
jQ(f)
Qh( f)
-fo
fo
I(f)
-fo
Figura 17.
11
f
f
U(f)=Qh(f)+I(f)
fo
f
Esempio di demodulazione USB utilizzando il metodo a sfasamento.
In un filtro FIR, un “tap” corrisponde ad una coppia di una cella di memoria della linea di ritardo ed un
coefficiente numerico.
Rev. 0
Pagina 17
2nd Convention “Digital & Radio Communications”
IF-AGC
abilitato ?
no
Stella di Renon, 30 settembre – 1 ottobre 2000
uscita
si
M = abs(audio)
Md = media mobile
(filtro FIR decimatore)
Md > soglia_H
?
si
no
T decay = 0
?
si
aumenta attenuazione di 6dB
reinizializza T decay
si
diminuisci attenuazione di 6dB
reinizializza T attack
no
decrementa T decay
Md <
soglia_L ?
no
si
T attack = 0
?
no
decrementa T attack
uscita
Figura 18. Diagramma di flusso dell’algoritmo di IF-AGC.
L’algoritmo di IF-AGC va ad agire sui fattori di attenuazione dei filtri decimatori, che
costituiscono il canale di frequenza intermedia digitale.
L’obiettivo di questo stadio è evitare che i filtri decimatori possano saturare: purtroppo,
nell’hardware del decimatore, non è stato previsto nessun circuito hardware che possa
fornire l’indicazione dell’overflow di uno dei tre stadi, né l’indicazione che il convertitore
A/D stesso sia in condizioni di saturazione.
Per questo motivo, si è costretti a lavorare con un largo margine, prossimo al 50% del
fondoscala, in modo da permettere momentanei ed ampi sbalzi del segnale senza
provocare overflow prima dell’intervento sui fattori di attenuazione del decimatore.
In figura 18 è riportato il diagramma di flusso dell’algoritmo di IF_AGC; la presenza delle
due soglie (“soglia H” e “soglia L”) introduce l’isteresi necessaria ad evitare il continuo
intervento da parte della regolazione: personalmente non sono del tutto soddisfatto del
funzionamento di questo controllo e ritengo debba essere migliorato12.
12
Componenti simili all’AD6620, ma di altri costruttori, dedicano molte risorse hardware alla realizzazione di
un AGC efficiente. Cfr. [10] [11] [12] e [13]
Rev. 0
Pagina 18
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
In Tabella 1 sono riportati i valori di attenuazione introdotta in funzione del valore della
variabile utilizzata per rappresentare il livello di IF-AGC.
Livello IF-AGC
A CIC2
A CIC5
A RCF
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4
5
6
5
6
5
6
5
6
6
6
6
6
6
6
14
14
14
16
16
18
18
20
20
20
20
20
20
20
20
0
0
0
0
0
0
0
0
0
1
2
3
4
5
6
Guadagno/
Attenuazione
+12
+6
0
-6
-12
-18
-24
-30
-36
-42
-48
-54
-60
-66
-72
Indicazione S-METER
S0
S1
S2
S3
S4
S5
S6
S7
S8
S9
S9+6
S9+12
S9+18
S9+24
S9+30
Tabella 1. Valori di attenuazione introdotti dall’algoritmo di IF-AGC.
La combinazione dei fattori di attenuazione ACIC2, ACIC5 ed ARCF, sono stati scelti in modo
da massimizzare il rapporto segnale rumore, mantenendo il più basso possibile il valore
dell’attenuazione del primo stadio. La risoluzione minima della regolazione è pari a circa 6
dB (shift a destra di un bit = divisione per due = 6.02 dB di attenuazione), pari anche alla
risoluzione dell’indicazione dello S-METER.
In corrispondenza di un intervento dell’algoritmo di IF-AGC, è udibile in altoparlante la
variazione di intensità audio: a contrastare questo effetto è stato aggiunto un secondo
anello di AGC, ottenuto moltiplicando il campione del segnale audio per una grandezza
variabile (guadagno) con continuità tra 0.5 e 20, in modo da mantenere costante la
potenza media del segnale d’uscita. Il valore del riferimento (indicato con ref. in figura 20)
è impostabile da PC.
13
Componenti simili all’AD6620, ma di altri costruttori, dedicano molte risorse hardware alla realizzazione di
un AGC efficiente. Cfr. [10] [11] [12] e [13]
Rev. 0
Pagina 19
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
out
in
integratore
decimatore
Gain (0.5 … 20)
integratore
|x|
∫
↓
z-1
-
ref.
Figura 20.
+
K
Schema a blocchi dell’algoritmo di AGC audio.
Lo schema a blocchi dell’algoritmo di AGC audio è riportato in figura 20 e, come si può
vedere, è più complesso rispetto all’IF-AGC.
Anche questa regolazione automatica, naturalmente, è attivabile o disattivabile a
piacimento.
La costante K di figura 20 determina la velocità delle fasi di salita e discesa dell’AGC: nel
codice utilizzato nel ricevitore sono utilizzati due valori diversi, indicati Ka e Kd, in modo da
ottenere una fase di salita molto rapida ed una fase di discesa più lenta. I valori delle due
costanti, e quindi dei tempi di risposta dell’AGC, sono modificabili in qualunque istante
utilizzando il programma di controllo da PC. Sono poi stati previsti due valori di default per
il decay, ottimizzati per il CW (decay lento) e per la SSB e l’AM (decay più rapido).
5.2. CONVERTITORE D/A E STADIO DI USCITA
L’ultimo stadio digitale del ricevitore è rappresentato dal convertitore D/A; la disponibilità di
questo tipo di componenti è molto ampia e, anche in questo caso, i criteri utilizzati per la
scelta sono stati, nell’ordine, la semplicità d’uso e la facile reperibilità. Il componente scelto
è l’AD1858 [4], convertitore D/A di tipo sigma delta, a due canali a 16 bit, pilotabile da un
clock 256 (o 384) volte superiore alla frequenza di campionamento e di costo
estremamente basso.
Come si vede dallo schema elettrico di appendice D, i componenti discreti richiesti da
questo integrato sono praticamente limitati ai soli condensatori di disaccoppiamento delle
alimentazioni. Il contenitore, in linea con quasi tutti gli altri componenti attivi e passivi della
scheda, è a montaggio superficiale da 20 piedini.
Il livello d’uscita è di 1 Vpp su 2000 ohm: il segnale all’uscita viene, pertanto, “bufferizzato”
tramite un operazionale (AD8534, rail-to-rail a singola alimentazione [33]) in
configurazione invertente, accoppiato in continua al D/A utilizzando la Vref fornita dal D/A
stesso.
L’amplificazione in tensione dello stadio buffer è di poco superiore a 1, per sfruttare tutta la
dinamica del DAC (96 dB) e la banda passante viene limitata a 10 kHz per mezzo di un
condensatore in parallelo alla resistenza di retroazione. Insieme al filtro passa basso
d’ingresso ed alla capacità di elaborazione del DSP, questa è una delle pochissime
limitazioni imposte alla banda passante dall’hardware del ricevitore.
Il DAC, il DSP, la EPROM e l’operazionale d’uscita trovano posto su di una scheda
formato EUROCARD, fissata con quattro distanziatori a torretta sopra alla scheda del
tuner digitale, come si può vedere dalla foto 4 in appendice G.
Rev. 0
Pagina 20
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
Anche in questo caso sono stati presi particolari accorgimenti nella realizzazione del
circuito stampato: segnali digitali e analogici hanno piani di massa separati e sono
confinati in zone dedicate del circuito stampato. Il piano di massa analogico si connette al
piano di massa digitale in un unico punto, in prossimità del morsetto di alimentazione
(punto ad impedenza più bassa), per mezzo di una impedenza di blocco tipo VK200.
6. SOFTWARE DI CONTROLLO PER PC
In un primo momento la comunicazione tra PC ed il ricevitore era basata su una interfaccia
a comandi “ASCII” leggibili in chiaro, del tipo “TNC2”, in modo da rendere possibile il
controllo dei vari parametri utilizzando un semplice programma di terminale.
In seguito, si è reso necessario codificare i comandi con un singolo byte binario, per
ridurre l’ingombro del programma del microcontrollore: gli 8 K di flash a disposizione sono,
nonostante questa modifica, quasi completamente utilizzati.
Figura 21.
Schermata del pannello di controllo del ricevitore digitale.
In un secondo momento è stato scritto, utilizzando il linguaggio Visual Basic, un software
di controllo per PC, visibile in figura 21, con il quale è possibile controllare agevolmente
tutte le funzioni e le impostazioni dei parametri del ricevitore.
Rev. 0
Pagina 21
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
7. CARATTERISTICHE DEL RICEVITORE
Le caratteristiche del ricevitore digitale possono essere così riassunte:
Alimentazione:
5 V, 600 mA
-5 V, 8.5 mA
Dinamica del convertitore A/D:
69 dB
Rapporto segnale/rumore di quant.:
101 dB
Frequenze operative:
da 20 kHz a 20 MHz
Demodulazioni:
AM, USB, LSB, CW
Banda passante:
2400 Hz
4000 Hz
500 Hz
Selettività:
fattore di forma del filtro IF:
fattore di forma filtri AF:
Sintonia:
1.16
1.2
1.18
1.3
(USB e LSB)
(AM)
(CW)
(AM)
(SSB)
(CW)
impulsi per giro del resolver:
a passi di 1 Hz, 10 Hz o 100 Hz (da PC)
a passi di 10 Hz tramite resolver a manopola
24
Stabilità in frequenza:
± 20 ppm
Elaborazioni audio:
-
auto notch filter (programmabile)
auto noise reduction (programmabile)
controllo automatico del volume (programmabile)
filtro stretto 500 Hz
Dinamica AGC:
-
84 dB a step di 6 dB (sul canale IF)
20 dB (preamplificatore RF)
36 dB (AF-AGC)
Costanti di tempo AGC:
completamente programmabili sia la fase di salita
che di discesa.
Indicatore di livello (s-meter):
da S0 a S9+30, con risoluzione di 6 dB
Purezza spettrale oscillatore locale:
-100 dBc, utilizzando il phase dither (vedi [3])
Risposta Audio (preamplificatore audio): da 0 a 10 kHz
Livello audio in uscita:
Rev. 0
2 Vpp su 16 Ohm
Pagina 22
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
8. OSSERVAZIONI E CONCLUSIONI
Dato il carattere sperimentale di questa realizzazione, le possibili migliorie possono essere
molte, a partire dai tre circuiti stampati, che possono essere sbrogliati in modo più “denso”
ed essere unificati in un’unica scheda.
Le caratteristiche del ricevitore possono essere migliorate utilizzando un preamplificatore a
guadagno programmabile ed un attenuatore a scatti controllato dal microprocessore.
La dinamica ed il rapporto segnale-rumore possono essere migliorati di circa 12 dB
utilizzando un convertitore analogico digitale a 14 bit anziché 12, oggi disponibile fino alla
frequenza di campionamento di 65 MHz. [7]
Volendo utilizzare questo ricevitore come canale di media frequenza per realizzare un
ricevitore supereterodina per frequenze più elevate, potrebbe essere utile implementare,
nella sezione DSP, un algoritmo di demodulazione FM e/o demodulazioni numeriche.
Dall’anno prossimo saranno disponibili, anche per campionature, nuovi circuiti integrati,
con i quali, ad esempio, sarà possibile gestire contemporaneamente quattro canali IF
contemporanei ed indipendenti, sia per frequenza che per banda passante, che per modo
operativo, con la possibilità, tuttavia, di sincronizzare e combinare tra loro le quattro
sorgenti, ottenendo prestazioni di selettività ancora migliori.
Sarà possibile, inoltre, realizzare sulla stessa scheda la sezione trasmittente, anch’essa
interamente digitale, senza aumentare troppo la complessità del circuito, dal momento che
numerose risorse potranno essere condivise con la sezione ricevente. Infatti, la capacità
della SPORT0 del DSP di gestire il protocollo seriale sincrono multicanale, è sfruttata
attualmente solo per la ricezione dei due canali I e Q del decimatore: i restanti 30 slot sono
quindi liberi e potrebbero essere impiegati per la connessione con altre periferiche, come,
ad esempio, altri chip decimatori, uno o più chip interpolatori o un sintetizzatore (DDS) per
la realizzazione della sezione trasmittente.
I dati relativi alle prestazioni del ricevitore, riportati al paragrafo predente, derivano solo in
parte da misure realmente effettuate sul prototipo, essendo, per la maggioranza derivate
dai data-sheet; è doveroso, quindi, completare il lavoro con una accurata e completa
caratterizzazione strumentale (vedi, ad es. [29]), per poter così confrontare in modo
corretto, le prestazioni di questo ricevitore con le prestazioni dei ricevitori analogici
tradizionali.
Rev. 0
Pagina 23
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
A. SCHEMA ELETTRICO E CIRCUITO STAMPATO DEL FILTRO ANTI-ALIAS
1
2
3
4
D
D
C4
8p2
C7
8p2
J1
L1 470
N
L2 470
N
L3 470
N
L4 470
N
IN
C1
150
P
C
C2
220
P
C3
100
P
C5
220
P
C6
150
P
C8
220
P
C9
100
P
J2
OUT
C1
0150
P
C
B
B
Title
A
A
1
2
Date:
File
:
Filtro Passa-Basso
22MHz
(c) 1999, Microtelecom s.r.l. - Pavia di Udine,
Drawn
C:\LPF22M.DDB
Italia
3
By:
A
4
Disegno non in scala.
Rev. 0
Pagina 24
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
B. SCHEMA ELETTRICO E CIRCUITO STAMPATO SCHEDA AMPLIFICATORE RF
1
2
3
4
D
D
R4
2K
+5VNF
+5V
R2
221
JP1
U1
C
R5
C?
Port
R3
50
Port
100
0.1
1
2
3
4
C?
0.1
C
Power
AD9632
R1
50
-5V
-5VNF
B
B
5VNF
+5V
L1
VK200
C1
1nF
C2
100nF
-5VNF
VK200
C3
10uF
-5V
L2
C4
1nF
C5
100nF
C6
10uF
Title
A
Size
A
Number
Revision
A4
Date:
File:
1
2
3
25-Aug-2000
C:\Documenti\Ampli.ddb
Sheet of
Drawn By:
4
Disegno non in scala
Rev. 0
Pagina 25
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
C. SCHEMA ELETTRICO SCHEDA “RF” (Digital Tuner)
1
2
3
4
5
6
7
8
9
10
11
12
J1
1
6
2
7
3
8
4
9
5
C2
C7
C3
C8
D
D
RS232 FEMMINA
+5VA
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
+5VA
C1+
2
1uF
3
4
5
1uF
7
C8
8
C7
T1IN
T2OUT
T2IN
R2IN
C3
12
R1OUT
C2-
C2
13
R1IN
V-
6
14
T1OUT
C2+
C36
1uF
RESPACK5
R20
0.1
15
GND
C1-
C35
C9
16
VA
V+
1
2
3
4
5
6
7
8
1
C34
1uF
9
U3
C33
RxD
11
TxD
10
C7
0.1
9
R2OUT
1
JP1
MAX232
COMAND LATCH
U9
3
A2
4
5
8
74LCX574
11
U10B
16
4
6
15
5
12
14
11
SN74LVQ00
13
13
SN74LVQ00
12
D2
Q3
D3
Q4
D4
Q5
D5
Q6
D6
Q7
D7
2
3
P0.1
4
P0.2
5
P0.3
6
P0.4
7
P0.5
8
P0.6
9
D8
CLK
P0.0
P0.7
CMD CLK
+5VA
INTERFACCIA
ADuC 812
(tutti livelli 0-5V)
D4
4
3
2
1
D5
RESOLVER
330
37
38
23
39
40
D5
D4
D3
VSS
D2
D1
VDD
D0
DS
DTAK
R/W
VSS
MODE
A2
A1
A0
D6
72
IN3
SDIV3
IN2
SDIV2
IN0
12
R22
330
6
C13
0.1
5
40
42
43
44
45
46
47
48
49
50
51
41
PSEN
ALE
P0.0
P0.1
P0.2
P0.3
DGND
P0.4
P0.5
P0.6
DVdd
EA
DSP_data
DSP_sck
DISP_E
DISP_RW
DISP_RS
2
R31
U11
+5VA
1K
LED
+5VA
SDI
C14
0.1
INTERFACCIA DSP
ADSP2184
C15
4u7
R26
SDO
330
SN74LCX32
U12C
DVcc
9
8
10
R27
SDFS
330
70
SN74LCX32
69
68
DVcc
67
B
66
65
64
63
J7
SCLK
SDO
SDI
SDFS
62
61
J3
60
59
58
57
P2.0
27
U5A
SN74HC14
TxD
330
4
71
SDIV1
56
55
54
53
52
51
50
42
C
P2.1
SN74LCX32
U12B
R23
330
73
VSS
41
C8
0.1
P2.2
C6
0.1
SCLK
R28
11
DVcc
76
NC
VDD
1
2
3
4
+5VA
DVcc
P2.3
+5VA
RxD
R25
330
13
330
77
NC
IN4
DVcc
28
C2
39pF
SN74LCX32
U12D
R42
74
NC
IN5
3
22
21
20
19
18
17
16
15
14
13
12
CS
IN6
IN1
29
C1 11.0952MHz
39pF
U2A
SN74HC14
1
1
SDIV0
36
VDD
A/B out
35
AD
VSS
I/Q out
34
DVcc
IN7
VDD
24
330
30
SDATA
C30
0.01
75
WL0
DVout
R15 330
31
P2.0
R2
100K
R21
330
78
WL1
AD6620S
PAR/SER
R14 330
25
33
IN8
+5VA
D7
2
SBM
U7
IN9
XT1
32
D6
79
VSS
IN10
RESET
R13 330
26
32
330
VDD
TRST
R12
27
330
GND
GND
AVcc
AVcc
GND
GND
AVcc
NC
28
31
TCK
GND
AVcc
R11
30
TMS
C1
11
C31
0.01
R10
29
29
TDO
D0
30
28
TDI
D1
Vref
330
VDD
GND
GND
DVcc
DVcc
GND
GND
DVcc
D9
D10
D2
AIN
330
R9
49
10
C10
0.1
C32
0.01
D3
AD6640AS
AIN
R8
31
48
9
R7
32
SYNC_NCO
8
T4-1T
D4
GND
7
C11
0.1
D5
GND
33
SDFE
47
6
R3
220
ENCODE
AVcc
T1
B
D6
SDFS
IN11
46
5
D7
ENCODE
SDO
IN12
45
4
DVcc
D8
DVcc
AVcc
D1
SOT2
J2
RF in
U4
DVcc
+5VA
33
ADUC812
JP2
D3
CMD CLK
80
VDD
IN13
44
3
VSS
43
2
DVcc
D11
1
400
GND
T2
T4-1T
R29
SDI
Serial Port
0.1
GND
C12
27
IN14
SYNC_CIC
26
34
35
36
37
38
39
40
41
42
43
44
25
SCLK
SYNC_RCF
24
EXP0
EXP1
DVcc
IN15
VSS
R4 R5 R6
330 330 330
DVcc
D7
CLK
23
P2.1
U12A
EXP2
A/B
22
P2.2
P1.4
D2
P2.0
21
P2.3
DAC1
P1.6
R24 R30
10K 10K
D1
DAC0
P1.5
13
D0
10
GND
12
P2.4
35
74LCX574
1
2
3
4
5
6
Q2
Q8
11
7
8
9
10
11
12
13
14
15
16
17
18
19
20
DVcc
D1
P2.6
P2.5
SCLK
17
8
SN74LVQ00
U10D
Q1
1
36
P2.6
26
18
U10C
9
OC
25
19
10
DATA LATCH
VCC
24
U8
DVdd
20
23
GND
10
DENC
74LVQ00
22
OUT
R34
330
R18
330
P1.7
3
2
0.1
7
14
1
1
NC
50 MHz
XTAL1
2
C23
+5V
8
Vref
1
+5VA
14
C
9
XTAL2
P2.7
34
DVdd
Cref
P3.7
U10A
37
DGND
AGND
7
P3.6
C3
0.1
38
P2.4
AVdd
6
C4
0.1
P3.5
C5
0.1
P2.5
P3.4
C27
4u7
RD
P2.6
P1.2
P1.3
WR
10
R1
1000
39
P2.7
P1.1
DGND
+5VA
21
P2.7
P1.0
2
A1
9
D8
GND
U1
DVdd
1
A0
DVdd
P2.6
8
+5VA
CS
20
7
Monitor tensione
Tuner RESET
P3.3
P2.5
19
P2.4
6
P3.2
P2.3
5
D7
CLK
P2.2
4
TxD
3
D6
Q8
11
P2.1
RxD
D5
52
D4
Q5
Q7
12
R19
330
TXC1
D3
Q4
Q6
13
DVcc
P2.0
D2
Q3
PRG. BOOT
P2.6
2
RESET
14
VCC
Q2
1
18
15
D1
17
16
OC
Q1
16
17
VCC
15
18
DVcc
2
+5VA
19
P0.7
DVdd
20
RESET
DVcc
8
7
6
5
1
2
3
4
5
6
7
8
9
10
DSP
SDIV
RESET
DENC
R38
10K
R39
10K
R40
10K
R41
10K
DVcc
L2
VK200
C26
0.1
c16
100uF
R32
2R2
A
A
U6
LM317
3
3.3 V
Vin
+Vout
2
DVcc
C24
0.1
R16
330
C17
22uF
1
ADJ
R44
220
DL2
LED
R17
330
C25
0.1
Title
Size
Number
Revision
A1
Date:
File:
1
Rev. 0
2
3
4
5
6
7
8
9
10
11
5-Aug-2000
Sheet of
C:\Documenti\Protel\AD66RX\AD66rx.DDB Drawn By:
12
Pagina 26
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
D. SCHEMA ELETTRICO SCHEDA “BF” (DSP)
+5V
3
+5V
D17
J1
1
2
3
4
8
7
6
5
D18
BMS
RD
C18
0.1
SN74HC14
2
GND
VCC
VCC
VPP
JUMPER4
1
D1
R1
Fs=16.276KHz
4.1667MHz
U3
1
2
3
4
5
6
7
8
9
10
SCLK0
RESET
+5V
+5AV
U2B
+5V
3
D2
R2
LEFT
1K
BIAS
LED
U2C
R3
100K
R4
100K
R5
100K
5
Mclk
PD/RST
Mode
NC
DEEMP
384/256
AVdd
OutL
AGND
CMout
20
19
18
17
16
15
14
13
12
11
SDATA
Bclk
LRclk
DVdd
DGND
Mute
AVdd
OutR
AGND
Filt
C5
0.1
SCLK0
C6
10uF
D
+5AV
RIGHT
AD1858JRS
C3
10uF
C4
10uF
C14
0.1
1K
SN74HC14
AM27C010-200DC(32)
+5V
D3
R6
6
+5V
150
1K
SN74HC14
4
150
R?
DT1
LED
LED
+5V
100
A3
99
A2
98
A1
97
A0
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
D18
77
D17
76
D16
16
+5V
C16
4u7
D8
D9
D10
D11
D12
D13
D14
D15
6
R?
+5V
7
C2
0.1
D
13
14
15
17
18
19
20
21
30
A0
O0
A1
O1
A2
O2
A3
O3
A4
O4
A5
O5
A6
O6
A7
O7
A8
NC
A9
A10
A11
A12
A13
A14
A15
A16
CE
OE
PGM
GND
C1
4u7
12
11
10
9
8
7
6
5
27
26
23
25
4
28
29
3
2
22
24
31
5
TFS1
U2A
U1
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
D16
4
+5V
14
2
+5V
32
1
1
A6
A7
A8
A9
A10
A11
A12
A13
XI
XO
J3
+5VNF POWER
1
2
+5V
RD
BMS
B
X1
XI
A4
A5
GND
A6
A7
A8
A9
A10
A11
A12
A13
GND
CLKIN
XTAL
VDD
CLKOUT
GND
VDD
WR
RD
BMS
DMS
PMS
IOMS
CMS
XO
C17
22pF
comunicazione
con
ADuC812
IRQE
MOSI
MISO
SCLK
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
D15
D14
D13
D12
+5AV
L1
RESET
SCLK0
TFS1
DT1
IRQ2
+5V
C10
0.1
+5V
C
VK200
C11
0.1
C12
4u7
C13
4u7
J2
D11
D10
D9
C9
4u7
D8
SCLK0
DR0
1
2
3
4
5
6
7
8
9
10
RFS0
RESET
C20
0.1
C25
R12
OUT RIGHT
16R
DSP
100u
U5
1
R7
C23
0.01
R9
2K
+5V
10K
R10
2K2
2
3
RIGHT
4
R8
5
LEFT
6
C24
0.01
modo slave (SCLK1=SCLK0)
RFS1 generato internamente
dividendo SCLK1 per 128
TFS1 esterno e connesso a RFS1
R11
2K2
7
+5AV
R13
10K
Out 1
Out 4
- In 1
- In 4
+ In 1
+ In 4
V+
V-
+ In 2
+ In 3
- In 2
- In 3
Out 2
Out 3
14
13
B
12
11
10
BIAS
9
8
AD8534
J4
VK200
C26
100u
R14
1
A
1
2
3
4
5
6
7
8
9
10
SCLK
MISO
MOSI
IRQE
0.1
C27
4u7
C28
C29
4u7
C30
0.1
R15
16R
OUT LEFT
C31
RFS0
DR0
SCLK0
modo Slave
Multichannel length = 24 words
word length = 8 bit
Ch usati: 0,1= campione I (8 + 8 = 16 bit)
2,3 = campione Q (8 + 8 = 16 bit)
RFS generato dal 6620
ADuC812
F=50 MHz
F=64 MHz
decimazione = 3072
Fc=16276 Hz
SDIV=6 (Fclk=4.1667 MHz)
Fclk/256=16276 Hz
decimazione = 3072
Fc = 20833 Hz
SDIV = 6 (Fclk=5.3333 MHz)
Fclk/256=20833 Hz
R16
10K
100u
A
J5
OUTPUT
OUT RIGHT
OUT LEFT
Fclk=Fs/(512*SDIV)
Fs=clock AD6640
Fclk=data rate uscita
decimazione=2*256*SDIV
Title
1
2
Size
2
3
Number
Revision
B
Date:
File:
1
Rev. 0
L2
VK200
2K
+5V
L3
ADSP-2184
+5VNF
D15
D14
D13
D12
GND
D11
D10
D9
VDD
GND
D8
D7
D6
D5
D4
GND
VDD
D3
D2
D1
D0
BG
EBG
BR
EBR
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
C15 16 MHz
22pF
+5VNF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PF4
PF5
GND
PF6
PF7
DT0
TFS0
RFS0
DR0
SCLK0
VDD
DT1
TFS1
RFS1
DR1
GND
SCLK1
ERESET
RESET
EMS
EE
ECLK
ELOUT
ELIN
EINT
A4
A5
A3
A2
A1
A0
PWDACK
BGH
MODE A
MODE B
GND
PWD
VDD
MODE C
PF3
FL0
FL1
FL2
D23
D22
D21
D20
GND
D19
D18
D17
D16
U4
C
4
5
27-Aug-2000
C:\Documenti\Protel\AD66RX\AD66rx.DDB
Sheet of
Drawn By:
6
Pagina 27
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
E. CIRCUITO STAMPATO SCHEDA “RF” (Digital Tuner)
lato componenti
non in scala
lato “saldature”
non in scala.
Rev. 0
Pagina 28
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
F. CIRCUITO STAMPATO SCHEDA “BF” (DSP)
lato componenti
non in scala
lato “saldature”
non in scala.
Rev. 0
Pagina 29
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
G. FOTOGRAFIE
foto 1
foto 2
foto 3
Rev. 0
foto 4
Pagina 30
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
H. BIBLIOGRAFIA
[1.] AD6640, 12-Bit, 65 MSPS IF Sampling A/D Converter, Analog Devices Data Sheet,
1998 Rev.0
[2.] AD9631/AD9632 Ultralow Distortion, Wide Bandwidth Voltage Feedback Op
Amps, Analog Devices, Design-in Reference Manual, 1994, pgg.324-328
[3.] AD6620, 65 MSPS Digital Receive Signal Processor, Analog Devices Data Sheet,
1998, Rev. 0
[4.] AD1857/AD1858, Stereo, Single Supply 16-, 18- and 20-Bit Sigma-Delta DACs,
Analog Devices Data Sheet, 1997, Rev.0.
[5.] ADSP-2184 DSP Microcomputer, Analog Devices Data Sheet, 1999, Rev.0.
[6.] ADuC812 MicroConverter, Multichannel 12-Bit ADC with Embebbed FLASH
MCU, Analog Devices Data Sheet, 1999, Rev. 0.
[7.] AD6644, 14-Bit, 40 MSPS/65 MSPS A/D Converter, Analog Devices Data Sheet,
2000, Rev. 0
[8.] Grounding in High Speed Systems, Walt Kester, James Bryant, Analog Devices
[9.]
A Faster and Better ADC for the DDC-Based Receiver, Peter Traneus Anderson,
KC1HR, QEX Sept/Oct 1998, pgg 30-32
[10.] CLC5902, Dual Digital Tuner/AGC, National Semiconductor Data Sheet, May 1999,
Rev. 3.05 (http://www.national.com)
[11.] GC4016 Multi-Standard Quad DDC Chip, GRAYCHIP Inc. Preliminary Data Sheet,
Rev. 0.3, April 2000
[12.] HSP50016 Digital Down Converter, Intersil Inc. Data Sheet, February 1999, File
Number 3288.6, (http://www.intersil.com)
[13.] HSP50216 Four-Channel Programmable Digital DownConverter, Intersil Inc.
Preliminary Data Sheet, February 2000, File No. 4557.2.
[14.] An Introduction to Digital Filters, Intersil Inc. Application Note AN9603.2, January
1999.
[15.] A Computer Program for Designing Optimum FIR Linear Phase Digital Filters,
J.H. McClellan, T.W. Parks, L.R. Rabiner, IEEE Transaction on Audio and
Electroacoustics, Vol. AU-21, No. 6, December 1973.
[16.] Adaptive Noise Cancelling: Principles and Applications, B. Widrow, J. R. Glover,
Proceedings of the IEEE, Vol. 63, NO. 12, December 1975
Rev. 0
Pagina 31
2nd Convention “Digital & Radio Communications”
Stella di Renon, 30 settembre – 1 ottobre 2000
[17.] Digital Signal Processing, Principles, Algorithms and Applications, J.G. Proakis,
D.G.Manolakis, Prentice Hall, 1996, Third Edition. ISBN 0 – 13 – 373762 – 4
[18.] A Simple Approach to Digital Signal Processing, C. Marven & G. Ewers, 1993,
Texas Instruments. ISBN 0-904 047-00-8
[19.] Signals, Samples and Stuff: A DSP Tutorial (Part1 & Part 2), D.Smith, KF6DX/7,
QEX Mar/Apr + May/June 1998
[20.] Digital Receiver Handbook, Rodger H. Hosking, N4RGI, Second Edition, 1998
Pentek Inc. (http://www.pentek.com)
[21.] Designing a Super-Heterodyne Multi-Channel Digital Receiver, Brad Brannon,
N4RGI, Analog Devices Inc.
[22.] Designing a Superetherodyne Receiver Using an IF Sampling Diversity Chipset,
Brad Brannon, N4RGI, Analog Devices Application Note AN-502.
[23.] Basics of Designing a Digital Radio Receiver (Radio 101), Brad Brannon, N4RGI,
Analog Devices Inc.
[24.] Architecture of Data Converters, James M. Bryant, http://www.analog.com
[25.] Performace Specifications for Amateur Receivers of the Future, Ulrich Graf,
DK4SX, QEX May/June 1999, pp. 43-49.
[26.] An All-Digital Automatic Gain Control, A. Lovrich, R. Chirayil, Texas Instruments,
Application Report: SPRA081
[27.] A Different Weaver of SSB Receiver, P. T. Andersons, KC1HR, QEX September
1993, pp. 3-7.
[28.] A Weaver Method SSB Modulator Using DSP, C.M. Puig, KJ6ST, QEX September
1993, pp. 8-13.
[29.] Using The Low-Cost, High Performance ADSP-21065L Digital Signal Processor
For Digital Audio Applications, J. Tomarakos, D. Ledger, Analog Devices, Rev. 1.0
– 12/4/1998
[30.] Digital Signal Processing Applications, Volume 1, Prentice Hall, ISBN 0-13219726-X, 1992, Analog Devices.
[31.] Digital Signal Processing Applications, Volume 2, Prentice Hall, ISBN 0-13178567-2, 1995, Analog Devices.
[32.] ADSP-2100 Family User’s Manual, Prentice Hall, ISBN 0-13-006958-2, 1994,
Analog Devices.
[33.] AD8531/AD8532/AD8534, Low Cost, 250 mA Output, Single Supply Amplifiers,
Analog Devices Data-sheet, 1999, Rev. B.
Rev. 0
Pagina 32