OpenWSPR Receiver: III - Mejoras

Ver: OpenWSPR Receiver: I - Primeros pasos OpenWSPR Receiver: II - Resultados AMPLIFICADOR DE RF - LNA YouLoop Magnetic Antenna Pleamplifier - RF AMP02A Se eligió este clon de bajo coste por haber dado buenos resultados en pruebas anteriores y se tenía disponible, no hay duda que con un LNA original tendríamos mejores características  pero a cambio de hacer una inversión, que a priori no está justificada, pues puede haber otros elementos que limiten la instalación comenzando por el propio OpenWSPR o la antena. Una de las aplicaciones del protocolo WSPR y su red, es poder comparar con gran fiabilidad dado el gran numero de RX y TX distribuidos por todo el mundo: antenas (localización, modelos, etc.), filtros, amplificadores de RF, y otros elementos de RF. Así que se compara los spots recibidos sin amplificador y con amplificador.  (EN construcción)

PROLOG (IV): Más que lógica


EXPRESIONES ARITMETICAS

Además de con expresiones lógicas, con PROLOG podemos trabajar con expresiones aritméticas , con números enteros (integer), racionales (rational) y en coma flotante (float) y tiene definidas las constantes pi y e


Pero hay muchísimas más como podemos ver en el manual de referencias, veamos unas pocas y así enteremos la nomenclatura que usa:

  • between(+Low, +High, ?Value) : Esta expresión es cierta si el valor de la variable (?Value) está comprendido en el intervalo cerrado (+Low,+Higth), así between(2,4,3)  es true.
  • succ(?Int1, ?Int2) : Esta expresión es cierta si el valor del numero entero de la variable ?int2 es el de ?Int1 incrementado en una unidad. Así succ(1,2) es true y succ(1,A) es A=2.
  • >, <, >=, =>, =/=, =:= o is : son los operadores lógicos correspondientes a menor que, mayor que, mayor o igual, menor o igual, desigual e igual. Por ejemplo 1.0 is sin(pi/2)  es true
  • round(+Expr) : redondea +Expr al entero más proximo. Por ejemplo A is round(1.2) nos devuelve A = 1.

LISTAS

Las listas es una estructura de datos que está implementada en PROLOG. Una lista es un conjunto ordenado de datos, que se escribe entre corchetes y separados por comas por ejemplo [X, Y, Z] . Disponemos de un completo conjunto de funciones para manipular listas en PROLOG.

  • = : permite asignar valores [X, Y, Z] = [juan, pablo, pedro]
  • member: indica si un valor está contenido en una lista member(juan,[juan, pablo, pedro]).
  • max_member: devuelve el elemento que ocupa la posición superior en la lista max_member(A,[juan, pablo, pedro]) devuelve A= pedro
  • min_menber: devuelve el elemento que ocupa la posición superior en la lista min_member(A,[juan, pablo, pedro]) devuelve A= juan
  • length([lista],Longitud) : devuelve la longitud de la lista. Así length([juan, pablo, pedro],Longitud) devuelve Longitud = 3.
  • append: une listas. Un ejemplo append([juan, pablo, pedro],[luis],A) devuelve A = [juan, pablo, pedro, luis].
  • delete (lista, elemento, nueva_lista): borra un elemento de una lista. Veamos un ejemplo delete([juan, pablo, pedro], juan, A) devuelve A = [pablo, pedro].
  • nth0(Index,[lista], elemento_buscado): devuelve el valor del indice del valor buscado en la lista, comenzando por 0. Un ejemplo como nth0(Index,[juan, pablo, pedro], pedro) nos devuelve Index = 2.
  • sort([lista], lista_ordenada): ordena una lista de entrada, devolviendo la lista ordenada sort([juan, pablo, pedro, andres], A) devuelve A = [andres, juan, pablo, pedro].

Para leer más:

Comentarios

Entradas populares de este blog

ESP32 LoRa for dummys - Inicio

Receptores DAB/DAB+

Antena exterior logarítmica UHF/VHF : Metronic 425010 - Ia Características