A magnetic card reader module includes a magnetic sensor and an adjacent groove, a micro controller microcontroller and an application. The magnetic sensor is configured to pickup an analog magnetic signal generated by swiping a magnetic stripe through the groove. The magnetic stripe is attached to a card and comprises tracks with magnetically encoded data. The microcontroller is configured to convert the analog magnetic signal into a digital signal. The application is configured to analyze the digital signal, and to perform soft-decision decode of the digital signal and to generate an output comprising the magnetically encoded data and side information providing card swipe information feedback.

Patent
   RE48167
Priority
Feb 06 2013
Filed
Nov 03 2018
Issued
Aug 18 2020
Expiry
Jan 28 2034

TERM.DISCL.
Assg.orig
Entity
Large
0
13
currently ok
3. A method for reading data encoded in a magnetic stripe comprising:
providing a magnetic card reader comprising a magnetic sensor and an adjacent groove,;
picking up, by the magnetic sensor, an analog magnetic signal generated by swiping a magnetic stripe through the groove, wherein the magnetic stripe is attached to a card and comprises tracks with magnetically encoded data;
converting, using a microcontroller, the analog magnetic signal into a digital signal;
analyzing, using an application, the digital signal;
decoding, using the application, the digital signal; and
generating, using the application, an output comprising the magnetically encoded data and card swipe information feedback.
2. A method for reading data encoded in a magnetic stripe comprising:
providing a magnetic card reader comprising a magnetic sensor and an adjacent groove,;
picking up, by the magnetic sensor, an analog magnetic signal generated by swiping a magnetic stripe through the groove, wherein the magnetic stripe is attached to a card and comprises tracks with magnetically encoded data;
converting, using a microcontroller, the analog magnetic signal into a digital signal;
analyzing, using the microcontroller, the digital signal;
decoding, using the microcontroller, the digital signal; and
generating, using the microcontroller, an output comprising the magnetically encoded data and card swipe information feedback.
0. 4. A magnetic card reader module, comprising:
a magnetic sensor and an adjacent groove,
the magnetic sensor interfaceable with a card having a magnetic stripe attached thereto, the magnetic stripe including the tracks with magnetically encoded data,
wherein the magnetic sensor picks up an analog magnetic signal generated by swiping a magnetic stripe through the groove;
an analog-to-digital converter (ADC) to convert the analog magnetic signal into a digital signal, wherein the digital signal comprises:
a plurality of edges, and
a plurality of spacings between the plurality of edges; and
a microcontroller to:
analyze the digital signal,
decode the digital signal, wherein the decoding comprises a soft-decision decode of the digital signal, and
generate an output comprising the magnetically encoded data and card swipe information feedback, wherein the card swipe information feedback is based on one or more of the plurality of spacings.
0. 1. A magnetic card reader module comprising:
a magnetic sensor and an adjacent groove, wherein the magnetic sensor picks up an analog magnetic signal generated by swiping a magnetic stripe through the groove, and wherein the magnetic stripe is attached to a card and comprises tracks with magnetically encoded data;
a microcontroller to convert the analog magnetic signal into a digital signal; and
an application to
analyze the digital signal,
decode the digital signal, and
generate an output comprising the magnetically encoded data and card swipe information feedback.
0. 5. The module of claim 4, further comprising an amplifier and a rectification circuit and wherein the analog magnetic signal is amplified by the amplifier and rectified by the rectification circuit.
0. 6. The module of claim 5, wherein the one or more of the plurality of spacings comprise at least one spacing between at least one of a pair of rising edges or a pair of falling edges corresponding to two consecutive rectified pulses,
wherein the microcontroller comprises an application,
wherein the application comprises an edge detection decoding algorithm to determine the at least one spacing, and
wherein one or more soft decision parameters are based on the determined at least one spacing.
0. 7. The module of claim 6, wherein the determined at least one spacing is used to determine a speed of the swiping of the magnetic card.
0. 8. The module of claim 7, wherein the determining of the speed of the swiping is based on a comparison of heights of the two consecutive rectified pulses to the determined at least one spacing.
0. 9. The method of claim 2, wherein the digital signal comprises:
a plurality of edges; and
a plurality of spacings between the plurality of edges,
wherein the decoding is based on a soft-decision, and
wherein the card swipe information feedback is based on one or more of the plurality of spacings.
0. 10. The method of claim 9, further comprising:
determining, by the microcontroller, a speed of the magnetic stripe swiping; and
providing, by the microcontroller, magnetic stripe swipe diagnostic information.
0. 11. The method of claim 2, further comprising amplifying the analog magnetic signal by an amplifier, and
wherein the converting is performed using an analog-to-digital converter (ADC).
0. 12. The method of claim 11, wherein the decoding is based on a soft-decision, and the decoding comprises:
determining positions of peaks in the digital signal; and
determining one or more spacings between consecutive peaks,
wherein one or more soft decision parameters are based on the determined one or more spacings.
0. 13. The method of claim 12, further comprising:
determining, by the microcontroller, a speed of the magnetic stripe swiping; and
providing, by the microcontroller, magnetic stripe swipe diagnostic information.
0. 14. The method of claim 13, wherein the magnetic stripe swipe diagnostic information comprises a graphical plot of the speed of magnetic stripe swiping versus time.
0. 15. The method of claim 3, wherein the digital signal comprises:
a plurality of edges; and
a plurality of spacings between the plurality of edges,
wherein the decoding is a soft-decision decoding, and
wherein the card swipe information feedback is based on one or more of the plurality of spacings.
0. 16. The method of claim 15, wherein the output comprises side information.
0. 17. The method of claim 16, further comprising providing at least some portion of the side information to a user of the magnetic card reader.
0. 18. The method of claim 15, wherein the magnetically encoded data comprises an error detecting code.
0. 19. The method of claim 18, wherein the error detecting code comprises a parity bit for each encoded character.
0. 20. The module of claim 4, wherein the ADC is an external circuit.
0. 21. The module of claim 4, wherein the ADC is part of the microcontroller.

This application micro controller microcontroller 234, and an algorithm 215b. The ADC circuit 233 samples the signal generated by the amplifier 232 and converts it to a digital signal, shown in FIG. 5. The positions of the peaks 130 in the digital signal are determined by the algorithm 215b that is implemented and executed by the micro controller 234. The spacing between consecutive peaks is computed and interpreted to be either bit 1 or bit 0. These sampled data usually preserve more information than the rectified data and are more useful for analysis and diagnosis. Some microcontrollers can perform AD conversion in one or more of their input pins. Thus, the AD convertor may be part of the micro controller microcontroller and not necessarily an external circuitry. FIG. 5 shows the resulting waveform after amplification of the raw signal. Sample points 130, 131 and 132 are converted to digital values for processing. For example, 130 is a local maximum value and can be interpreted as the position of the peak of the pulse. In either the edge detection data or the AD converted data, a set of soft-decision data is available before hard-decision. The soft-decision data is then used for hard decision to restore the original encoded bit stream. The track data are encoded with some simple mechanisms to determine if it is a good read or if there is an error. Each encoded character has a parity bit to ensure that each character is read correctly. The whole track has also a longitudinal parity bit to ensure that the whole track is read correctly. If there are one or more parity errors, the card read is bad and should be discarded.

In the present invention, card swipe information about the error cause is output as side information. In the edge detected soft decision data, the spacing between the edges is used to indicate the speed of the swipe. Widely spaced pulses indicate a fast swipe, whereas, closely spaced pulses indicate a slow swipe. In the AD converted soft decision data, the spacing between the peaks and the height of the peaks are used to indicate the speed of the swipe. A widely spaced signal indicates a fast swipe, whereas, a closely spaced signal indicates a slow swipe. A high peak also indicates a fast swipe, whereas, a low peak indicates a slow swipe. Side information about the speed of the swipe is fed back to the user of the card reader who can then improve the speed of further card read retries.

In one implementation, a graphical plot 250 of the speed profile of the card swipe is generated by the application and is displayed graphically, as shown in FIG. 8A and FIG. 8B. The speed plot 250 also includes the upper and lower speed limits 251, 251, respectively. Ideally, the speed graph 255, should be in the range between the upper and lower speed limits 251, 251, as shown in FIG. 8B. Furthermore, a uniform swiping speed is best for decoding. However, it is common that the speed near the start 255a or the end 255b of the swipe is very different from the speed in the middle 255c of the swipe. By looking at the speed profile 250 graphically, the user can learn to adjust the swipe speed so that it is uniform and in the range between the upper and lower speed limits 251, 252, respectively.

Furthermore, by analyzing the soft decision data, the position of the parity error bits is determined. The microcontroller outputs the error position which can then help the operator to pin-point the problem of a probably badly encoded or damaged card. A common problem is that the card is bent or angled at a bad position near the end of a swipe because the operator changes the pathway of the card too early. If the soft decision data contain many errors after a certain point, it strongly indicates that there is an operation error.

Tsai, Hwai Sian, Lo, Chi Wah

Patent Priority Assignee Title
Patent Priority Assignee Title
7163148, Mar 31 2004 Silicon Laboratories Inc Magnetic stripe reader
8226001, Jun 23 2010 FITEQ, INC Method for broadcasting a magnetic stripe data packet from an electronic smart card
8231055, Oct 13 2009 BLOCK, INC Systems and methods for decoding card swipe signals
8534555, May 15 2012 MONTEREY RESEARCH, LLC Reconfiguration of a card reader for wake-on-swipe
8931699, Dec 11 2013 BLOCK, INC Bidirectional audio communication in reader devices
20030135470,
20070139802,
20090218402,
20100108762,
20100314446,
20120234918,
20140070006,
JP2004288253,
////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jul 28 2015LO, CHI WAHBBPOS LimitedASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0474060470 pdf
Jul 28 2015TSAI, HWAI SIANBBPOS LimitedASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0474060470 pdf
Nov 03 2018BBPOS Limited(assignment on the face of the patent)
Oct 26 2022BBPOS LimitedSTRIPE, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0617900031 pdf
Date Maintenance Fee Events
Nov 03 2018BIG: Entity status set to Undiscounted (note the period is included in the code).
Nov 04 2018SMAL: Entity status set to Small.
Mar 20 2023BIG: Entity status set to Undiscounted (note the period is included in the code).
May 06 2024M1552: Payment of Maintenance Fee, 8th Year, Large Entity.


Date Maintenance Schedule
Aug 18 20234 years fee payment window open
Feb 18 20246 months grace period start (w surcharge)
Aug 18 2024patent expiry (for year 4)
Aug 18 20262 years to revive unintentionally abandoned end. (for year 4)
Aug 18 20278 years fee payment window open
Feb 18 20286 months grace period start (w surcharge)
Aug 18 2028patent expiry (for year 8)
Aug 18 20302 years to revive unintentionally abandoned end. (for year 8)
Aug 18 203112 years fee payment window open
Feb 18 20326 months grace period start (w surcharge)
Aug 18 2032patent expiry (for year 12)
Aug 18 20342 years to revive unintentionally abandoned end. (for year 12)