L'esempio di progettazione del filtro di interpolazione CIC con supporto dei dati multi-canale dimostra come utilizzare la funzione CIC MegaCore per implementare la conversione del tasso di campionamento digitale per più fonti di dati indipendenti.
I sistemi DSP (Digital Signal Processing) spesso devono funzionare con più canali paralleli. Per le applicazioni di conversione della velocità dei dati digitali verso il basso o verso l'alto (se canali diversi hanno un requisito identico di modifica della velocità), invece di duplicare lo stesso hardware per ciascun canale di input, la condivisione del tempo delle sezioni hardware a bassa velocità può fornire un significativo riutilizzo delle risorse. Questo è il concetto di funzionamento multi-canale della funzione MegaCore del filtro Cascaded-Integrator-Comb (CIC).
In questo esempio, configuriamo il compilatore CIC per supportare più interfacce in modo da poter sfruttare il risparmio di risorse nella modalità single-input-multiple-output (SIMO) per l'interpolazione. Il diagramma complessivo del sistema è mostrato nella figura 1. Per ulteriori informazioni sul supporto multi-canale CIC, fare riferimento alla Guida dell'utente del compilatore CIC (PDF).
Caratteristiche
Questa dimostrazione presenta le seguenti funzionalità:
- Il filtro CIC è configurato per avere due interfacce indipendenti per supportare canali di dati di input paralleli. Ciò consente al filtro CIC di condividere in tempo le sezioni di filtro a basso consumo di dati per tutti i canali di input.
- Il compilatore FIR (Finite Impulse Response) è configurato per avere una risposta di frequenza sinc inversa per compensare la caduta del filtro CIC.
- Il compilatore FIR utilizza l'architettura MCV (Multi-Cycle Variable), che utilizza nuovamente i moltiplicatori e fornisce un ulteriore risparmio di risorse. Per ulteriori informazioni sull'architettura MCV, fare riferimento alla Guida utente del compilatore FIR (PDF).
- Per il riferimento viene fornito uno script MATLAB che progetta il filtro di compensazione CIC. Lo script utilizza il metodo di campionamento della frequenza per progettare un filtro FIR che ha una risposta di frequenza sinc inversa. La risposta complessiva del sistema viene tracciata per verificare le specifiche principali del sistema, come l'increspatura della banda passante e l'attenuazione della banda di arresto.
- Avalon®'interfaccia di streaming viene utilizzata per trasferire i dati dei pacchetti da più fonti di dati tra le funzioni MegaCore. Per ulteriori informazioni sull'interfaccia di streaming Avalon, fare riferimento alle specifiche Avalon Streaming Interface.
- Avalon convertitore di formato di pacchetti di streaming è incluso per interleave/deinterleave correttamente più canali di dati.
Modello
Gli input nell'esempio di progettazione sono due fonti di dati indipendenti. Un segnale sorgente è un'onda seno e l'altra è un'onda coseno. Entrambi hanno una frequenza portante di 2,5 MHz. Parte del segnale di ingresso è danneggiata dal rumore aggiuntivo ad alta frequenza. Le origini dati generano dati continui; Pertanto, i segnali startofpacket e endofpacket dell'interfaccia di streaming Avalon sono configurati per indicare i dati di streaming.
Le origini dati di input generano un campione valido ogni 8 cicli di clock, corrispondente a una velocità di dati equivalente di 10 MHz e all'utilizzo del bus al 12,5%. Il convertitore di formato di pacchetto interleave le origini dati e l'utilizzo del bus è raddoppiato. Un filtro FIR impedisce al filtro CIC di fornire pre-condizionamento alla frequenza del filtro CIC e anche un campionamento aggiuntivo di 2. L'utilizzo del bus di output diventa del 50%. Il filtro CIC implementa la maggior parte della variazione di velocità, in questo caso fino al campionamento di 4. È configurato per avere la struttura SIMO, in cui i segnali di input interleaved time condividono le sezioni del filtro comb mentre entrano nel filtro CIC. Vengono generate due interfacce di output indipendenti per suddividere i dati di input multi-canale interleaved. La frequenza di campionamento dell'output del filtro CIC è di 80 MHz con un utilizzo del bus del 100% per entrambi i canali di output. Si noti che la backpressure di Avalon Streaming Interface in questa catena di conversione up non è attivata e può effettivamente essere ottimizzata. Si può dimostrare che senza backpressure, lo stesso design funzionale può funzionare a velocità più elevate e utilizzare meno risorse a costo di un controllo del segnale sorgente leggermente più complesso.
Scaricare i file utilizzati in questo esempio:
L'utilizzo di questo progetto è regolato e soggetto ai termini e condizioni del Contratto di licenza Intel® Design Example.
Parametri
Le tabelle 1 e 2 elencano le impostazioni dei parametri utilizzate nell'esempio di interpolazione.
Tabella 1. Parametri per il compilatore CIC
Parametri CIC |
Valori |
---|---|
Tipo di filtro |
Interpolazione |
Numero di fasi |
4 |
Fattore di variazione della frequenza |
4 |
Ritardo differenziale |
2 |
Numero di interfacce |
2 |
Numero di canali per interfaccia |
1 |
Larghezza dati di input |
16 |
Larghezza dati di output |
16 |
Potatura Hogenauer |
- |
Arrotondamento dell'output |
Convergenti |
Tabella 2. Parametri per il compilatore FIR
Parametri FIR |
Valori |
---|---|
Specifiche della tariffa |
Interpolazione di 2 |
Canali di input |
2 |
Input Bitwidth |
Binario firmato 8 |
Output Bitwidth |
Risoluzione completa |
Scalabilità dei coefficienti |
Nessuno |
Famiglia di dispositivi |
Stratix® II |
Struttura |
MCV |
Livello della pipeline |
2 |
Storage dei dati |
M4K |
Storage a coefficiente |
M512 |
Moltiplicatore |
Blocchi DSP |
Clock per dati di output |
2 |
Input dei coefficienti |
Da file |
Link correlati
Per ulteriori informazioni sulle funzionalità correlate utilizzate in questo esempio di progettazione nel progetto, andare a: