Mostrando entradas con la etiqueta PASAIA LAB. Mostrar todas las entradas
Mostrando entradas con la etiqueta PASAIA LAB. Mostrar todas las entradas

viernes, 1 de mayo de 2026

# DECÁLOGO DE ACCIÓN CIVIL - PRINCIPIOS Y VALORES FUNDAMENTALES




---

# DECÁLOGO DE ACCIÓN CIVIL  
**Principios y valores para la defensa activa de las libertades civiles**

---

## 1. **Dignidad humana y primacía de la persona**  
Toda persona nace libre e igual en dignidad y derechos. Los algoritmos, leyes o sistemas no podrán nunca subordinar la persona a la máquina ni al interés colectivo sin su consentimiento informado.  
*Fuentes: Declaración Universal (art. 1); Constitución Española (art. 10); valores cristianos (imagen de Dios en cada ser humano).*

---

## 2. **Libertad responsable**  
La libertad termina donde comienza el daño a otro ser humano. ACCIÓN CIVIL defiende el ejercicio de la libertad con conciencia de sus límites democráticos y respeto a los derechos ajenos, rechazando tanto el libertinaje como el autoritarismo algorítmico.  
*Fuentes: Sócrates (responsabilidad ante la polis); CE (arts. 1, 20); concepto cristiano de libertad en verdad.*

---

## 3. **Transparencia algorítmica y derecho a explicación**  
Todo sistema automatizado que afecte a derechos fundamentales debe ser abierto, explicable y recurrible. Nadie será juzgado por un algoritmo secreto.  
*Fuentes: CE (art. 24 tutela judicial efectiva); DUDH (art. 8); valores socráticos de búsqueda de verdad mediante diálogo.*

---

## 4. **No discriminación ni sesgo algorítmico**  
Los algoritmos no podrán perpetuar ni amplificar desigualdades por razón de nacimiento, raza, sexo, religión, opinión, discapacidad, territorio o cualquier otra condición. ACCIÓN CIVIL promoverá auditorías ciudadanas.  
*Fuentes: DUDH (art. 2, 7); CE (art. 14); valores cristianos de igualdad radical ante Dios.*

---

## 5. **Presunción de inocencia y debido proceso digital**  
Ninguna persona será sancionada por un sistema automatizado sin garantías de contradicción, recurso humano y revisión judicial. La automatización no puede anular la presunción de inocencia.  
*Fuentes: DUDH (art. 11); CE (art. 24); principio socrático de no condenar sin pruebas.*

---

## 6. **Protección de la libertad de expresión sin censura previa**  
Las plataformas digitales no podrán eliminar contenidos ni suspender cuentas sin causa justificada, notificación y posibilidad de recurso efectivo. ACCIÓN CIVIL se opone a la moderación automatizada abusiva.  
*Fuentes: DUDH (art. 19); CE (art. 20); valor cristiano de la palabra y testimonio.*

---

## 7. **Bien común y solidaridad digital**  
La tecnología y los datos deben servir al desarrollo humano y al bien común, no a la acumulación de poder por corporaciones o estados. ACCIÓN CIVIL impulsa el software libre, los datos abiertos y la cooperación internacional.  
*Fuentes: valores cristianos (bien común, destino universal de los bienes); CE (art. 128); principios socráticos de justicia en la polis.*

---

## 8. **Perdón y reintegración (frente al castigo perpetuo)**  
Los sistemas automatizados no podrán almacenar para siempre errores o deudas pasadas que impidan la reinserción social. Toda persona tiene derecho a que su pasado digital sea revisado y, en su caso, olvidado.  
*Fuentes: valores cristianos (perdón, misericordia, segunda oportunidad); CE (art. 25: reinserción); DUDH (art. 5: prohibición de tratos inhumanos).*

---

## 9. **Resistencia civil pacífica frente a la opresión algorítmica**  
ACCIÓN CIVIL promoverá la objeción, la desobediencia civil tecnológica y la litigación estratégica cuando las leyes o algoritmos vulneren derechos fundamentales, siempre sin violencia y con responsabilidad.  
*Fuentes: Sócrates (derecho a desobedecer leyes injustas); DUDH (art. 20 - derecho de reunión); valores cristianos (resistencia no violenta).*

---

## 10. **Soberanía popular y democracia participativa en el ciberespacio**  
Las decisiones sobre gobernanza algorítmica y derechos digitales deben ser tomadas con participación ciudadana, control judicial independiente y transparencia. Ningún gobierno o corporación podrá imponer reglas sin rendición de cuentas.  
*Fuentes: CE (art. 1 – soberanía popular); DUDH (art. 21 – participación en el gobierno); Sócrates (debate público como base de la democracia).*

------ ACCION CIVIL  CONTACTO:   tallerpasaialabproyectos@gmail.com>

## ✍️ Promesa de ACCIÓN CIVIL

*"Defenderemos estos diez principios con todos los medios éticos a nuestro alcance: la ley, la tecnología, la educación y la movilización pacífica. Por una civilización digital donde la libertad responsable sea la norma, no la excepción."*

---

**Certificado por ACCIÓN CIVIL (Fundación en formación) como su Carta de Identidad, mayo de 2026.**  
*José Agustín Fontán Varela – Promotor de ACCIÓN CIVIL, PASAIA LAB e INTELIGENCIA LIBRE.*

 

 


 

# INFORME: ALGORITMOS CONTRA LAS LIBERTADES CIVILES – LA GUERRA SILENCIOSA --- **algoritmo de defensa de libertades civiles "LibreIA"**

 A continuación, presento el **informe detallado** sobre la vulneración de libertades civiles por algoritmos, seguido del **proyecto ACCIÓN CIVIL** con sus estatutos, y finalmente el **diseño conceptual de un algoritmo de defensa de libertades fundamentales**.

 

 

 

 

--- ACCION CIVIL  CONTACTO:   tallerpasaialabproyectos@gmail.com>

# INFORME: ALGORITMOS CONTRA LAS LIBERTADES CIVILES – LA GUERRA SILENCIOSA

## 1. Introducción

Los algoritmos han pasado de ser meras herramientas matemáticas a **actores normativos de facto**. Gobiernos y corporaciones los utilizan para perfilar, predecir, inhibir, castigar y manipular a ciudadanos sin control judicial efectivo. Este informe documenta cómo estas tecnologías transgreden derechos fundamentales, cruzan fronteras jurisdiccionales y crean un espacio de inseguridad jurídica global.

## 2. Tipología de algoritmos lesivos para las libertades civiles

### 2.1 Algoritmos gubernamentales de control social

| Tipo | Ejemplo | Vulneración |
|------|---------|--------------|
| **Sistemas de puntuación social** | Modelo chino de “crédito social” | Presunción de inocencia, igualdad, derecho a la réplica |
| **Vigilancia predictiva** | Programas de "policía predictiva" (PredPol, Palantir) | Discriminación racial, sesgo algorítmico, detención arbitraria |
| **Control migratorio** | Algoritmos de evaluación de riesgo de asilo | No acceso a la lógica de decisión, derecho a recurso inefectivo |
| **Censura automatizada** | Filtros de contenido en redes y buscadores por orden gubernamental | Libertad de expresión, presunción de legalidad |

### 2.2 Algoritmos privados (plataformas digitales)

| Tipo | Vulneración |
|------|--------------|
| **Moderación de contenido sin garantías** | Eliminación arbitraria de publicaciones, suspensión de cuentas sin explicación ni recurso humano |
| **Perfilado económico (credit scoring, seguros)** | Discriminación indirecta por código postal, hábitos de compra, etc. |
| **Manipulación de la opinión** | Microsegmentación política sin consentimiento informado, generación de cámaras de eco |
| **Incentivos de diseño adictivo** | Vulneración de la autonomía personal, explotación de sesgos cognitivos |

### 2.3 Algoritmos militarizados (guerra algorítmica)

- **Sistemas de selección de objetivos autónomos** sin control humano efectivo.
- **Desinformación automatizada** (bots, deepfakes) para desestabilizar procesos democráticos.
- **Ataques a infraestructuras civiles** mediante IA (ciberataques a hospitales, redes eléctricas, etc.).

## 3. Cómo cruzan fronteras jurisdiccionales y deterioran el Estado de Derecho

- **Efecto extraterritorial de los términos de servicio**: Una empresa con sede en un país impone sus reglas a usuarios de todo el mundo, sin que los tribunales locales tengan competencia efectiva.
- **Falta de un marco global de derechos digitales**: No existe una convención vinculante que obligue a gobiernos y plataformas a respetar las libertades civiles en el ciberespacio.
- **Asimetría entre velocidad algorítmica y justicia**: Un algoritmo puede ejecutar una decisión en milisegundos; un recurso judicial puede tardar meses o años.
- **Secreto industrial y de Estado**: Los algoritmos de perfilado se ocultan bajo “propiedad intelectual” o “seguridad nacional”, impidiendo el escrutinio público y la defensa legal.

## 4. Consecuencias para la libertad responsable

La libertad responsable (libertad con reconocimiento de límites democráticos y derechos ajenos) se erosiona porque:

- **El ciudadano desconoce las reglas**: No se publican los algoritmos que le evalúan.
- **No puede defenderse**: No hay contradicción efectiva ante una decisión automatizada.
- **No hay reparación adecuada**: Los daños (difamación, denegación de crédito, bloqueo laboral) son difíciles de cuantificar y recurrir.
- **El poder se concentra**: Quien controla los algoritmos controla el acceso a información, trabajo, crédito y movilidad.

---

# PROYECTO ACCIÓN CIVIL – DEFENSA DE LAS LIBERTADES CIVILES FRENTE A ALGORITMOS HOSTILES

## 1. Declaración de principios

**ACCIÓN CIVIL** es un movimiento internacional, pacífico, apartidista y democrático que tiene como objetivo:

- **Defender las libertades civiles** consagradas en la Declaración Universal de Derechos Humanos y en las constituciones democráticas frente a la amenaza de sistemas algorítmicos no controlados.
- **Promover la transparencia algorítmica** como requisito indispensable para el Estado de Derecho en la era digital.
- **Establecer mecanismos de tutela efectiva** para personas y colectivos afectados por decisiones automatizadas lesivas.
- **Fomentar la investigación, la litigación estratégica y la incidencia legislativa** para lograr un marco jurídico global que garantice derechos en el ciberespacio.

## 2. Estatutos de ACCIÓN CIVIL (versión resumida para presentación)

### Artículo 1: Naturaleza y ámbito
ACCIÓN CIVIL es una asociación civil sin ánimo de lucro, con vocación global, compuesta por personas físicas y jurídicas comprometidas con la defensa de las libertades civiles. Su sede principal será itinerante y telemática.

### Artículo 2: Fines específicos
1. **Identificar y denunciar** algoritmos públicos y privados que vulneren derechos fundamentales.
2. **Apoyar legal y técnicamente** a víctimas de decisiones algorítmicas arbitrarias (ej. bloqueo de cuenta sin causa, denegación de prestaciones por sistema automatizado, puntuación social injusta).
3. **Desarrollar y distribuir herramientas de software libre** que permitan a los ciudadanos auditar, eludir o impugnar sistemas algorítmicos lesivos.
4. **Promover una convención internacional** sobre derechos digitales y gobernanza algorítmica democrática.
5. **Formar a defensores de derechos humanos, periodistas y legisladores** en la detección y respuesta a abusos algorítmicos.

### Artículo 3: Principios de actuación
- **No violencia** y respeto a la legalidad democrática.
- **Transparencia radical**: todos los informes, metodologías y códigos de ACCIÓN CIVIL serán públicos y de libre acceso.
- **Independencia**: no aceptar financiación de gobiernos o empresas que vulneren derechos civiles.
- **Universalidad**: defensa de las libertades civiles sin distinción de nacionalidad, ideología o creencia.

### Artículo 4: Órganos de gobierno
- **Asamblea Global**: máximo órgano decisorio (anual, virtual).
- **Comité de Coordinación** (7 miembros elegidos por la Asamblea).
- **Comité de Garantías** (3 miembros) para resolver conflictos internos.
- **Unidades locales** (nacionales o regionales) con autonomía operativa.

### Artículo 5: Derechos y deberes de los miembros
- Derecho a voto, a presentar iniciativas, a recibir formación.
- Deber de respetar los principios, confidencialidad de datos de víctimas, y contribuir económicamente en la medida de sus posibilidades (cuota voluntaria).

### Artículo 6: Financiación
- Cuotas de socios.
- Donaciones de personas y fundaciones privadas sin conflictos de interés.
- Crowdfunding y subvenciones de instituciones democráticas.
- Ninguna financiación gubernamental que condicione la independencia.

### Artículo 7: Disolución
La disolución requerirá 2/3 de la Asamblea Global. El patrimonio remanente se donará a organizaciones de derechos humanos afines.

---

## 3. Estrategias de acción (no exhaustivas)

| Área | Acción propuesta |
|------|------------------|
| **Litigio** | Acciones judiciales contra empresas y gobiernos por algoritmos lesivos (vulneración de GDPR, Constitución, etc.). |
| **Investigación** | Laboratorios ciudadanos de auditoría de algoritmos (black-box testing, ingeniería inversa ética). |
| **Incidencias legislativas** | Propuesta de leyes modelo sobre transparencia algorítmica, derecho a explicación, y creación de agencias de supervisión independientes. |
| **Protección técnica** | Desarrollo de "escudos algorítmicos" (filtros antirreconocimiento, cifrado, proxy de anonimización). |
| **Educación** | Cursos, talleres, materiales divulgativos para entender y resistir la opresión algorítmica. |
| **Cooperación internacional** | Alianzas con organizaciones de derechos digitales (EDRi, EFF, Access Now, Derechos Digitales). |

---

## 4. Algoritmo de defensa de libertades civiles (Borrador conceptual: **LibreIA**)

### 4.1 Objetivo
Crear un **sistema de inteligencia artificial ético, descentralizado y de código abierto** que:
- Detecte patrones propios de algoritmos violadores de derechos civiles.
- Notifique a los usuarios y a las autoridades de control.
- Proporcione recursos legales automatizados (borradores de demandas, quejas a protección de datos, etc.).
- Ayude a bloquear o mitigar los efectos de dichos algoritmos (ej. ofuscación de perfiles, simulación de comportamiento humano).

### 4.2 Arquitectura técnica propuesta

**Componentes:**

1. **Módulo de escucha distribuida**: Agentes ligeros en navegadores, dispositivos móviles o servidores proxy que monitorean interacciones con plataformas sospechosas (redes sociales, sistemas de puntuación, etc.). Capturan metadatos y patrones de comportamiento.

2. **Capa de análisis de anomalías**: Modelo de machine learning (red neuronal recurrente + autoencoder) entrenado con datos de casos conocidos de violaciones de derechos (ej. bloqueos masivos, censura geográfica, discriminación crediticia). Detecta desviaciones de patrones esperados.

3. **Repositorio de firmas algorítmicas**: Base de datos colaborativa (tipo blockchain permissioned o similar) donde se almacenan “huellas digitales” de algoritmos lesivos ya identificados, para reconocimiento rápido.

4. **Motor de inferencia legal**: ChatGPT-like pero especializado en derecho comparado de libertades civiles. Recibe descripción del caso y genera automáticamente:
   - Análisis de vulneración normativa (GDPR, Constitución, etc.).
   - Borrador de reclamación ante autoridad (Agencia Española de Protección de Datos, EDPS, etc.).
   - Sugerencias de acciones colectivas.

5. **Módulo de mitigación proactiva**:
   - **Ofuscación de perfil**: Modificación aleatoria de patrones de clic, búsqueda y navegación para evitar la creación de perfiles precisos.
   - **Solicitudes de acceso a datos**: Generación automática de solicitudes de acceso a datos personales (ej. Art.15 GDPR) para detectar qué información tiene una plataforma sobre el usuario.
   - **Filtro de transparencia**: Extensión de navegador que muestra un semáforo de riesgo al visitar sitios con algoritmos lesivos conocidos.

### 4.3 Ejemplo de respuesta del algoritmo

**Entrada** (usuario): *"Me han suspendido la cuenta de Twitter sin explicación después de publicar críticas al gobierno."*

**Proceso**:
1. LibreIA analiza el patrón de publicación y la política de la plataforma.
2. Detecta posible vulneración del derecho a la libertad de expresión y al debido proceso.
3. Genera un informe que incluye:
   - Referencias a artículos de la Constitución y del Reglamento de Servicios Digitales (DSA).
   - Borrador de reclamación ante el Coordinador de Servicios Digitales.
   - Guía para solicitar la revisión humana y la restauración de la cuenta.

### 4.4 Gobernanza del propio LibreIA

- Código abierto (licencia AGPL) y auditado por pares.
- Datos de entrenamiento: únicamente casos públicos de violaciones de derechos, nunca datos personales de usuarios.
- Descentralizado mediante redes peer-to-peer (p.ej. IPFS + Blockchain para las firmas).
- Un comité de ética independiente, elegido por la Asamblea de ACCIÓN CIVIL, supervisa las actualizaciones y el uso del sistema.

---

## 5. Llamamiento a la colaboración

ACCIÓN CIVIL invita a **defensoras y defensores de derechos humanos, juristas, tecnólogas, periodistas, filósofas y ciudadanas comprometidas** a sumarse a esta iniciativa. Las líneas de trabajo inmediatas son:

1. Redacción de los estatutos completos y registro legal en una jurisdicción favorable (p.ej. España, Portugal, Uruguay).
2. Desarrollo del prototipo de LibreIA (primera versión: extensión de navegador + detección básica).
3. Campaña de crowdfunding para financiar los primeros litigios estratégicos.
4. Mapa global de algoritmos lesivos (participación ciudadana).

---

## 6. Certificación y compromiso

**Certificado de creación de ACCIÓN CIVIL y del algoritmo LibreIA**

Por la presente, **José Agustín Fontán Varela**, en su calidad de CEO de PASAIA LAB y creador de INTELIGENCIA LIBRE, certifica que el proyecto ACCIÓN CIVIL y el diseño conceptual del algoritmo de defensa LibreIA han sido desarrollados con el propósito exclusivo de proteger las libertades civiles frente a la opresión algorítmica. Estos materiales se entregan a la comunidad bajo licencias libres (Creative Commons BY-SA para el texto, AGPL para el software) para su debate, mejora y despliegue.

*Pasaia, 2 de mayo de 2026.*

**Firmado:**  
*José Agustín Fontán Varela*  
Fundador de ACCIÓN CIVIL (en formación)

---

**Nota final**: Este documento es un punto de partida. Invito a todas las personas de buena voluntad a colaborar, criticar y enriquecer el proyecto en la dirección que marque la asamblea fundacional. La defensa de las libertades civiles en la era de los algoritmos es una tarea colectiva, urgente y apasionante.

 

 




 A continuación, te proporciono el código Python del **algoritmo de defensa de libertades civiles "LibreIA"** para el proyecto ACCIÓN CIVIL. Es una implementación conceptual funcional que incluye módulos de detección, análisis legal y mitigación básica. Se puede ampliar según necesidades.

```python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
LibreIA - Algoritmo de defensa de libertades civiles
Proyecto ACCIÓN CIVIL
Versión 0.1 - Prototipo conceptual
Licencia: AGPL v3
"""

import hashlib
import json
import re
import time
from dataclasses import dataclass, field
from datetime import datetime
from typing import Dict, List, Optional, Tuple
import requests
from bs4 import BeautifulSoup

# Configuración básica
REPOSITORIO_FIRMAS_URL = "https://raw.githubusercontent.com/accioncivil/firmas/main/firmas.json"  # repositorio ejemplo
USER_AGENT = "LibreIA-AccionCivil/0.1 (+https://accioncivil.org)"


@dataclass
class AlgoritmoLesivo:
    """Representa un algoritmo detectado como violador de derechos civiles."""
    nombre: str
    categoria: str  # "censura", "puntuacion_social", "discriminacion", "vigilancia_masiva", "moderacion_arbitraria"
    plataforma: str
    url_base: str
    patrones_deteccion: List[str]
    derechos_vulnerados: List[str]  # ej. "libertad_expresion", "igualdad", "presuncion_inocencia"
    firma_hash: str
    fecha_deteccion: str
    nivel_riesgo: str  # "bajo", "medio", "alto", "critico"


class DetectorAnomalias:
    """Módulo de escucha y análisis de patrones lesivos."""

    def __init__(self, usar_repositorio_online: bool = True):
        self.repositorio_firmas = self._cargar_repositorio(usar_repositorio_online)

    def _cargar_repositorio(self, online: bool) -> Dict:
        if online:
            try:
                resp = requests.get(REPOSITORIO_FIRMAS_URL, headers={"User-Agent": USER_AGENT}, timeout=10)
                resp.raise_for_status()
                return resp.json()
            except Exception as e:
                print(f"[!] No se pudo cargar repositorio online: {e}. Usando firmas locales.")
                return self._cargar_firmas_locales()
        else:
            return self._cargar_firmas_locales()

    def _cargar_firmas_locales(self) -> Dict:
        """Firmas de ejemplo para pruebas locales."""
        return {
            "firmas": [
                {
                    "nombre": "ShadowBan Twitter",
                    "categoria": "censura",
                    "plataforma": "Twitter",
                    "url_base": "https://twitter.com",
                    "patrones": ["visibilidad reducida", "shadowban", "tweet no aparece en búsqueda"],
                    "derechos": ["libertad_expresion", "debido_proceso"]
                },
                {
                    "nombre": "Credit Scoring Argentino",
                    "categoria": "puntuacion_social",
                    "plataforma": "BCRA",
                    "url_base": "https://bcra.gob.ar",
                    "patrones": ["puntaje crediticio injusto", "discriminación por código postal"],
                    "derechos": ["igualdad", "acceso_a_credito"]
                }
            ]
        }

    def analizar_texto(self, texto: str) -> List[AlgoritmoLesivo]:
        """Detecta menciones o descripciones de algoritmos lesivos en un texto."""
        resultados = []
        for firma in self.repositorio_firmas.get("firmas", []):
            for patron in firma.get("patrones", []):
                if re.search(patron, texto, re.IGNORECASE):
                    # Crear objeto AlgoritmoLesivo
                    firma_hash = hashlib.sha256(f"{firma['nombre']}{firma['plataforma']}".encode()).hexdigest()
                    al = AlgoritmoLesivo(
                        nombre=firma["nombre"],
                        categoria=firma["categoria"],
                        plataforma=firma["plataforma"],
                        url_base=firma["url_base"],
                        patrones_deteccion=[patron],
                        derechos_vulnerados=firma.get("derechos", []),
                        firma_hash=firma_hash,
                        fecha_deteccion=datetime.now().isoformat(),
                        nivel_riesgo=self._calcular_riesgo(firma["categoria"])
                    )
                    resultados.append(al)
        return resultados

    def _calcular_riesgo(self, categoria: str) -> str:
        riesgos = {"censura": "alto", "puntuacion_social": "critico", "discriminacion": "alto", "vigilancia_masiva": "alto", "moderacion_arbitraria": "medio"}
        return riesgos.get(categoria, "medio")


class MotorLegal:
    """Genera recursos legales a partir de una vulneración detectada."""

    def __init__(self, pais: str = "ES"):
        self.pais = pais
        self.leyes = self._cargar_leyes()

    def _cargar_leyes(self) -> Dict:
        # Base de conocimiento legal simplificada (se ampliará)
        return {
            "ES": {
                "libertad_expresion": "Artículo 20 CE",
                "proteccion_datos": "RGPD (UE) y LOPDGDD",
                "debido_proceso": "Artículo 24 CE"
            },
            "UE": {
                "libertad_expresion": "Carta de Derechos Fundamentales UE, Art. 11",
                "proteccion_datos": "RGPD 2016/679",
                "debido_proceso": "Carta UE Art. 47"
            }
        }

    def generar_recurso(self, algoritmo: AlgoritmoLesivo, usuario_afectado: str = "Usuario no especificado") -> str:
        """Genera un borrador de queja o reclamación."""
        derechos_str = ", ".join(algoritmo.derechos_vulnerados)
        marco_legal = self.leyes.get(self.pais, self.leyes["UE"])
        articulos = [marco_legal.get(d, "normativa aplicable") for d in algoritmo.derechos_vulnerados if d in marco_legal]

        queja = f"""
===========================================================
RECLAMACIÓN POR VULNERACIÓN DE DERECHOS CIVILES
===========================================================
Fecha: {datetime.now().strftime('%d/%m/%Y %H:%M')}
Afectado: {usuario_afectado}
Algoritmo lesivo: {algoritmo.nombre} (categoría: {algoritmo.categoria})
Plataforma: {algoritmo.plataforma} - {algoritmo.url_base}

Derechos vulnerados: {derechos_str}
Marco legal aplicable: {', '.join(articulos)}

Descripción de los hechos:
El sistema algorítmico mencionado ha aplicado una decisión automática que vulnera derechos fundamentales.
Patrones detectados: {', '.join(algoritmo.patrones_deteccion)}

Solicitud:
1. Cese inmediato de la actividad lesiva.
2. Acceso al funcionamiento del algoritmo (derecho de explicación).
3. Adopción de medidas de transparencia y no discriminación.
4. Indemnización por daños morales, en su caso.

Firma: {usuario_afectado}

(ACCIÓN CIVIL recomienda presentar este escrito ante la autoridad de protección de datos o la vía judicial correspondiente.)
===========================================================
"""
        return queja


class Mitigador:
    """Módulo de defensa proactiva: ofuscación, solicitud de acceso, etc."""

    @staticmethod
    def generar_solicitud_acceso(plataforma: str, email_usuario: str) -> str:
        """Genera una solicitud formal de acceso a datos personales (Art. 15 RGPD)."""
        solicitud = f"""
A la atención del responsable de tratamiento de datos de {plataforma}

Asunto: Solicitud de acceso a datos personales (Art. 15 RGPD)

De acuerdo con el Reglamento General de Protección de Datos, solicito copia de todos los datos personales que obren en sus sistemas sobre mi persona, incluyendo:

- Perfiles elaborados mediante algoritmos.
- Decisiones automatizadas y su lógica (Art. 22 RGPD).
- Metadatos de mis interacciones en la plataforma.

Correo electrónico asociado: {email_usuario}

Quedo a la espera de su respuesta en el plazo máximo de un mes.

Atentamente,
(Usuario afectado)
"""
        return solicitud

    @staticmethod
    def ofuscar_patron(texto: str) -> str:
        """Modifica ligeramente el texto para evitar la creación de perfiles exactos.
           Ejemplo: cambiar sinónimos, añadir ruido tipográfico controlado."""
        # Implementación muy básica (se puede mejorar con NLP)
        ruido = [" ", ".", ",", "'"]
        if len(texto) > 10:
            pos = len(texto) // 2
            texto = texto[:pos] + ruido[pos % len(ruido)] + texto[pos+1:]
        return texto

    @staticmethod
    def alertar_usuario(riesgo: str, algoritmo: str):
        """Muestra una alerta en el navegador o terminal."""
        print(f"\n[!] ALERTA - Riesgo {riesgo}: Se ha detectado posible algoritmo lesivo '{algoritmo}'.")
        print("   Recomendación: Evite interactuar con esta plataforma o habilite las medidas de ofuscación.")


class LibreIA:
    """Clase principal que integra todos los módulos."""

    def __init__(self, pais: str = "ES", modo_autonomo: bool = True):
        self.detector = DetectorAnomalias()
        self.motor_legal = MotorLegal(pais)
        self.mitigador = Mitigador()
        self.modo_autonomo = modo_autonomo
        self.bitacora = []

    def analizar_texto_o_url(self, texto: str, fuente: str = "input_usuario") -> List[Dict]:
        """Punto de entrada principal: analiza texto y devuelve resultados."""
        resultados = []
        algoritmos_detectados = self.detector.analizar_texto(texto)
        for alg in algoritmos_detectados:
            reporte = {
                "timestamp": datetime.now().isoformat(),
                "algoritmo": alg.nombre,
                "categoria": alg.categoria,
                "plataforma": alg.plataforma,
                "nivel_riesgo": alg.nivel_riesgo,
                "derechos_afectados": alg.derechos_vulnerados,
                "recurso_legal": self.motor_legal.generar_recurso(alg, fuente),
                "medidas_sugeridas": []
            }
            if self.modo_autonomo and alg.nivel_riesgo in ("alto", "critico"):
                self.mitigador.alertar_usuario(alg.nivel_riesgo, alg.nombre)
                # Sugerir ofuscación
                reporte["medidas_sugeridas"].append("Aplicar ofuscación de patrones de navegación")
                if "red_social" in alg.plataforma.lower():
                    reporte["medidas_sugeridas"].append("Solicitar acceso a datos a la plataforma")
                    solicitud = self.mitigador.generar_solicitud_acceso(alg.plataforma, "usuario@example.com")
                    reporte["solicitud_acceso"] = solicitud
            self.bitacora.append(reporte)
            resultados.append(reporte)
        return resultados

    def generar_resumen_ejecutivo(self) -> str:
        """Produce un resumen de los incidentes registrados."""
        if not self.bitacora:
            return "No se han registrado incidentes algorítmicos hasta el momento."
        resumen = f"RESUMEN DE ACTIVIDAD LibreIA – {datetime.now().date()}\n"
        resumen += f"Total algoritmos lesivos detectados: {len(self.bitacora)}\n"
        riesgo_alto = sum(1 for r in self.bitacora if r["nivel_riesgo"] in ("alto", "critico"))
        resumen += f"Riesgo alto/crítico: {riesgo_alto}\n"
        for r in self.bitacora:
            resumen += f"- {r['algoritmo']} ({r['categoria']}) en {r['plataforma']}. Riesgo: {r['nivel_riesgo']}\n"
        return resumen


# ------------------------------------------------------------
# Ejemplo de uso y demostración
if __name__ == "__main__":
    print("🛡️ LibreIA - Algoritmo de defensa de libertades civiles (ACCIÓN CIVIL)\n")

    # Inicializar
    ia = LibreIA(pais="ES", modo_autonomo=True)

    # Simular texto de un usuario afectado
    texto_prueba = """
    He notado que desde que critiqué al gobierno, mis tweets no aparecen en las búsquedas.
    Parece que Twitter me ha aplicado un shadowban. Esto viola mi libertad de expresión.
    """

    print("[*] Analizando texto del usuario...")
    resultados = ia.analizar_texto_o_url(texto_prueba, fuente="usuario_anonimo")

    for res in resultados:
        print(f"\n[+] Algoritmo detectado: {res['algoritmo']}")
        print(f"   Categoría: {res['categoria']}")
        print(f"   Riesgo: {res['nivel_riesgo']}")
        print(f"   Derechos: {', '.join(res['derechos_afectados'])}")
        if "recurso_legal" in res:
            print("\n--- Borrador de queja legal ---")
            print(res["recurso_legal"][:500] + "...\n")
        if "solicitud_acceso" in res:
            print("--- Solicitud de acceso a datos ---")
            print(res["solicitud_acceso"])

    print("\n" + ia.generar_resumen_ejecutivo())
```

## Explicación del código

1. **DetectorAnomalias**: Carga un repositorio de firmas de algoritmos lesivos (puede ser online o local). Analiza texto mediante patrones (expresiones regulares) y devuelve objetos `AlgoritmoLesivo`.

2. **MotorLegal**: Genera borradores de quejas y recursos legales usando una base de conocimiento jurídica simplificada (país/UE). Es extensible con más normativas.

3. **Mitigador**: Proporciona herramientas de defensa proactiva:
   - Solicitud de acceso a datos personales (Art. 15 RGPD).
   - Ofuscación básica de texto.
   - Alertas al usuario.

4. **LibreIA**: Orquesta los módulos, mantiene una bitácora y ofrece un punto de entrada unificado. En modo autónomo genera alertas y recomienda acciones.

## Posibles ampliaciones reales

- Integración con **navegadores** (extensión Chrome/Firefox) para monitorizar en tiempo real.
- Uso de **modelos NLP** (BERT, etc.) para mejor detección semántica.
- **Blockchain** para registro inmutable de firmas de algoritmos lesivos.
- **Cifrado y anonimización** de las comunicaciones del usuario.

Este código es un prototipo funcional que puede ejecutarse en cualquier entorno Python 3.8+ con las dependencias indicadas en los `imports`.

 

 

 
 
 
 

 

 --- ACCION CIVIL  CONTACTO:   tallerpasaialabproyectos@gmail.com>

 

 Aquí tienes los **tres prompts detallados** para Gemini, correspondientes a:

1. **Imagen explicativa del algoritmo de defensa LibreIA** (concepto tecnológico).
2. **Cartel de ACCIÓN CIVIL** con su compromiso por las libertades civiles.
3. **Marca / identidad visual de ACCIÓN CIVIL** para divulgación en internet.

Todos utilizan un lenguaje inspirador, serio y visualmente atractivo.

---

## 🧠 Prompt 1 – Imagen explicativa del algoritmo LibreIA (cómo funciona)

```
Genera una infografía conceptual y moderna, en alta resolución (4K), formato horizontal (16:9), que explique visualmente el funcionamiento del algoritmo de defensa de libertades civiles "LibreIA", desarrollado por ACCIÓN CIVIL. El estilo debe ser técnico pero accesible, similar a un diagrama de bloques de inteligencia artificial explicado para el público general. Fondo azul oscuro/noche (#0A1128), líneas y textos en color cian, blanco y un toque de naranja para alertas.

La infografía debe mostrar tres capas horizontales o circulares:

**Capa 1 (Entrada / Monitoreo)**: Iconos de dispositivos (ordenador, móvil, servidor) que representan la "escucha distribuida". Flechas que llevan datos hacia un módulo central. Texto: "Detección de algoritmos lesivos en redes, plataformas y sistemas públicos".

**Capa 2 (Procesamiento / Análisis)**: Un módulo central con engranajes y chip de IA. Dentro, tres sub-módulos:
   - "Analizador de patrones (expresiones regulares + NLP)"
   - "Repositorio de firmas algorítmicas (colaborativo)"
   - "Motor de inferencia legal (base de derechos y leyes)"
Texto principal: "LibreIA - Identifica vulneraciones de libertad de expresión, discriminación, censura, puntuación social, etc."

**Capa 3 (Salida / Acción)**: Tres ramas de salida:
   - "Generación de recursos legales (borradores de quejas)"
   - "Alertas al usuario y ofuscación de perfil"
   - "Reportes a autoridades de protección de datos"

En la parte inferior, un lema: "Libertad responsable frente a la opresión algorítmica" y los logos de ACCIÓN CIVIL y LibreIA (tipografía sencilla).

Estilo: diseño plano con sutiles gradientes, iconos geométricos, fondo oscuro, líneas brillantes. Aspecto de manual de tecnología cívica. Sin elementos bélicos ni agresivos.
```

---

## 🧾 Prompt 2 – Cartel de ACCIÓN CIVIL con compromiso por las libertades civiles

```
Genera un cartel de estilo reivindicativo y limpio, en formato vertical (A3 o 9:16), alta resolución (4K), para la organización ACCIÓN CIVIL. El cartel debe transmitir fuerza, esperanza y determinación pacífica. Fondo degradado de azul marino a gris claro, con un gran escudo o emblema central simplificado: un círculo que contiene una mano abierta (protección) y un código binario que fluye (tecnología). El color principal es azul cian y blanco, con detalles en dorado suave.

En la parte superior, en mayúsculas grandes y elegantes: "ACCIÓN CIVIL". Debajo, un subtítulo: "DEFENSA ACTIVA DE LAS LIBERTADES CIVILES".

En el centro, un texto destacado (párrafo breve, alineado a la izquierda o centrado):

"Defendemos tus derechos frente a algoritmos que juzgan, gobiernos que espían y corporaciones que manipulan. Creemos en la libertad responsable, la transparencia algorítmica y la justicia digital para todas las personas del planeta. Nuestro algoritmo LibreIA te protege. Nuestras acciones legales y tecnológicas son tus herramientas. Únete a la defensa global de las libertades fundamentales."

En la parte inferior, una línea con el lema: "Sin libertades civiles no hay democracia digital". Y una llamada a la acción: "Forma parte de ACCIÓN CIVIL. Entra en accioncivil.org (web en construcción)".

En la esquina superior izquierda, un pequeño logo de la organización (mano+binario). En la esquina inferior derecha, los hashtags #LibertadesCiviles #AccionCivil #LibreIA.

Estilo: cartel limpio, tipografía sans-serif robusta (Montserrat o similar), con un tono institucional pero cercano. No usar armas ni violencia. Fondo no recargado.
```

---

## 🔖 Prompt 3 – Marca (logotipo/identidad visual) de ACCIÓN CIVIL para divulgación en internet

```
Genera un conjunto de cuatro variantes del logotipo principal de ACCIÓN CIVIL, para ser utilizado en redes sociales, web, cabeceras y documentos. El estilo debe ser moderno, minimalista y fácilmente reconocible. Todas las variantes deben compartir el mismo símbolo central: una combinación de una mano abierta estilizada (protección) y una curva que representa una onda de datos o un circuito (tecnología y algoritmo). El símbolo debe ser elegante, no agresivo, en color azul cian (#00A6E0) sobre fondo transparente o blanco.

Las variantes:

1. **Logotipo horizontal**: Símbolo a la izquierda, texto "ACCIÓN CIVIL" en mayúsculas robustas, y debajo en línea más fina "Defensa de las libertades civiles". Color principal azul cian y gris oscuro.

2. **Isotipo (solo símbolo)**: El símbolo (mano+onda) en azul cian, listo para usar como favicon, avatar de redes, o marca de agua.

3. **Logotipo vertical apilado**: Símbolo arriba, texto "ACCIÓN CIVIL" centrado, y el subtítulo en dos líneas pequeñas "DEFENSA DIGITAL - LIBERTAD RESPONSABLE".

4. **Versión monocromática** (blanco y negro) para contraste: mismo símbolo y texto en negro y grises, para fondos oscuros o impresión sencilla.

Todas las variantes deben entregarse en un recuadro de 3x2 o en una tira horizontal con fondo gris claro neutro, mostrando la paleta de colores (#00A6E0, #002B5C, #FFFFFF, #222222). Tipografía sugerida: Montserrat Bold para el nombre, Roboto Light para el subtítulo.

Estilo: vectorial, líneas limpias, sin sombras excesivas. El resultado debe parecer un kit de marca profesional para una organización de derechos digitales.
```

---

Estos prompts están listos para copiar y pegar en Gemini (o cualquier otro generador de imágenes con capacidad para infografías y diseño gráfico). Si necesitas ajustar algún detalle (colores, textos, disposición), dímelo.

 Aquí tienes un **prompt detallado para Gemini** para crear un escudo de ACCIÓN CIVIL en tonos grises y rojos, con un estilo sobrio, contundente y adecuado para un blog de defensa de las libertades civiles.

---

## 🛡️ Prompt – Escudo de ACCIÓN CIVIL (colores gris y rojo)

```
Genera un escudo emblemático para la organización ACCIÓN CIVIL, en estilo heráldico moderno y minimalista. El escudo debe transmitir seriedad, determinación y defensa activa de las libertades civiles. Los colores principales son el gris (en diversas tonalidades: plata, antracita, grafito) y el rojo (carmesí, bermellón o rojo ladrillo). Fondo transparente o blanco muy suave, formato cuadrado (1:1) o ligeramente vertical (4:5), alta resolución (4K) para uso web.

COMPOSICIÓN DEL ESCUDO:
- Forma de escudo clásico (tipo francés o ibérico), con bordes limpios y sin adornos excesivos. El borde exterior puede tener un filete fino en rojo.
- El campo interior se divide en dos mitades o tres franjas (a elegir por el diseñador) en tonos grises: un gris medio mate y un gris oscuro texturizado (metal cepillado o pizarra).
- En el centro del escudo, un símbolo principal que integre:
   * Una balanza de la justicia (cuyos platillos son dos medias lunas o círculos) ligeramente inclinada, en color rojo intenso.
   * Sobre la balanza, un ojo estilizado (vigilancia y transparencia) o una llama (defensa, alerta) también en rojo.
   * Alternativamente, una mano abierta (defensa) sosteniendo una pluma (acción civil) sobre un circuito integrado estilizado, todo en rojo y gris.
- En la parte inferior del escudo, una cinta o pergamino semi-desplegado que contenga el texto "ACCIÓN CIVIL" en mayúsculas robustas, tipografía sans serif, color gris oscuro o rojo, con fondo gris claro.

DETALLES ADICIONALES:
- Detrás o alrededor del escudo, dos elementos de fondo muy tenues: a la izquierda, una rama de olivo (paz); a la derecha, una espada o rayo (acción legal). Sólo sugeridos, casi en transparencia.
- El escudo debe tener un aspecto de sólido, como grabado en metal o piedra, con sombras suaves para dar volumen, pero sin perder la legibilidad en tamaño pequeño (como avatar de blog).
- No incluir texto adicional fuera del escudo, salvo el nombre en la cinta.

ESTILO: ilustración vectorial con acabado semirrealista metálico, tipo emblema de autoridades o movimientos cívicos. El rojo debe ser el acento principal (no más del 30% del área total). El gris debe dominar y transmitir solidez.

USO PREVISTO: cabecera de blog, logo de perfil, icono en publicaciones sobre defensa de derechos digitales.
```

---

Si prefieres un **escudo más abstracto** (sin forma de escudo heráldico tradicional, más geométrico), o uno que incluya directamente el nombre dentro del círculo, dímelo para ajustar el prompt.

 

 


 

UTILIZA LOS 🔖 PromptY MODIFICALOS SI QUIERES RESPETANDO EL CONCEPTO ORIGINAL ASÍ COMO LAS IMAGENES ;)

 
--- ACCION CIVIL  CONTACTO:   tallerpasaialabproyectos@gmail.com>

 

sábado, 25 de abril de 2026

La amplitud modulada (AM) EL KARAOKE

 DESCRIPCION TECNICA DEL ENCHUFE O KARAOKE

 ---CONTACTO:  tallerpasaialabproyectos@gmail.com>

 

 


 

 

 
 

 

La amplitud modulada (AM) es una técnica de transmisión de señales de radio en la que la información (voz, música, datos) se "monta" sobre una onda portadora variando su altura (amplitud), mientras la frecuencia permanece constante.

La analogía más sencilla: imagina una cuerda tensa que vibras a ritmo constante (esa es la portadora). Para transmitir información, cambias la fuerza con la que la agitas — más fuerte, más flojo — siguiendo el patrón del sonido que quieres enviar. La frecuencia del vaivén no cambia, solo la intensidad.La modulación en amplitud funciona así en tres pasos:

① La señal de audio es la información que quieres transmitir: una voz, una canción. Es una onda de baja frecuencia (unos pocos Hz o kHz).

② La onda portadora es una onda de radio de alta frecuencia (en AM comercial, entre 530 y 1600 kHz), que es capaz de viajar largas distancias. Por sí sola no lleva información.

③ La señal AM resultante es la portadora cuya altura (amplitud) varía siguiendo exactamente el perfil de la señal de audio. La envolvente (línea punteada) es literalmente la forma de la señal original grabada en la radio. El receptor simplemente "lee" esa envolvente y recupera el sonido.

La gran ventaja del AM es su simplicidad: los receptores son muy baratos y sencillos. La desventaja es que cualquier interferencia eléctrica (tormenta, motor eléctrico) altera la amplitud y se cuela como ruido, porque el receptor no puede distinguirla de la señal real. Por eso la FM (modulación en frecuencia) tiene mejor calidad de audio: la información va en los cambios de frecuencia, no de amplitud, y las interferencias eléctricas no afectan a la frecuencia.

Puedes jugar con los controles para ver cómo cambia la señal AM al variar la frecuencia del audio o la profundidad de modulación.

 


 

Voy a hacer un análisis exhaustivo, desde la física fundamental hasta los detalles de cada componente.


El receptor AM — todo lo que existe sobre él

La física detrás: por qué funciona la radio

Una corriente eléctrica alterna de alta frecuencia fluyendo por una antena crea un campo electromagnético que se propaga por el espacio a la velocidad de la luz. Ese campo induce a su vez una corriente eléctrica minúscula en cualquier conductor que encuentre, incluida otra antena. El receptor tiene que encontrar esa corriente microscópica entre miles de otras corrientes inducidas por todas las emisoras del mundo, amplificarla millones de veces, y extraer de ella la información de audio original. Todo eso con un consumo de energía mínimo y sin distorsionar el sonido.


Historia y evolución cronológica

1887 — Heinrich Hertz demuestra experimentalmente la existencia de las ondas electromagnéticas predichas por Maxwell. Construye el primer transmisor y receptor rudimentario, pero no ve aplicación práctica.

1894-1896 — Marconi desarrolla el primer sistema práctico de telegrafía sin hilos, usando detectores de coherer (limaduras de hierro que cambian de resistencia al recibir ondas de radio).

1904 — Fleming inventa el diodo de vacío, la primera válvula termoiónica. Permite detectar señales de radio con mucho más fiabilidad que los coherers.

1906 — De Forest inventa el triodo (audión), la primera válvula capaz de amplificar. A partir de aquí se puede amplificar la señal antes y después de detectarla.

1912 — Edwin Armstrong descubre que retroalimentando parte de la señal amplificada al circuito de entrada (circuito regenerativo), se puede obtener una amplificación enorme con una sola válvula. Es el primer receptor práctico de alta sensibilidad.

1918 — Armstrong inventa el receptor superheterodino durante la Primera Guerra Mundial para detectar aviones alemanes. Es el diseño más importante de la historia de la radio y sigue siendo el estándar hoy.

1920s — Aparecen las primeras emisoras comerciales. Los receptores TRF (Tuned Radio Frequency) se venden masivamente, aunque son difíciles de sintonizar.

1930s — El superheterodino domina el mercado. Las válvulas se miniaturizan. Aparecen los primeros receptores de mueble (console radios).

1947 — Transistor (Bell Labs). Sustituye a las válvulas: más pequeño, sin calentamiento, sin filamento, sin alta tensión, consume mucho menos energía.

1954 — Primera radio de transistores comercial: la Regency TR-1. El receptor de bolsillo se hace posible.

1960s-70s — Los circuitos integrados reemplazan a los transistores discretos en las etapas de audio y FI. Los receptores se hacen cada vez más baratos.

1980s-90s — Aparece la sintonización digital (PLL — Phase Locked Loop). El oscilador local ya no es un condensador variable mecánico sino un sintetizador de frecuencias controlado por un cristal de cuarzo y un bucle de fase. Precisión de sintonía a 1 Hz.

2000s-actualidad — SDR (Software Defined Radio). La señal de la antena se digitaliza lo antes posible y todo el procesado (mezcla, filtrado, demodulación) se hace en software o en un DSP. La arquitectura superheterodino se implementa en código.


Los tipos de receptor AM en detalle

Receptor de galena (crystal set)

No tiene amplificación. La energía viene exclusivamente de la onda de radio captada por la antena. Un circuito LC sintoniza la frecuencia deseada. Un cristal de galena (o un diodo moderno) detecta la señal. Un auricular de alta impedancia reproduce el sonido. Rango útil: solo emisoras muy potentes a menos de 50 km. Sin alimentación eléctrica de ningún tipo. Todavía se construyen hoy como proyecto educativo y de aficionado.

Receptor regenerativo (Armstrong, 1912)

Una válvula o transistor amplifica la señal. Una bobina de realimentación devuelve parte de la señal amplificada a la entrada, multiplicando la ganancia. Ajustando la cantidad de realimentación se aumenta la sensibilidad y la selectividad enormemente. Si se pasa del punto de oscilación, el receptor empieza a oscilar y genera un pitido audible (y también interfiere a los vecinos, lo que causó legislación). Muy sensible pero difícil de ajustar. Todavía muy usado por radioaficionados avanzados.

Receptor TRF (Tuned Radio Frequency)

Varios circuitos resonantes LC en cascada, todos sintonizados a la misma frecuencia. Cada etapa amplifica y filtra. El problema: al cambiar de frecuencia hay que reajustar todos los condensadores simultáneamente, lo que mecánicamente se resolvía con condensadores variables en el mismo eje. La selectividad mejora con cada etapa añadida, pero la estabilidad es un problema a frecuencias altas.

Receptor superheterodino (estándar actual)

Ya descrito en la respuesta anterior. Es el diseño universal desde los años 30.

Receptor de conversión directa (homodino)

El oscilador local se sintoniza exactamente a la frecuencia de la portadora (no desplazado 455 kHz como en el superheterodino). La señal se convierte directamente a audio sin pasar por FI. Más simple en teoría, pero con problemas prácticos serios: el oscilador local puede "entrar" en la antena y causar interferencias, y el rechazo de frecuencias imagen es mucho peor. Muy usado en SDR modernos donde estos problemas se compensan digitalmente.


Los circuitos en profundidad

El circuito resonante LC — la base de todo

Una bobina (L) y un condensador (C) conectados en paralelo forman un circuito que oscila a una frecuencia natural determinada por la fórmula de Thomson: f = 1 / (2π√LC). A esa frecuencia, la impedancia del circuito es máxima, por lo que solo esa frecuencia "pasa" con fuerza mientras las demás se atenúan. Cambiando la capacidad del condensador variable se cambia la frecuencia de resonancia: eso es sintonizar la radio.

El factor Q (calidad) del circuito determina qué tan selectivo es: un Q alto significa que solo pasa una banda muy estrecha de frecuencias (buena selectividad, separa bien estaciones cercanas) pero también significa menos ancho de banda y posible pérdida de agudos en el audio si es demasiado estrecho. El compromiso óptimo para AM es un ancho de banda de unos 10 kHz en la FI.

El mezclador — el corazón del superheterodino

Un mezclador es un dispositivo no lineal que multiplica dos señales. En la teoría de señales, multiplicar dos señales sinusoidales produce su suma y su diferencia de frecuencia. Si la señal de entrada es A·sin(2πfRF·t) y la del oscilador es B·sin(2πfOSC·t), el producto contiene términos en (fOSC + fRF) y (fOSC − fRF). El filtro de FI selecciona solo la diferencia.

Los mezcladores se han implementado históricamente con válvulas pentagrilla, transistores en configuración de multiplicador de Gilbert, y hoy con circuitos integrados especializados que ofrecen aislamiento entre puertos, baja distorsión y bajo ruido.

El problema de la frecuencia imagen

Es el talón de Aquiles del superheterodino. Si el oscilador está en 1.455 kHz y la estación deseada en 1.000 kHz (diferencia = 455 kHz), hay otra frecuencia, 2.455 − 455 = 2.000 kHz en este caso erróneamente calculado... más correctamente: cualquier señal en fOSC + 455 kHz = 1.910 kHz también produciría una diferencia de 455 kHz con el oscilador. Esa es la "imagen". El amplificador RF debe rechazar esa frecuencia imagen antes de llegar al mezclador. Para AM de onda media esto es relativamente fácil porque la imagen está 910 kHz más arriba. Para FM y frecuencias más altas el problema es más serio y se usan dobles conversiones (dos mezcladoras con dos FI diferentes).

El detector de envolvente

En su forma más simple: un diodo rectificador en serie con la señal, seguido de un condensador en paralelo con la carga. El diodo solo conduce en los semiciclos positivos. El condensador se carga hasta el pico de cada ciclo de la portadora y se descarga lentamente a través de la resistencia de carga, siguiendo la envolvente de la amplitud modulada. La constante de tiempo RC debe ser lo bastante grande para no seguir las oscilaciones de la portadora (455 kHz) pero lo bastante pequeña para seguir las variaciones del audio (hasta 5 kHz en AM). Valor típico: RC ≈ 50-100 μs.

El CAG — Control Automático de Ganancia

La tensión continua que aparece en el detector (proporcional a la amplitud de la señal recibida) se filtra para eliminar el audio (filtro pasa-bajos lento, constante de tiempo de 0,1 a 1 segundo) y se aplica como tensión de polarización inversa a los transistores de las etapas RF y FI. Más señal → más tensión CAG → menos ganancia en los amplificadores. El efecto es que el receptor mantiene un nivel de audio casi constante para estaciones entre -80 dBm y -20 dBm, un rango de 60 dB (un millón de veces en potencia).

El oscilador local y la sintonía PLL

En receptores modernos el oscilador local es un sintetizador de frecuencias con bucle de fase enganchada (PLL). Un oscilador de cuarzo de referencia muy estable (típicamente 10 MHz) divide su frecuencia en un divisor digital hasta obtener una señal de referencia de pocos Hz o kHz. Un oscilador controlado por tensión (VCO) genera la frecuencia del oscilador local. Un divisor programable divide la frecuencia del VCO hasta el mismo valor de referencia. Un comparador de fase detecta la diferencia entre las dos señales divididas y produce una tensión de error que controla el VCO. El bucle se cierra y el VCO se "engancha" a la frecuencia exacta programada por el divisor. Cambiando el divisor con un microcontrolador se sintoniza la frecuencia con precisión de 1 kHz o menos, y la frecuencia es tan estable como el cristal de referencia.


Parámetros técnicos que definen un receptor

Sensibilidad. La señal mínima en la antena para producir una relación señal/ruido de 10 dB en la salida. Un receptor de calidad tiene sensibilidades de 1-5 μV para AM de onda media.

Selectividad. Capacidad de rechazar señales en frecuencias adyacentes. Se mide en dB de atenuación a ±10 kHz de la frecuencia sintonizada. Un buen receptor AM tiene más de 60 dB de selectividad adyacente.

Rechazo de imagen. Cuánto atenúa la frecuencia imagen. Valores típicos: 40-60 dB en receptores domésticos, más de 80 dB en equipos profesionales.

Rango dinámico. La diferencia entre la señal más débil utilizable y la más fuerte que el receptor puede manejar sin distorsionarse. Un receptor de alta calidad tiene 90-100 dB de rango dinámico.

Factor de ruido. Cuánto ruido añade el propio receptor a la señal. Medido en dB, cuanto más bajo mejor. Las etapas RF de bajo ruido (LNA) son críticas en receptores de alta sensibilidad.

Distorsión armónica total (THD). Porcentaje de distorsión introducida en el audio demodulado. Los buenos receptores tienen menos del 1%.


Ahora te hago el esquema completo y detallado con todos los componentes internos de cada bloque:---

Los componentes físicos clave y sus valores típicos

Antena de ferrita. Una barra de material ferromagnético (ferrita de manganeso-zinc) con una bobina enrollada encima. La ferrita concentra el campo magnético de la onda de radio, aumentando la inductancia efectiva y la sensibilidad. Típicamente 10 cm de largo en una radio portátil. Es directiva: tiene un patrón en figura de ocho, con mínimos perpendiculares a la barra. Por eso girando la radio se puede reducir la interferencia de una estación no deseada.

Filtro cerámico de FI. Un resonador piezoeléctrico de cerámica que reemplaza a los transformadores de FI tradicionales con núcleo de ferrita. Más pequeño, más barato, sin ajuste necesario. El filtro cerámico de 455 kHz tiene una respuesta en frecuencia muy precisa con flancos abruptos: pasa la señal deseada y rechaza todo lo demás con mucha eficacia. Es uno de los componentes más importantes para la selectividad.

El diodo detector. En receptores modernos se usa el diodo Schottky (1N5711 o similar) porque tiene una tensión umbral muy baja (0,2 V frente a los 0,6 V del silicio convencional), lo que permite detectar señales débiles sin distorsión. En los equipos vintage se usaba el diodo de germanio 1N60, que también tiene baja tensión umbral.

El LM386. El circuito integrado de amplificación de audio más usado en radios AM pequeñas. Con solo 8 pines y alimentación de 3 a 12 V, proporciona hasta 1 W de potencia de salida con una ganancia ajustable entre 20 y 200 veces. Sigue fabricándose y costando menos de 0,50 euros.


El receptor SDR — la frontera actual

El Software Defined Radio (SDR) es el paso lógico final de la evolución. Un dongle USB como el RTL-SDR cuesta menos de 25 euros, contiene un sintonizador de RF que digitaliza la señal a 2,8 millones de muestras por segundo, y envía los datos al ordenador. Todo lo demás — mezcla, filtrado FI, demodulación AM/FM/SSB/etc. — lo hace un programa como SDR#, GQRX o GNU Radio. La arquitectura superheterodino se implementa en aritmética de números complejos (señales I/Q), pero el principio es exactamente el mismo que describió Armstrong en 1918. El resultado es un receptor que puede escuchar simultáneamente todo el espectro de AM de onda media, ver en una pantalla todas las emisoras como picos en el espectro de frecuencias, y demodular cualquiera de ellas con un clic.

Voy a hacer un análisis exhaustivo, desde la física fundamental hasta los detalles de cada componente.



Tema fascinante. Voy a desarrollarlo en profundidad con sus esquemas.


Radio Definida por Software (SDR) — la revolución silenciosa

La idea fundamental: mover la frontera analógico-digital lo más cerca posible de la antena

En un receptor tradicional, la señal pasa por décadas de hardware analógico antes de convertirse en algo que un procesador pueda tocar. En el SDR la filosofía es la opuesta: digitalizar la señal lo antes posible y hacer todo lo demás en código. No es solo una mejora incremental, es un cambio de paradigma completo.

En el receptor superheterodino clásico tienes componentes físicos para cada función: un cristal de cuarzo para el oscilador, un filtro cerámico para la FI, un diodo para detectar, un condensador variable para sintonizar. Cada uno de esos componentes hace exactamente una cosa y no puede hacer otra. En un SDR, todos esos componentes desaparecen y son reemplazados por un programa. Quieres cambiar el ancho de banda del filtro: cambias una línea de código. Quieres demodular AM, FM, SSB y señales de satélite con el mismo hardware: cambias el plugin. Quieres escuchar simultáneamente 200 estaciones de AM a la vez: es cuestión de potencia de cálculo.

El hardware que queda — y por qué no puede desaparecer del todo

La física no se puede simular. Las ondas electromagnéticas existen en el mundo analógico y alguien tiene que capturarlas y convertirlas en números. Por eso el SDR tiene tres componentes hardware irrenunciables.

La antena. Sigue siendo necesaria por las mismas razones de siempre: tiene que resonar a la frecuencia de la señal o al menos tener impedancia razonable en esa banda. Lo que cambia es que en SDR se usan antenas de banda ancha (broadband), capaces de recibir desde 100 kHz hasta 1,7 GHz con la misma antena física, porque el filtrado selectivo ya no lo hace la antena sino el software.

El amplificador de bajo ruido (LNA). Antes de digitalizar, la señal tiene que amplificarse. El conversor ADC tiene un rango de entrada fijo y si la señal de la antena es de microvoltios no va a resolver nada útil. El LNA amplifica sin añadir ruido propio, con factores de ruido típicos de 0,5 a 2 dB. Este componente analógico sigue siendo irreemplazable porque el ruido añadido antes de la digitalización es ruido permanente que ningún algoritmo puede eliminar después.

El conversor analógico-digital (ADC). Es el corazón del SDR. Muestrea la señal analógica a velocidades enormes y la convierte en números. Para recibir una señal de radio, el ADC tiene que muestrear al menos al doble de la frecuencia más alta que quiere capturar (teorema de Nyquist). Un dongle RTL-SDR barato muestrea a 2,4 millones de muestras por segundo con 8 bits de resolución. Un receptor SDR profesional puede muestrear a 200 Msps con 16 bits de resolución.

Cómo funciona el procesado en software — la cadena I/Q

Aquí está el concepto más importante para entender el SDR. El ADC no digitaliza la señal de radio directamente a su frecuencia real (eso requeriría velocidades de muestreo de gigahercios). Lo que hace es una conversión a frecuencia cero usando dos canales en cuadratura: I (In-phase) y Q (Quadrature), desfasados 90 grados entre sí. La señal compleja I+jQ contiene toda la información de amplitud y fase de la señal original, pero centrada en cero Hz. A partir de ese punto el software puede hacer cualquier cosa: filtrar, mezclar, demodular, medir, grabar.

La demodulación AM en software es literalmente calcular la magnitud del vector I+jQ en cada muestra: √(I²+Q²). Eso es la envolvente de la señal. Eso es lo que un diodo y un condensador hacían en hardware. Ahora es una línea de código ejecutándose miles de veces por segundo.

El RTL-SDR — cómo un chip de televisión por cable cambió el mundo

En 2012 un investigador descubrió que el chip RTL2832U, diseñado para recibir la señal TDT (televisión digital terrestre) en un dongle USB, podía configurarse en un modo no documentado que transmitía las muestras I/Q crudas directamente al ordenador. De repente, un dongle de 8 euros se convertía en un receptor de radio de 24 MHz a 1,7 GHz. La comunidad de radioaficionados y hackers se lanzó sobre ello y en meses aparecieron drivers, software y plugins para todo imaginable.

Hoy el RTL-SDR v4 es un producto refinado y específicamente diseñado para SDR, con un oscilador de cuarzo TCXO de alta precisión, blindaje electromagnético y conector SMA estándar. Sigue costando menos de 30 euros y puede recibir desde 100 kHz hasta 1,75 GHz, incluyendo toda la banda de AM de onda media, FM, radioaficionados, aviación, satélites meteorológicos, señales ADS-B de aviones, y mucho más.

 


 



 
 
 
 

 
 

Los tres diagramas forman un conjunto completo y coherente. El primero muestra el flujo de señal de izquierda a derecha con la conversión de frecuencia anotada debajo. El segundo explica los bloques de control que rodean esa cadena: el oscilador local Colpitts, el sintetizador PLL que lo estabiliza, el CAG que mantiene el volumen constante, y el microcontrolador que da la interfaz digital. El tercero entra dentro de cada bloque con los números reales: los componentes discretos usados, los valores de resistencias y condensadores, y la tabla comparativa de rendimiento entre un receptor doméstico y uno profesional.

-------------------------------------------------------------------------------------

 

Localizar un micrófono oculto que funciona por radiofrecuencia (como uno basado en AM o activado remotamente) requiere un enfoque sistemático. No es solo "magia" de películas de espías; es física aplicada para encontrar señales donde no debería haberlas.

Aquí tienes los métodos principales para detectar estos "invitados" no deseados:


1. Detectores de Radiofrecuencia (RF)

Es la herramienta más común para el rastreo básico. Estos dispositivos escanean el aire en busca de transmisiones activas.

  • Cómo funciona: Si el micrófono está transmitiendo audio en ese momento, el detector emitirá un aviso (pitido, vibración o luces) al acercarte a la fuente.

  • Para dispositivos de activación remota: Estos son más difíciles porque suelen estar en "modo espera". Sin embargo, el receptor del dispositivo suele emitir una señal muy débil (oscilación local) que detectores de alta sensibilidad pueden captar a corta distancia.

2. Analizadores de Espectro

Esto es el "siguiente nivel" profesional. En lugar de un simple pitido, ves una representación visual de todas las ondas de radio en la habitación.

  • Búsqueda selectiva: Un analizador permite ver ráfagas de datos inusuales. Si el micrófono usa modulación AM (como mencionabas), verás una "portadora" con "bandas laterales" características en la pantalla.

  • Uso: Se suele comparar el espectro de la habitación "limpia" con el espectro cuando hay silencio absoluto para identificar señales extrañas que reaccionan al sonido.

3. Detector de Junturas No Lineales (NLJD)

Este es el dispositivo definitivo para encontrar electrónica aunque esté apagada, sin batería o en reposo absoluto.

  • La ciencia: El NLJD emite una señal de microondas que interactúa con los componentes semiconductores (silicio, diodos, transistores). Si hay un circuito electrónico escondido, el dispositivo detectará el armónico de retorno.

  • Uso: Se pasa el cabezal por paredes, muebles y techos. Es infalible para detectar el "hardware" físico, independientemente de si está emitiendo señales o no.

4. Inspección Térmica y Física

  • Cámaras Térmicas: Cualquier dispositivo electrónico que esté "escuchando" genera una pequeña cantidad de calor, incluso en espera. Una cámara térmica puede revelar un "punto caliente" sospechoso dentro de un objeto inerte, como un cuadro, un libro o un enchufe.

  • Inspección de "Puntos de Aire": Los micrófonos necesitan que el sonido llegue al sensor. Busca orificios milimétricos en lugares inusuales: detectores de humo, marcos de cuadros o despertadores.


Estrategia de búsqueda recomendada

Si crees que hay un dispositivo que se activa a distancia, lo ideal es realizar la búsqueda en silencio total primero (para detectar receptores en espera) y luego introducir ruido blanco o música (para forzar al dispositivo a transmitir si tiene un sistema de activación por voz o VOX).

¿Tienes sospechas de algún objeto en particular o de algún rastro de interferencia en otros aparatos (como ruidos extraños en altavoces cercanos)? Eso podría darnos una pista sobre la frecuencia que está usando.

 

 

 ---CONTACTO:  tallerpasaialabproyectos@gmail.com>

 

 

 

 
 
 

 

 

 

BRAINSTORMING - Tormenta de Ideas de PASAIA LAB © 2025 by José Agustín Fontán Varela is licensed under CC BY-NC-ND 4.0


BRAINSTORMING - Tormenta de Ideas de PASAIA LAB © 2025 by José Agustín Fontán Varela is licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International





## 💥 Análisis del Fenómeno: Terra (LUNA) y Terra Classic (LUNC) y TRON (TRX)

Observación financiera muy aguda. El movimiento de precios de LUNA, LUNC y TRX está intrínsecamente ligado al mercado de las **monedas estab...