Estoy tratando de escribir un VHDL media móvil (ponderada uniformemente) módulo que utiliza FSMD (ata). Por lo que entiendo, los estados necesitarían algo como buscar, dividir, salir. Debajo está el proceso que escribí, pero siento que mi lógica es un poco apagado. Tenga en cuenta que el promedio de Im de datos es sólo una matriz constante de números de 8 bits, así que pensé que debería estar bien para utilizar un diseño no causal. Los datos tienen 64 entradas, y en este momento la ventana para el promedio es 4. ¿Cómo equivocado este aspecto? Algunos problemas que puedo ver de inmediato: Usted no reinicializar temp en cualquier lugar. Lo que pasa con el patrón (counti) cuando se aproxima al límite ¿Cómo se vuelca) Su for-loop es de 0 a len - ¿está seguro de que usted no tiene ningún límite de verificación para contar (es un subtipo o sólo un entero natural / Usted no significó 0 a (len - 1) Puesto que su proceso entero de la descodificación del estado es reloj, usted no necesita realmente nstate en absoluto. Tenga en cuenta que ni siquiera está inicializando cstate (pero todavía lo está decodificando). Haga su estado decodificar un proceso combinacional separado o simplemente deshacerse de nstate y asignar a cstate directamente. De lo contrario, depende de sus objetivos de diseño. Si no se preocupa por el rendimiento, pero necesita ejecutar a una velocidad de reloj muy alta, es posible que desee realizar su adición secuencial en lugar de en paralelo, por ejemplo. Respondió Sep 5 14 at 13:32 gracias, eso definitivamente hace las cosas mejor. Sobre el rollover cuenta, I39m no estoy seguro de cómo hacerlo porque para cada patrón (contar) hasta 63, quiero mostrar su valor y el promedio de la ventana a su alrededor. Así que si vuelco en el coun-len, no debería salir de los límites pero no mostrará los datos completos. Si estaba haciendo una implementación causal que tendría un retraso en el comienzo, es una cosa similar que necesito aquí, pero al final ndash user1710566 Sep 5 14 at 23:23 mi solución fue: elsif (clk evento), a continuación, si cuenta 64 Then count lt 0 else calcular end if. Y en el bucle for poner una salida si count i fue mayor de 63. ndash user1710566 Sep 6 14 at 0: 05 Tengo una pregunta relacionada con el promedio continuo de ADCs valor. El enfoque que he utilizado es el promedio continuo de ejemplo 256 muestras. El valor adcaout (mostrado en el código de abajo) que recibo en mi GUI aumenta lentamente. Por ejemplo, si espero un valor de 100mA, Mi GUI muestra 4mA, 8mA, 15mA. Y después finalmente después de 2 minutos consigo el valor estable de 100mA. Quiero ver el 100mA directamente en mi GUI de adcaout en lugar de valores de incremento y la estabilización después de algún tiempo. Otra pregunta es que, ¿puedo de alguna manera hacer este proceso rápido para que no tenga que esperar 3 minutos para recibir 100 mA estable de adcaout. El reloj clk en el diseño digital a continuación es de 20 MHz. El reloj para recibir valores ADC en la placa FPGA es 15 KHz. - el archivo adc. vhd está abajo: Su código se modifica de la siguiente manera: La salida final que estoy viendo en mi GUI es slvvalue1 y slvvalue2 ¿Qué tal esto: al restablecer (o en cualquier otro momento si lo desea), asigne el Dato de valor a todos los elementos de la matriz de etapa. Esto debería establecer instantáneamente su promedio en el valor actual: El ejemplo siguiente muestra el código completo para una calculadora de promedio móvil. Mi sugerencia es que lo estudies hasta que lo entiendas. Luego, trate de usarlo en su diseño. Por último, y sólo después de tener un circuito básico de trabajo, se puede cambiar para satisfacer sus limitaciones de diseño (ancho de los datos, el número de muestras, rango de enteros, el uso de firmado vs entero, etc) Por último, si desea utilizar El código anterior para mantener dos promedios separados para dos señales distintas, basta con instanciar la entidad de promedio dos veces: Editar: Según entiendo de sus comentarios, puede que necesite una entrada adicional para establecer el promedio instantáneamente al valor de entrada actual. En este caso, puede utilizar una entrada de carga como se muestra a continuación: contestada 26 de noviembre a las 15: 45Simple Moving Average - SMA ¿Qué es un promedio móvil simple - SMA Un promedio móvil simple (SMA) es un promedio aritmético móvil calculado mediante la adición de la El precio de cierre de la garantía por un número de períodos de tiempo y luego dividir este total por el número de períodos de tiempo. Como se muestra en la tabla anterior, muchos comerciantes observan los promedios a corto plazo para cruzar por encima de los promedios a más largo plazo para señalar el comienzo de una tendencia alcista. Los promedios a corto plazo pueden actuar como niveles de apoyo cuando el precio experimenta un retroceso. VIDEO Carga del reproductor. BLOQUEANDO BAJO Promedio móvil simple - SMA Una media móvil sencilla es personalizable ya que se puede calcular para un número diferente de períodos de tiempo, simplemente agregando el precio de cierre de la garantía durante un número de períodos de tiempo y luego dividiendo este total por el número De los períodos de tiempo, lo que da el precio medio de la garantía durante el período de tiempo. Un simple promedio móvil suaviza la volatilidad y facilita la visualización de la tendencia de precios de un valor. Si la media móvil simple apunta hacia arriba, esto significa que el precio de los valores está aumentando. Si apunta hacia abajo significa que el precio de los valores está disminuyendo. Cuanto más largo sea el plazo para el promedio móvil, más suave será la media móvil simple. Un promedio móvil a más corto plazo es más volátil, pero su lectura está más cerca de los datos de origen. Significado analítico Los promedios móviles son una herramienta analítica importante utilizada para identificar las tendencias de precios actuales y la posibilidad de un cambio en una tendencia establecida. La forma más simple de usar una media móvil simple en el análisis es utilizarlo para identificar rápidamente si una seguridad está en una tendencia alcista o tendencia descendente. Otra herramienta analítica popular, aunque un poco más compleja, es comparar un par de promedios móviles simples con cada uno cubriendo diferentes marcos temporales. Si una media móvil simple a corto plazo está por encima de un promedio a más largo plazo, se espera una tendencia alcista. Por otro lado, un promedio a largo plazo por encima de un promedio a corto plazo indica un movimiento descendente en la tendencia. Patrones de comercio populares Dos patrones populares de comercio que utilizan simples promedios móviles incluyen la cruz de la muerte y una cruz de oro. Una cruz de la muerte ocurre cuando el promedio móvil simple de 50 días cruza debajo de la media móvil de 200 días. Esto se considera una señal bajista, que las pérdidas adicionales están en la tienda. La cruz de oro se produce cuando una media móvil a corto plazo se rompe por encima de una media móvil a largo plazo. Reforzada por altos volúmenes de negociación, esto puede señalar que hay más ganancias.
No comments:
Post a Comment