Suppression du bruit du signal F2F

11

(Cette question concerne l' extraction des données des cartes à bande magnétique binaire à partir du WAV brut )

J'extrais la séquence binaire de la bande magnétique d'une carte de crédit.

entrez la description de l'image ici

Comme vous pouvez le voir, le signal est clairement dégradé en un seul endroit. il y a aussi une dégradation mineure juste à gauche de l'image.

Le simple fait d'utiliser l'IIF (c.-à-d. ) le lisse, mais le signal résultant n'est pas mathématiquement lisse; si je différencie le signal plusieurs fois, le bruit revient avec une vengeance:Xout=0.9Xoutlast+0.1Xin

entrez la description de l'image ici

Ma question est: puis-je supprimer le bruit de telle sorte que les dérivés sortent propres?

Si c'est le cas, comment?

EDIT: Voici un gros plan de quelques vagues endommagées:

entrez la description de l'image ici

EDIT (2): Quelques approches que j'envisage:

  • Tout d'abord, je pouvais faire une approximation sur mesure du signal de chaque côté du secteur endommagé et mélanger les approximations.
  • Deuxièmement, je pouvais FFT, supprimer les composants haute fréquence et inverser la FFT. Je vais essayer cette deuxième approche maintenant ...
P i
la source
Vous utilisez un différenciateur pour extraire les caractéristiques haute fréquence du signal (c'est-à-dire les transitions nettes). Les artefacts que vous essayez de supprimer sont similaires, car ce sont des transitions nettes qui auront des caractéristiques passe-haut similaires. Ils pourraient être difficiles à éliminer avec un filtre passe-bas linéaire. Une approche différente (sans jeu de mots) pourrait être plus appropriée.
Jason R
Désolé, ma mauvaise pour la publication de captures d'écran trompeuses. J'ai inclus des gros plans d'échantillons de sections endommagées.
P i
Un filtre passe-bas devrait fonctionner. Le problème est que les fréquences d'intérêt changent à mesure que la personne change sa vitesse de balayage.
endolith
Correct. Cependant, ce taux de base ne va pas changer massivement d'une vague à l'autre. Je peux donc filtrer au fur et à mesure (c'est-à-dire étant donné que la longueur d'onde est k à un point particulier, filtrer en avant dans le signal environ 2 longueurs d'onde, ramasser le prochain blip, rincer et répéter). Dans ce cas, quel serait un bon filtre? J'ai besoin de préserver les dérivés ...
P i
1
Il semble que votre signal soit représenté par la série "d'ondelettes" très distinctives décrivant les transitions binaires. Je pense que vous devriez extraire une ondelette distincte et produire un "corrélogramme" en corrélant l'ondelette avec les données brutes. Les positions de similitude maximale seront identifiées comme de forts pics, tandis que les défauts de forme d'onde ne deviendront qu'un bruit mineur. Cette méthode est largement utilisée en sismique. Pourriez-vous, s'il vous plaît, fournir une série de «valeurs temporelles» de vos données brutes sous forme de feuille de calcul, afin que je puisse illustrer mon idée
mbaitoff

Réponses:

1

Pour supprimer le «bruit» haute fréquence sans supprimer les transitions nettes, vous devrez peut-être essayer une sorte de processus de filtrage non linéaire.

Un exemple aléatoire pourrait appliquer (fondu enchaîné) à un filtre médian uniquement lorsque la distance aux N maxima locaux (ou minima, et au-delà d'un certain seuil de bruit) passe sous un certain seuil de distance (où cette distance, N et la largeur médiane du filtre , sont calibrés à la période du "bruit" suspecté).

hotpaw2
la source