Descargar la presentación
La descarga está en progreso. Por favor, espere
1
(Numerically Controlled Oscillator)
NCO (Numerically Controlled Oscillator)
2
Qué es un NCO Aplicaciones
NCO: Oscilador controlado numéricamente Qué es un NCO Es un sistema electrónico digital utilizado para sintetizar señales de frecuencias variadas, a partir de una base de tiempo Aplicaciones - Conversores digitales up/down - PLLs digitales - Sistemas de radar - Moduladores/Demoduladores - Drivers para transmisiones ópticas o acústicas - Software-defined radios (SDR) Sistemas Digitales - UBA
3
Se elimina la necesidad del ajuste de los componentes
NCO: Oscilador controlado numéricamente Ventajas Se elimina la necesidad del ajuste de los componentes analógicos, debido al paso del tiempo La interfaz digital facilita el control del sistema de manera remota Sistemas Digitales - UBA
4
Diagrama en bloques básico
NCO: Oscilador controlado numéricamente Diagrama en bloques básico RCF + RF CFA Registro de Control de Frecuencia Sumador (Módulo N) Acumulador de fase Registro de Fase Convertidor Fase-Amplitud Lookup table Sistemas Digitales - UBA
5
- Se comienza con el Registro de Fase inicializado en cero
NCO: Oscilador controlado numéricamente Funcionamiento - Se comienza con el Registro de Fase inicializado en cero - En el Registro de Control de Frecuencia se graba un número I - Con el primer ciclo de reloj el Registro de Fase toma el valor I - Con los siguientes ciclos de reloj el RF se incrementa en I, tomando los valores 2I, 3I, …, y así sucesivamente, hasta el desborde del contador. 001 101 110 001 100 101 001 000 001 011 100 001 111 000 001 110 111 001 000 001 010 011 001 010 RCF + RF CFA Sistemas Digitales - UBA
6
La salida del registro de Fase se utiliza para acceder a la
NCO: Oscilador controlado numéricamente Funcionamiento La salida del registro de Fase se utiliza para acceder a la memoria que contiene las muestras de la señal El período de la señal de salida es igual al tiempo que le lleva al contador alcanzar su cuenta máxima. En este tiempo se tienen que obtener todas las muestras de la señal, guardadas en la memoria - De lo anterior se desprende que si el incremento de fase aumenta, el período de la señal de salida disminuye. Por Ej.: si el incremento es 1 se necesitan 2N ciclos de reloj para que el contador desborde, y si es 2 se necesitan 2N/2 Sistemas Digitales - UBA
7
Funcionamiento I1 Salida de la LUT Acumulador I2 = 2.I1 Salida de
NCO: Oscilador controlado numéricamente Funcionamiento I1 Salida de la LUT Acumulador I2 = 2.I1 Salida de la LUT Acumulador Sistemas Digitales - UBA
8
De lo anterior se desprende:
NCO: Oscilador controlado numéricamente Funcionamiento De lo anterior se desprende: [seg] I N 2 . Tclock To = (Período de la señal de salida) [Hz] N 2 I . Fclock Fo = (Frecuencia de la señal de salida) - A su vez, la memoria posee las muestras de un ciclo de una señal senoidal. El salto de fase entre cada posición es: N 2 360 = d Sistemas Digitales - UBA
9
- El Registro de Fase es de N bits, lo que le permite acceder
NCO: Oscilador controlado numéricamente Funcionamiento - El Registro de Fase es de N bits, lo que le permite acceder a cualquier dirección de la memoria. El valor a la entrada del Registro de Control de Frecuencia, que se suma al valor del Registro de Fase en cada ciclo de reloj representa un incremento de fase de: N 2 .I 360 Δ = F - Finalmente la resolución en frecuencia se obtiene para I=1: [Hz] N 2 Fclock Tclock.2 1 Δf = Sistemas Digitales - UBA
10
N debe ser un número entero, por lo tanto:
NCO: Oscilador controlado numéricamente Ejemplo de diseño Fo (Frecuencia de salida) = 500 Hz Df = Resolución en frecuencia <= 0,05 Hz Ts = Período de muestreo = 1/8000 seg 1. Cálculo del número de bits necesarios del acumulador N debe ser un número entero, por lo tanto: N = 18 Sistemas Digitales - UBA
11
Fo (Frecuencia de salida) = 500 Hz
NCO: Oscilador controlado numéricamente Ejemplo de diseño Fo (Frecuencia de salida) = 500 Hz Df = Resolución en frecuencia <= 0,05 Hz Ts = Período de muestreo = 1/8000 seg 2. Recálculo de la resolución en frecuencia Df = 0,0305 Hz Sistemas Digitales - UBA
12
Fo (Frecuencia de salida) = 500 Hz
NCO: Oscilador controlado numéricamente Ejemplo de diseño Fo (Frecuencia de salida) = 500 Hz Df = Resolución en frecuencia <= 0,05 Hz Ts = Período de muestreo = 1/8000 seg 3. Cálculo del incremento de fase I = 16384 Sistemas Digitales - UBA
13
Lookup table (memoria)
NCO: Oscilador controlado numéricamente Arquitectura Lookup table (memoria) LUT cos Incremento de fase DF N FFD + FFD 2N-1 sen clk La LUT tiene 2N entradas (siendo N el número de bits de las direcciones generadas por el acumulador) La precisión de los datos de salida de la LUT es independiente de N Sistemas Digitales - UBA
14
Lookup table (memoria)
NCO: Oscilador controlado numéricamente Arquitectura Lookup table (memoria) La LUT puede ser cargada con: - Todos los puntos de la senoide (ciclo completo) - La mitad de los puntos de la senoide (medio ciclo) - Un cuarto de los puntos de una senoide (cuarto ciclo) LUT 2N-1 Sistemas Digitales - UBA
15
Fo (Frecuencia de salida requerida) = 5MHz
NCO: Oscilador controlado numéricamente Ejemplo 2 Fo (Frecuencia de salida requerida) = 5MHz Cantidad de valores en memoria = 256 Fs = Frecuencia de muestreo = 20MHz Fs . I Fo 5MHz Fo = [Hz] I = . 2N = . 256 = 64 2N Fs 20MHz Sistemas Digitales - UBA
16
Fo (Frecuencia de salida requerida) = 4.8MHz
NCO: Oscilador controlado numéricamente Ejemplo 3 Fo (Frecuencia de salida requerida) = 4.8MHz Cantidad de valores en memoria = 256 Fs = Frecuencia de muestreo = 20MHz [Hz] 2N I . Fs Fo = 20MHz 256 4,8MHz 61,44 256 round(I) . 20MHz Fo = 4,76MHz ≠ 4,8MHz Sistemas Digitales - UBA
17
Arquitectura (uso de punto fijo)
NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Diagrama general Lookup table Incremento de fase DF Qm,r Qm,r Qm,r Qm,r Qm FFD + FFD Q() clk El incremento de fase está representado en punto fijo (Qm,r) El acumulador opera con punto fijo -> aumenta su complejidad pero se logra un mejor control sobre la frecuencia deseada Para acceder a la LUT se descarta la parte fraccionaria Si se aumenta la cantidad de bits r se aumenta la resolución en frecuencia Sistemas Digitales - UBA
18
Ejemplo 3 (Continuación)
NCO: Oscilador controlado numéricamente Ejemplo 3 (Continuación) Retomamos el ejemplo 3 pero esta vez utilizamos 4 bits fraccionales Con este nuevo formato el incremento puede ser representado como: I = 61,4375d = ,0111b 20MHz . 61,4375 Fo = = 4,799MHz 256 La frecuencia resultante es mucho más cercana a la requerida Sistemas Digitales - UBA
19
Mínimo incremento (I) posible
NCO: Oscilador controlado numéricamente Mínimo incremento (I) posible 1 Imin = 2r Resolución de frecuencia para el Imin 20MHz . Imin DFo = = 78125Hz 256 Sistemas Digitales - UBA
20
Resolución en frecuencia [Hz]
NCO: Oscilador controlado numéricamente Resolución de frecuencia obtenible para 8 bits y una frecuencia de muestreo de 20MHz Bits p/parte fracc Incremento mínimo Resolución en frecuencia [Hz] 1 78.125 0,5 39.062,5 2 0,25 19.531,25 3 0,125 9.765,625 4 0,0625 4.882,8125 5 0,03125 2.441,40625 10 0, 76, 15 0, 2, 20 0, 0, Sistemas Digitales - UBA
21
Acceso a la memoria de valores de la señal (LUT)
NCO: Oscilador controlado numéricamente Acceso a la memoria de valores de la señal (LUT) Sólo se utiliza la parte entera del acumulador (truncado) Este truncamiento atenta contra la pureza espectral de la señal generada Las muestras almacenadas en la LUT también presentan un grado de cuantización en amplitud. Esto también degrada la señal generada. Sistemas Digitales - UBA
22
Componentes espúreas debido al truncamiento de fase
NCO: Oscilador controlado numéricamente Componentes espúreas debido al truncamiento de fase Sistemas Digitales - UBA
23
Componentes espúreas debido a la cuantización de amplitud
NCO: Oscilador controlado numéricamente Componentes espúreas debido a la cuantización de amplitud Sistemas Digitales - UBA
24
Componentes espúreas debido a la cuantización de
NCO: Oscilador controlado numéricamente Componentes espúreas debido a la cuantización de amplitud y al truncamiento de fase Sistemas Digitales - UBA
25
Rango dinámico libre de espúreos (SFDR)
NCO: Oscilador controlado numéricamente Rango dinámico libre de espúreos (SFDR) SFDR Sistemas Digitales - UBA
26
influencia sobre el rendimiento del NCO.
NCO: Oscilador controlado numéricamente Recapitulando … Tanto los bits representantes de la parte entera del acumulador, como los representantes de la parte fraccionaria y la resolución de la LUT tienen influencia sobre el rendimiento del NCO. Si se aumenta el número de bits de la parte entera se tiene: - Una LUT más grande - Un efecto menor debido al truncamiento de la fase Si se aumenta el número de bits de la parte fraccionaria se tiene: - Un salto incremental más pequeño y una mejor resolución en frec. - Un acumulador más caro Si se aumenta la resolución de la salida de la LUT se tiene: - Un efecto menor debido a la cuantización de las muestras de la señal. - Mayores requerimientos para la LUT Sistemas Digitales - UBA
27
Arquitectura (uso de punto fijo)
NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither Lookup table Incremento de fase DF Qm,r Qm,r Qm,r Qm,r Qm,r Qm FFD + FFD + Q() clk Generador de dither Sistemas Digitales - UBA
28
Arquitectura (uso de punto fijo)
NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither (poca cantidad de bits) SFDR = 73dB Sistemas Digitales - UBA
29
Arquitectura (uso de punto fijo)
NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither (excesiva cantidad de bits) SFDR = 81dB Sistemas Digitales - UBA
30
Arquitectura (uso de punto fijo)
NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither (cantidad correcta de bits) SFDR = 105dB Sistemas Digitales - UBA
31
Código VHDL Estructura
NCO: Oscilador controlado numéricamente Código VHDL Estructura Incremento de fase DF sin_o acum_fase sin_cos cos_o clk Sistemas Digitales - UBA
32
Ejemplo de implementación en VHDL y simulación
NCO: Oscilador controlado numéricamente Ejemplo de implementación en VHDL y simulación entity Acum_Fase is generic( P: natural := 3; -- incremento Q: natural := 14; -- módulo N: natural := cantidad de bits ); port( clk: in std_logic; acum_reg: out std_logic_vector(N-1 downto 0) end entity Acum_Fase; Sistemas Digitales - UBA
33
Ejemplo de implementación en VHDL y simulación
NCO: Oscilador controlado numéricamente Ejemplo de implementación en VHDL y simulación architecture BEH of Acum_Fase is signal mod_reg: unsigned(N-1 downto 0) := (others => '0'); signal rem_nc: unsigned(N-1 downto 0) := (others => '0'); signal term_add: unsigned(N-1 downto 0) := (others => '0'); begin rem_nc <= to_unsigned(Q,N) - mod_reg; term_add <= to_unsigned(P,N); Modular_Addition: process(clk) is if rising_edge(clk) then if (rem_nc<=to_unsigned(P,N)) then mod_reg <= to_unsigned(P,N) - rem_nc; else mod_reg <= mod_reg + term_add; end if; end process Modular_Addition; acum_reg <= std_logic_vector(mod_reg); end architecture BEH; Sistemas Digitales - UBA
34
NCO: Oscilador controlado numéricamente
FIN Sistemas Digitales - UBA
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.