====== Elettronica ====== ===== SDR - Software Defined Radio ===== FIXME Una **SDR** (Software Defined Radio) è un sistema che ci permette di realizzare ricevitori radio non più in hardware ma completamente in software. Il vantaggio nel realizzare ricevitori completamente software risiede nel fatto di poter realizzare dei sistemi completamente MULTISTANDARD. Una Software Defined Radio (SDR) presenta i seguenti vantaggi: * può essere riconfigurata "on-the-fly", * può essere facilmente e velocemente aggiornata per consentire l’introduzione di nuove versioni software oppure per aggiungere nuove funzionalità (upgrade e/o patch) ==== Link utili ==== * ... ===== Programmazione dei PIC ===== coming soon... FIXME ===== VDHL & SPARTAN3AN ===== sviluppo di piccole applicazioni in VHDL per SPARTAN3AN :-) coming soon... FIXME ===== Matlab ===== ==== Progetti sviluppati ==== Per scaricare i file relativi ai progetti devi far parte del gruppo "**Elettronica**". Si ricorda che l'ammissione a questo gruppo è a completa discrezione dei moderatori di questa sezione :!: ^ Algoritmo CORDIC ^ |Vi fornisco una semplicissima implementazione di uno dei più famosi algoritmi per il calcolo di funzioni trigonometriche. In questo modo vi sarà possibile comprendere come opera questo algoritmo. L'algoritmo CORDIC viene comunemente usato quando, in hardware, non si ha a disposizione l'operazione di moltiplicazione (cosa molto comune nei piccoli microcontrollori e nelle FPGA) ma le uniche cose a nostro disposizione sono:le operazioni di somma, sottrazione, bitshiting e la possibilità di utilizzare una lookup table.| |__**Downloads:**__\\ {{:elettronica:private:cordic.tar.gz}}| ^ Recursive Discrete-Time Sinusoidal Oscillator ^ |Gli oscillatori che vengono presi in considerazione in questo progetto presentano tutti una matrice di rotazione 2 x 2 e generano in uscita simultaneamente una coppia di sinusoidi. Tali sinusoidi presentano la medesima frequenza, ma in base al tipo di oscillatore considerato possono avere fase e ampiezza diverse. Per creare nuovi tipi di oscillatori basterà trovare una nuova matrice di rotazione che soddisfi i due criteri di Barkhausen.\\ (**Articolo di partenza:** //Clay S. Turner, Recursive Discrete Time Sinusoidal Oscillators - IEEE Signal Processing Magazine 1053 5888/03//)| | __**Downloads:**__\\ {{:elettronica:private:recursive_discrete-time_sinusoidal_oscillator-relazione.pdf}}\\ {{:elettronica:private:recursive_discrete-time_sinusoidal_oscillator.zip}}\\ {{:elettronica:private:simulink-generic_iterator.mdl.tar.gz}}\\ {{:elettronica:private:simulink-biquad_oscillator.mdl.tar.gz}}\\ {{:elettronica:private:simulink-digital_waveguide.mdl.tar.gz}}| ^ Progetto di uno scambiatore di calore ^ |Scopo di questo lavoro è lo studio e la simulazione del comportamento di uno scambiatore di calore con il fine di progettare un sistema di controllo che, attraverso la variazione di velocità del flusso di acqua che scorre nella condotta dello scambiatore, ne regoli la temperatura del liquido d'uscita e riesca a rigettare qualsiasi tipo di disturbo “costante”. Questa tipologia di scambiatore ha la funzione di scaldare un flusso di acqua continuo in una condotta sottoposta ad una sorgente di calore in modo da ottenere in uscita un flusso di liquido caratterizzato da una temperatura prefissata. Nel nostro caso come variabile di controllo viene utilizzata la velocità del flusso di liquido all'interno della serpentina.| |__**Downloads:**__\\ {{:elettronica:private:scambiatore_calore.zip}}| ^ Sintesi di frequenza frazionaria: Fractional-N PLL ^ |Un **Fractional-N PLL** (FN) è composto da una __frequenza di riferimento__ (Frif) generata da un quarzo, da un __Phase Detector__ (nel caso in questione è stato usato anche un Charge Pump), un __Loop Filter__, un __Voltage Controlled Oscillator__ (VCO), un __Divisore di frequenza variabile__ (divide la frequenza di uscita al VCO per N o N+1) e un blocco che guida il divisore affinché divida istantaneamente la frequenza in uscita del VCO per N o N+1. In pratica l’FN raggiunge la risoluzione voluta modulando istantaneamente il divisore tra N e N+1 determinando il valore di frequenza frazionaria.\\ Questo blocco può essere realizzato con un **accumulatore** o da un **modulatore Sigma Delta**. Quello dell'accumulatore è il metodo più immediato per generare una divisione tra N e N+1, poiché genera un carry che andrà a pilotare il divisore. Se tale carry è un “1” la divisione sarà per N+1, mentre se il carry è uno “0” il divisore dividerà per N.\\ Per la simulazione del dispositivo è stato utilizzato **Matlab Simulink R2008a** usato sotto ambiente Linux.| |__**Downloads:**__\\ {{:elettronica:private:fractional-n_pll_et_a.a.2007-2008.pdf|}}\\ {{:elettronica:private:fractional-n_pll_et-a.a.2007-2008.odt}}\\ {{:elettronica:private:fractional-n_pll_presentazione.odp}}\\ {{:elettronica:private:fractional-n_pll.tar.gz}}| ===== Link utili ===== ==== Libri e guide ==== * [[http://ccrma-www.stanford.edu/~jos/filters/|Introduction to digital filters, Julius O. Smith III ]] * [[http://www.homolaicus.com/scienza/reti/tecnologia/nodi/infocom.uniroma1.it/alef/libro/html/libro/libro.html|Elementi di Trasmissione dei Segnali e Sistemi di Telecomunicazione]] * [[http://cens.ioc.ee/local/man/matlab/helpdesk.html|Matlab Helpdesk]] * [[http://www.mathworks.com/access/helpdesk/help/techdoc|Matlab - Documentation]] * [[http://www.pluto.it/files/ildp/guide/abs/index.html|Guida avanzata di scripting Bash]] * [[http://jolly.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/01Indice.html|Corso C++ standard]] * [[http://www.easysw.com/~mike/index.php?serial/serial.html+printable|Serial Programming Guide for POSIX Operating Systems]] * [[http://gapil.truelite.it/index.html|GaPiL - Guida alla Programmazione in Linux]] ==== Risorse ==== * [[http://www.fioreltech.net/_media/elettronica/rj45.gif|schema convenzione colori RJ-45]] * ...