¿Cómo multiplicar dos ondas sinusoidales en FPGA?

X

xtcx

Guest
Hola amigos!, Estoy usando Xilinx FPGA.Tengo que multiplicar dos ondas sinusoidales de entrada (desde el ADC) de la misma frecuencia y amplitud a fin de cancelar la fase de cambios y obtener el doble de su frecuencia. (Si sine producto 2 de la misma frecuencia, es Frec dobles). Mis entradas son 14 -- poco de ADC (entero sin signo de 0 a 16383) y la salida es un DAC de 14 bits.He intentado multiplicación convirtiéndolo a firmado restando 8191 (valor de desplazamiento (16383 / 2). Y luego se multiplicaron y finalmente convertida de nuevo sin firmar a fin de tomar la salida a dac.Since producto,
los valores deben estar en signed.So 14 -- * 14-bits poco se convierte en 28-I bit.Hence a escala de 14 bits, tomando off.This MSB LSB es la salida a DAC.Now Mis productos no son adecuados como simulación. Quiero decir, yo me la frecuencia doble, sine ti pero no es uniforme en forma. Por lo tanto no estoy en condiciones de recuperar el clk de la sine.I no estoy seguro si esto es justo para dos productos analógicos signals.If alguien ha tropezado con esto,
por favor ayúdame. Estoy utilizando VHDL. Verilog no es un problema. Necesito concepto. La muestra es de
Multiplicación de dos ------ ------- ADCS
Proceso (adc1, adc2)
empezar
adc_temp1: = adc1-8191 (convertir a la firma)
adc_temp2: = adc2-8191;
Dac_temp1: = adc_temp1 * adc_temp2; (14-bits * 14bit = 28bit)
dac_temp2: = dac_temp1
8191 (de nuevo a la conversión sin firmar) (I necesidad de 28 bits a 14 bits, Coz Dac es de 14 bits). Así que teniendo en cuenta para la salida MSB)
CAD <= dac_temp2 (27 downto 14)
proceso final;

 
HBO GO to platforma, dzięki której można oglądać firmy i seriale. Do tej pory, aby z niej skorzystać, trzeba było mieć wykupiony tradycyjny pakiet telewizyjny. Dla wielu potencjalnych klientów była to niezrozumiała sytuacja. Bo po co im tradycyjna telewizja, jeśli chcą mieć dostęp do filmów i seriali wyłącznie przez internet?...

Read more...
 

Welcome to EDABoard.com

Sponsor

Back
Top