Rimozione del rumore dal segnale F2F


11

(Questa domanda si riferisce all'estrazione di dati binari di carte a banda magnetica da WAV grezzo )

Sto estraendo la sequenza binaria dalla striscia magnetica su una carta di credito.

inserisci qui la descrizione dell'immagine

Come puoi vedere, il segnale è chiaramente degradato in un punto. inoltre c'è un lieve degrado a destra dell'immagine.

Basta usare IIR (ovvero ) per uniformarlo, ma il segnale risultante non è matematicamente uniforme; se differenzio il segnale un paio di volte il rumore ritorna con una vendetta:Xout=0.9Xoutlast+0.1Xin

inserisci qui la descrizione dell'immagine

La mia domanda è: posso rimuovere il rumore in modo tale che i derivati ​​risultino puliti?

Se é cosi, come?

EDIT: Ecco un primo piano di alcune onde danneggiate:

inserisci qui la descrizione dell'immagine

EDIT (2): un paio di approcci che sto prendendo in considerazione:

  • In primo luogo ho potuto effettuare un'approssimazione del segnale del segnale su entrambi i lati del settore danneggiato e mescolare insieme le approssimazioni.
  • In secondo luogo ho potuto FFT, rimuovere componenti ad alta frequenza e invertire FFT. Proverò quel secondo approccio ora ...

Stai usando un differenziatore per cogliere le caratteristiche ad alta frequenza del segnale (cioè transizioni nitide). Gli artefatti che stai cercando di rimuovere sono simili, in quanto sono transizioni nitide che avranno caratteristiche di passa-alto simili. Potrebbero essere difficili da rimuovere con un filtro passa-basso lineare. Un approccio diverso (nessun gioco di parole previsto) potrebbe essere più appropriato.
Jason R,

Mi dispiace, il mio male per la pubblicazione di screenshot fuorvianti. Ho incluso i primi piani delle sezioni danneggiate del campione.
P

Un filtro passa-basso dovrebbe funzionare. Il problema è che le frequenze di interesse stanno cambiando mentre la persona cambia la sua velocità di scorrimento.
endolith

Corretta. Tuttavia, questo tasso di base non cambierà in modo massiccio da un'onda all'altra. Quindi potrei essere in grado di filtrare mentre procedo (ovvero, dato che la lunghezza d'onda è k in un determinato punto, filtrare in avanti nel segnale una stima di 2 lunghezze d'onda, raccogliere il blip successivo, sciacquare e ripetere). In questo caso, quale sarebbe un buon filtro? Devo preservare i derivati ​​...
P

1
Sembra che il tuo segnale sia rappresentato dalla serie di "wavelet" molto distintivi che descrivono le transizioni binarie. Penso che dovresti estrarre un wavelet distintivo e produrre un "correlogramma" correlando il wavelet con i dati grezzi. Le posizioni di massima somiglianza saranno identificate come picchi forti, mentre i difetti della forma d'onda diventeranno solo un rumore minore. Questo metodo è ampiamente usato in sismica. Potresti fornire una serie di "valori temporali" dei tuoi dati non elaborati in un formato simile a un foglio di calcolo, così posso illustrare la mia idea.
mbaitoff,

Risposte:


1

Per rimuovere il "rumore" ad alta frequenza senza rimuovere le transizioni nitide, potrebbe essere necessario provare una sorta di processo di filtraggio non lineare.

Un esempio casuale potrebbe essere l'applicazione (dissolvenza incrociata a) di un filtro mediano solo quando la distanza dai massimi locali (o minimi N più vicini) e oltre una certa soglia di rumore) scende al di sotto di una soglia di distanza (dove questa distanza, N e la larghezza del filtro mediana , sono calibrati sul periodo del sospetto "rumore").

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.