...ma allargando la banda andiamo ad aumentare il contenuto armonico del segnale d'uscita
Il clock è a 75 MHz un po' di margine lo abbiamo.. comunque il punto è che bisogna definire il livello del rumore.
direi di impostarlo a 50dB sotto al segnale e di regolare il filtro di conseguenzaA questo punto perché non lasciamo stare il butterworth e torniamo a un bel filtro ellittico
A parte che lo usa Analog che può essere un buon motivo non mi piace copiare le cose senza capirle, mi piacerebbe una motivazione tecnica sul perché passare al filtro ellittico, anche solo dal punto vantaggi/svantaggi
per ottenere le massime prestazioni possiamo anche accettare un po' di ripple in banda; viepppiù: agendo sul controllo d'ampiezza (la butto lì, magari con un bel current sink SPI da 16 bit al segnale FS ADJUST) possiamo mappare il giusto guadagno in funzione della frequenza, in modo da compensare sia il ripple in banda che l'errore di guadagno senx/x, ottenendo così una risposta piatta.
Non serve il current sink per il segnale FS ADJUST, si comanda tranquillamente in tensione col DAC integrato nel micro. Nel firmware è già implementata la API per utilizzarlo (ed è già utilizzato dalla GUI lato PC) :) Buona l'idea di utilizzarlo anche per eventuali compensazioni. Non è a 16 bit (12 bit) ma direi di accontentarci.
Ho il sospetto che questo punto non sia molto chiaro, tazzo, puoi mostrare lo schema o la netlist SPICE che hai simulato? Intendo quello con le resistenze di generatore e di carico
Nella prima simulazione non c'erano appositamente le impedenze di generatore e di carico per mostrare per l'appunto che senza le giuste impedenze si aveva tale situazione.
Nella seconda simulazione in effetti hai ragione, avevo scordato di sostituire il generatore di tensione con quello di corrente da 4mA per simulare correttamente il DAC del DDS.
Il file della simulazione è adesso nel repository e riporto la schermata del programma:

- filter.png (26.42 KiB) Osservato 13033 volte
Che giustamente adesso mostra un grafico perfetto, vorrei approfondire però gli effetti negativi che si ottengo salendo di filtri (poli, inversione di fase, etc..) avete qualche link/libro a proposito che ne parla?
Io consiglierei di procedere in questo modo
- scendere di grado rimanendo su un Butterworth (per esempio quinto o sesto ordine al massimo)
- riprendere le simulazioni del filtro con i parametri nominali, assicurandosi che il filtro sia ben dimensionato
- fare uno studio delle tolleranze e sensibilità, sempre in simulazione, ritoccando quanto necessario
- provare a montare il filtro e caratterizzarlo
Se siete d'accordo direi di scegliere il filtro con l'ordine più basso per ottenere spurie sotto i 50dB (o comunque un valore su cui ci accordiamo) generando segnali a 25 MHz. Se basta un quinto ma anche quarto ordine ben venga, si avranno meno problemi e un filtro meno costoso.
Per lo studio della sensibilità TINA dispone di qualche features e non ci sono problemi, si può fare in automatico un'analisi di tutte le combinazioni coi vari parametri varianti in un certo range.
Per l'ultimo punto che condensatori scegliereste? 0805? 1206? Di qualche tipo?
Intendiamoci, se serve un filtro ellittico, posso provare a tirare fuori lo Zverev e dimensionarne uno. Lo faccio anche volentieri, ma mi ci vorrà parecchio tempo, perché adesso non è periodo in cui riesca a fare molta elettronica.
Magari provo io a cercare qualche sw un po' migliore dell'applicazione web e faccio qualche prova senza tirare fuori libri, non ti preoccupare
PS: Vedo che il progetto sta iniziando a diventare collaborativo :)