0% encontró este documento útil (0 votos)
17 vistas15 páginas

Oscilador Controlado Numéricamente (NCO)

El documento describe un oscilador controlado numéricamente (NCO), un sistema electrónico digital que sintetiza señales de frecuencia variable a partir de una base de tiempo. Un NCO consta de un registro de control de frecuencia, un acumulador de fase y una tabla de conversión fase-amplitud. El registro de control de frecuencia determina el incremento de fase en cada ciclo, controlando así la frecuencia de salida. El acumulador de fase genera la señal de salida accediendo secuencialmente a muestras almacenadas en la tabla de
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas15 páginas

Oscilador Controlado Numéricamente (NCO)

El documento describe un oscilador controlado numéricamente (NCO), un sistema electrónico digital que sintetiza señales de frecuencia variable a partir de una base de tiempo. Un NCO consta de un registro de control de frecuencia, un acumulador de fase y una tabla de conversión fase-amplitud. El registro de control de frecuencia determina el incremento de fase en cada ciclo, controlando así la frecuencia de salida. El acumulador de fase genera la señal de salida accediendo secuencialmente a muestras almacenadas en la tabla de
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

NCO

(Numerically Controlled Oscillator)

NCO: Oscilador controlado numricamente

Es un sistema electrnico digital utilizado para sintetizar seales de frecuencias variadas, a partir de una base de tiempo

Aplicaciones DDS (Direct Digital Synthesizers) Conversores digitales up/down PLLs digitales Sistemas de radar Moduladores/Demoduladores Drivers para transmisiones pticas o acsticas

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Diagrama en bloques bsico

RCF

RF

CFA

Registro de Control de Frecuencia Sumador (Mdulo N) Registro de Fase Convertidor Fase-Amplitud Acumulador de fase Lookup table

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Funcionamiento - Se comienza con el Registro de Fase inicializado en cero

- En el Registro de Control de Frecuencia se graba un nmero 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

RCF

010 011 100 101 110 111 000 001

RF

001 010 011 100 101 110 111 000

CFA

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Funcionamiento
- La salida del registro de Fase se utiliza para acceder a la memoria que contiene las muestras de la seal - El perodo de la seal de salida es igual al tiempo que le

lleva al contador alcanzar su cuenta mxima. En este tiempo


se tienen que obtener todas las muestras de la seal, guardadas en la memoria - De lo anterior se desprende que si el incremento de fase aumenta, el perodo de la seal 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

NCO

NCO: Oscilador controlado numricamente


Funcionamiento
- De lo anterior se desprende:
Tclock . 2N To = [seg] I Fclock . I [Hz] N 2

(Perodo de la seal de salida)

Fo =

(Frecuencia de la seal de salida)

- A su vez, la memoria posee las muestras de un ciclo de una seal senoidal. El salto de fase entre cada posicin es:

d =

360 2N

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Funcionamiento
- El Registro de Fase es de N bits, lo que le permite acceder a cualquier direccin 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:


F =

360 .I
2N

- Finalmente la resolucin en frecuencia se obtiene para I=1:


f =

1 Tclock.2N

Fclock [Hz] N 2

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Ejemplo de diseo
Fo (Frecuencia de salida) = 500 Hz Df = Resolucin en frecuencia <= 0,05 Hz Ts = Perodo de muestreo = 1/8000 seg

1. Clculo del nmero de bits necesarios del acumulador

f =

1 Ts.2N

[Hz]

0,05 =

1 1 .2N 8000

8000 N = log2 = 17,29 0 , 05


N = 18

N debe ser un nmero entero, por lo tanto:

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Ejemplo de diseo
Fo (Frecuencia de salida) = 500 Hz Df = Resolucin en frecuencia <= 0,05 Hz Ts = Perodo de muestreo = 1/8000 seg

2. Reclculo de la resolucin en frecuencia

f =

1 Ts.2
N

[Hz]

f =

1 1 .2N 8000

1 1 .218 8000

= 0,0305 Hz

Df = 0,0305 Hz

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Ejemplo de diseo Fo (Frecuencia de salida) = 500 Hz Df = Resolucin en frecuencia <= 0,05 Hz Ts = Perodo de muestreo = 1/8000 seg

3. Clculo del incremento de fase


Fo.2N I = round Fs
500.218 I = round 8000 = 16384

I = 16384

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Ejemplo de implementacin en VHDL y simulacin

entity Acum_Fase is generic( P: natural:= 3; -- incremento Q: natural:= 14; -- mdulo N: natural:= 4 -- 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

NCO

NCO: Oscilador controlado numricamente


Ejemplo de implementacin en VHDL y simulacin
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 begin 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 if; end process Modular_Addition; acum_reg <= std_logic_vector(mod_reg);

end architecture BEH;

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Ejemplo de implementacin en VHDL y simulacin

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente


Ejemplo de implementacin en VHDL y simulacin

Osc Sin_Cos Sin_Rom NCO (archivo de simulacin)

Sistemas Digitales - UBA

NCO

NCO: Oscilador controlado numricamente

FIN

Sistemas Digitales - UBA

NCO

También podría gustarte