Estoy intentando leer un transpondedor RFID LF (baja frecuencia). La frecuencia de la portadora es de 125 kHz y la señal de la banda base tiene un ancho de banda de 20 kHz. La modulación está en la modulación de carga, un tipo de modulación AM.
Estoy usando el siguiente enfoque para procesar la señal:
- Conversión descendente por muestreo
- filtrado de paso bajo
- Filtrado del bloqueador de CC
- Comparador con histéresis
Debajo, hay una figura con la señal modulada en azul y mi demodulación de esta señal en rojo.
Porsupuesto,hayunretrasoentrelaseñalrecibidayelresultadoprocesadoenrojo.Elresultadoprocesadoessololossímbolosyaúnnoestándecodificadosenbits.Perolademoranoeselproblema,elproblemaesquehayunerrorqueocurrecuandoserecibeunsímbolodecortotiempo.Eltranspondedorenviólasiguienteinformaciónrepetidamente:
Elperíododelciclodelaportadoraes1/125kHz=>8us
- 16ciclos=>128nosotros
- 32ciclos=>256nosotros
- 48ciclos=>384nosotros
- 64ciclos=>512nosotros
Perodespuésdelprocesamiento,losintervalosanterioressemidierondemaneradiferente.Cadapaso(el16,64,32...)semidiócomosigue:
- 16=>176us=>diferenciade48us=>37%
- 32=>288us=>diferenciade32us=>12.5%
- 48=>353us=>diferenciade-31us=>-8%
- 64=>465us=>diferenciade-47us=>-9%
Entonces,elproblemaesel37%deerror,hastael12.5%,bien,puedomanejarlo,pero37%creoqueesungranerror.Entonces,mepreguntabasiestoyhaciendoalgomalosihayunmejorenfoque.Acontinuaciónexplicarécadapasodelproceso.
1.Downversversionporsamplig
Lafrecuenciaportadora(Fc)esde125kHz,porloqueutilicéunafrecuenciademuestreode62,5kHz,estoesFc/2.Usélaconversióndescendentepormuestreobasadaenelhechoderéplicas,eneldominiodelafrecuencia,generadapormuestreo.Entonces,tendréunaseñaldebandabaseenlafrecuenciadeCCquepuedofiltrarconunfiltrodepasobajo.Estoesbueno,porqueelmenormuestreomepermitediseñarunfiltroconungradomenorytambiéntengoahorroseneltiempodeprocesamiento.
2.Filtradodepasobajo
DiseñéunfiltroFIRdepasobajoutilizandosincconventanaconfuncióndeventanacomoKaiser-Bessel,frecuenciade-3dBde25kHzy16taps(coeficientes).Paradeterminarelnúmerodetoques,mebaséenlafórmuladeFredHarris:
$$N=\frac{Atenuación}{22\vecesB_T}$$$$B_T=\frac{F_{parada}-F_{pase}}{F_S}$$
- \$Atenuación=60dB\$(Elegidoarbitrariamente)
- \$F_{parada}=35kHz\$(elegidoarbitrariamente)
- \$F_{pass}=25kHz\$(Elegidaporquelabandabasetieneunanchodebandade20kHz).
- \$F_S=62.5kHz\$(Elegidopararealizarunaconversióndescendente)
Estomeda17toques,perodecidíusar16,porqueyateníaloscoeficientescalculados,creoqueuntoquemenosnosedegradarátanto.
3.FiltradodelbloqueadordeCC
DespuésdelfiltrodepasobajoFIR,hayuncomponentedeCCpresente,porloquedecidíusarunfiltrodebloqueodeCCdepuntofijo.Elalgoritmoutilizadosebasóenlosiguiente:
Todavía no lo sé, pero creo que los errores de tiempo que mencioné anteriormente fueron responsabilidad de este bloque, más que los otros.
4. Comparador con histéresis
Implementé digitalmente un comparador con histéresis. Utiliza dos niveles de comparación. Si el nivel está por encima del nivel predeterminado, se reconoce como ALTO, y si está por debajo de un segundo nivel determinado, se considera BAJO. De esta manera, traduzco la salida del filtro a símbolos y reconstruyo la señal de modulación del transpondedor. El problema que veo aquí es que este valor predeterminado es fijo, y la amplitud de la modulación puede variar.
Entonces, ¿qué te parece? ¿El enfoque fue pertinente? ¿Alguien tiene alguna idea de la diferencia de tiempo que está sucediendo?
Con mis mejores deseos,
Daniel.