Magnetic stripe reader, method for determining the stripe travel speed, method for recognizing data recorded on the stripe and corresponding devices
10878205 ยท 2020-12-29
Assignee
Inventors
Cpc classification
G06K7/084
PHYSICS
International classification
Abstract
A magnetic stripe reader includes at least one first sensor and one second sensor respectively delivering a first temporal signal and a second temporal signal proportional to a flux of a magnetic field of the magnetic stripe traveling before the first and second sensors during reading of the stripe by the reader. The first and second sensors are disposed at a pre-determined distance from each other in a sense of travel of the stripe during the reading.
Claims
1. A magnetic stripe reader comprising: at least one first sensor and at least one second sensor respectively delivering a first temporal signal and a second temporal signal proportional to a flux of a magnetic field of a magnetic stripe traveling before said first and second sensors during the reading of the stripe by the reader, said first and second sensors being disposed at a pre-determined distance from each other in a sense of travel of the stripe during said reading, wherein the first and second sensors belong to the group consisting of: a TMR (Tunneling Magnetic Resistance) sensor; and a GMR (Giant Magnetic Resistance) sensor.
2. The magnetic stripe reader according to claim 1, wherein the first and second sensors are integrated into one and the same silicon chip.
3. A method comprising: determining instantaneous speed of travel of a magnetic stripe read by a magnetic stripe reader, comprising: reading the magnetic stripe by the magnetic stripe reader, which comprises: at least one first sensor and at least one second sensor respectively delivering a first temporal signal and a second temporal signal proportional to a flux of a magnetic field of the magnetic stripe traveling before said first and second sensors during the reading of the stripe by the reader, said first and second sensors being disposed at a pre-determined distance from each other in a sense of travel of the stripe during said reading; determining an instantaneous speed of travel of said magnetic stripe from said first and second temporal signals and from said pre-determined distance between said first and second sensors.
4. The method according to claim 3, wherein said determining the instantaneous speed of travel comprises: sampling said first and second temporal signals respectively delivering first and second temporal sequences of samples and, for at least one sample of said first temporal sequence of samples, called a current sample: determining a corresponding sample of said second temporal sequence of samples, maximizing a pre-determined criterion of correspondence with said current sample; and obtaining a temporal distance between the current sample and the corresponding sample, said instantaneous speed of travel being determined as a function of said temporal distance between the current sample and said corresponding sample and of said pre-determined distance, said instantaneous speed of travel being associated with said current sample and with said corresponding sample.
5. The method according to claim 4 wherein said determining said corresponding sample comprises a correlation between said first and second temporal sequences of samples, delivering a correlation function, a temporal index of the corresponding sample being a function of an index of a maximum of said correlation function, and wherein said obtaining said temporal distance comprises computing a difference between the temporal indices of the current sample and of said corresponding sample.
6. The method according to claim 4 wherein said determining said corresponding sample comprises an iterative computation of a plurality of areas as a function of a difference between: a first sum on a temporal window comprising said current sample, of first samples of said first temporal sequence of samples; and a second sum, on said temporal window, of second samples of said second temporal sequence of samples offset by a variable temporal offset updated at each iteration of the computation, a temporal index of said corresponding sample being a function of a value of said temporal offset corresponding to a minimum area among said plurality of areas, and wherein said obtaining said temporal distance comprises a computation of a difference between the temporal indices of said current sample and of said corresponding sample.
7. The method according to claim 4, further comprising: recognizing at least one piece of data recorded on the magnetic stripe from said instantaneous speed of travel and from at least one of said first and second temporal sequences of samples.
8. The method according to claim 7 wherein said recognizing comprises a normalization of at least one of said first and second temporal sequences of samples from speeds associated with the samples of said sequences, said normalization delivering at least one sequence of virtual samples representing a spatial disposition of magnetic elements representing said at least one piece of data on the stripe, said at least one piece of data being recognized from said at least one sequence of virtual samples.
9. The method according to claim 8 wherein said magnetic elements correspond to a plurality of magnetic strips disposed in a sense crosswise to the sense of travel of the stripe during the reading, said magnetic strips succeeding one another along the stripe with magnetic polarities alternating from one strip to the next, said at least one piece of data being represented via a width of at least one corresponding magnetic strip, said recognizing comprising determining said at least one width, said at least one piece of data being recognized from said at least one width.
10. The method according to claim 9 wherein said determining said at least one width implements a method for estimating boundaries of said at least one corresponding magnetic strip, belonging to the group consisting of: computing a derivative function of said at said least one sequence of virtual samples, said boundaries corresponding to zeros or to extrema of said derivative function; and computing a difference between said first and second sequences of virtual samples, said boundaries corresponding to zeros or to extrema of said difference, when said normalization applied to said first and second temporal sequences of samples delivers first and second corresponding sequences of virtual samples.
11. A non-transitory computer-readable medium comprising program code instructions stored thereon for implementing a method of determining instantaneous speed of travel of a magnetic stripe read by a magnetic stripe reader, when said program is executed by a processor of the magnetic stripe reader, wherein the instructions configure the magnetic stripe reader to perform acts comprising: reading the magnetic stripe by the magnetic stripe reader, which comprises: at least one first sensor and at least one second sensor respectively delivering a first temporal signal and a second temporal signal proportional to a flux of a magnetic field of the magnetic stripe traveling before said first and second sensors during the reading of the stripe by the reader, said first and second sensors being disposed at a pre-determined distance from each other in a sense of travel of the stripe during said reading; and determining an instantaneous speed of travel of said magnetic stripe from said first and second temporal signals and from said pre-determined distance between said first and second sensors.
12. A device for determining instantaneous speed of travel of a magnetic stripe read by a magnetic stripe reader, which includes at least one first sensor and at least one second sensor respectively delivering a first temporal signal and a second temporal signal proportional to a flux of a magnetic field of the magnetic stripe traveling before said first and second sensors during reading of the stripe by the reader device, said first and second sensors being disposed at a pre-determined distance from each other in a sense of travel of the stripe during said reading, wherein the device comprises: a reprogrammable computation machine or a dedicated computation machine configured to: receive the first and second temporal signals; and determine the instantaneous speed of travel of said magnetic stripe from said first and second temporal signals and from said pre-determined distance between said first and second sensors.
13. The device according to claim 12, wherein the reprogrammable computation machine or the dedicated computation machine is further configured to: sample said first and second temporal signals respectively delivering first and second temporal sequences of samples and, for at least one sample of said first temporal sequence of samples, called a current sample: determine a corresponding sample of said second temporal sequence of samples, maximizing a pre-determined criterion of correspondence with said current sample; and obtain a temporal distance between the current sample and the corresponding sample, determine the instantaneous speed of travel of said magnetic stripe as a function of said temporal distance between the current sample and said corresponding sample and of said pre-determined distance, said instantaneous speed of travel being associated with said current sample and with said corresponding sample; and recognize said at least one piece of data from said instantaneous speed of travel and from at least one of said first and second temporal sequences of samples.
14. An electronic payment terminal comprising the device according to claim 12.
Description
4 LIST OF FIGURES
(1) Other features and advantages of the invention shall appear from the following description, given by way of an indicatory and non-exhaustive example, and from the appended drawings, of which:
(2)
(3)
(4)
(5)
(6)
(7)
5 DETAILED DESCRIPTION OF THE INVENTION
(8) In all the figures of the present document, the identical elements and steps are designated by one and the same reference.
(9) The general principle of the technique described relies on the use of a magnetic stripe reader comprising at least one first sensor and one second sensor respectively delivering a first temporal signal and a second temporal signal that are proportional to the flux of the magnetic field of the magnetic stripe passing in front of the sensors in question during the reading of the stripe by the reader. Besides, the first and second sensors are disposed at a pre-determined distance d from each other in a sense of travel of the stripe during the reading of the stripe by the reader.
(10) Thus, the speed of travel of the stripe can be determined by applying the techniques described here below whatever the kinematics of the stripe in question when it is being read (for example when the stripe changes its sense of travel during the reading or in the presence of stops and restarts of travel, or even in the event of travel at a very low speed, etc.). The data (for example check characters) recorded on the stripe in question can thus be determined in an improved manner whatever the kinematics of the stripe during its reading.
(11) We shall strive more particularly here below in the invention to describe a set of problems and issues existing in the field of electronic payment terminals and more particularly in the field of the reading of magnetic stripes implemented in payment cards faced by the inventors of the present patent application. The invention is of course not limited to this particular field of application but is of interest for the reading of magnetic stripes implemented on any type of object.
(12) Referring now to
(13) In the embodiment illustrated in
(14) In other embodiments not shown, the magnetic stripe is a stripe present on a transport ticket (for example bus ticket, underground rail ticket etc.) and the electronic terminal in question is a control device present in a corresponding transport means.
(15) Returning to
(16) Besides, the first sensor 120_1 and second sensor 120_2 are disposed at a pre-determined distance d from one another in a sense of travel of the stripe 160 when it is being read by the reader 110.
(17) Thus, knowledge of the pre-determined distance d makes it possible to determine the instantaneous speed of travel of the stripe 160 when it is being read by the terminal 100 via an appropriate processing of the first temporal signal 420_1a, 420_1b and second temporal signal 420_2a, 420_2b delivered by the first sensor 120_1 and second sensor 120_2 in question as described with reference to
(18) Besides, using the first sensor 120_1 and second sensor 120_2 that are sensitive to the flux of the magnetic field passing through them instead of using a sensor sensitive to the derivative of the flux in question, as is the case in prior-art readers, gives temporal signals 420_1a, 420_1b, 420_2a, 420_2b having good characteristics (for example in terms of amplitude) for their processing whatever the kinematics of the stripe 160 during the reading (for example when the stripe changes its sense of travel during the reading or in the presence of stops and re-starts of travel or even in case of travel at very low speed etc.).
(19) Thus, the data recorded on the stripe 160 can be recognized in an improved way whatever the kinematics of the stripe 160 when it is being read, from the instantaneous speed of travel of the stripe 160 as described here below with reference to
(20) In variants, the first sensor 120_1 and the second sensor 120_2 are integrated into one and the same silicon chip.
(21) Thus, the dispersions between the characteristics (static or deviant, for example in terms of temperature) of the first sensor 120_1 and the second sensor 120_2 in question are minimized (for example their levels of sensitivity to the magnetic field). It is thus possible to do away with the phases of calibration of the sensors and of compensating for the dispersions in question, thereby reducing the cost of the overall solution. Similarly, in the variants in question, the pre-determined distance d between the sensors is particularly well controlled.
(22) According to different configurations, the sensitive surface of the first sensor 120_1 and the second sensor 120_2 is disposed according to different orientations relative to the sense of travel of the stripe 160 when it is being read. For example:
(23) in a first configuration of the reader 110 (illustrated in
(24) in a second configuration of the reader 110 (illustrated in
(25) Such configurations have an impact on the waveform of the temporal signals 420_1a, 420_1b, 420_2a, 420_2b, and therefore on the criteria of decision to be applied in order to recognize the data recorded on the stripe 160 as described here below with reference to
(26) Referring now to
(27) Such a method comprises a step E200 for determining the instantaneous speed of travel of the magnetic stripe 160 from the first temporal signals 420_1a, 420_1b and second temporal signals 420_2a, 420_2b delivered by the first sensor 120_1 and second sensor 120_2, and the pre-determined distance d between the first sensor 120_1 and second sensor 120_2 in question.
(28) More particularly, the step E200 for determining comprises a sampling sub-step E210 for sampling the first temporal signals 420_1a, 420_1b and second temporal signals 420_2a, 420_2b respectively delivering the first temporal sequences of samples Seq_1a, Seq_1b and second temporal sequences of samples Seq_2a, Seq_2b. As a result, the processing operations applied subsequently are carried out in a precise manner in the digital domain.
(29) Besides, the step E200 for determining comprises the following sub-step for at least one sample of the first temporal sequence of samples, called a current sample:
(30) determining E220 a corresponding sample of the second temporal sequence of samples, maximizing a pre-determined criterion of correspondence with the current sample; and
(31) obtaining E230 a temporal distance between the current sample and the corresponding sample;
(32) More particularly, in a first embodiment of the method for determining the instantaneous speed, the sub-step E220 for determining comprises a correlation E220a between the first temporal sequences of samples Seq_1a, Seq_1b and the second temporal sequences of samples Seq_2a, Seq_2b, delivering a correlation function. Thus, a maximum value of the correlation function in question represents a correspondence between the first temporal sequences of samples Seq_1a, Seq_1b and the second temporal sequences of samples Seq_2a, Seq_2b. The temporal index of the corresponding sample is thus a function of the index of the maximum in question (for example the temporal index of the corresponding sample is equal to the temporal index of the current sample to which we add the index of the maximum of the correlation function).
(33) Besides, the sign of the difference between the temporal indices of the current sample and of the corresponding sample represents a sense of travel of the stripe 160 relative to the reader 110 at the time of capture of the current sample by the first sensor 120_1. Indeed, given that this spatial disposition of the first sensor 120_1 and second sensor 120_2 is known, the indication according to which a piece of data recorded on the stripe 160 has passed first of all before one of the two sensors 120_1 (or 120_2) and then only afterwards before the other of the two sensors 120_2 (or 120_1) makes it possible to know the sense in which the stripe 160 is moving during the reading operation.
(34) In a second embodiment of the method for determining the instantaneous speed, the sub-step E220 for determining comprises an iterative computation E220b of a plurality of areas 430a, 430b as a function of a difference between: a first sum, on a time slot 440a, 440b comprising the current sample, first samples of the first temporal sequence of samples Seq_1a, Seq_1b; and a second sum, on the time slot 440a, 440b, of second samples of the second temporal sequence of samples Seq_2a, Seq_2b offset by a variable temporal offset updated at each iteration of the computation in question.
(35) Indeed, such first and second sums are proportional respectively to a first area and a second area present on the one hand under the curve representing the first temporal sequences of samples Seq_1a, Seq_1b and secondly under the curve representing the second temporal sequences of samples Seq_2a, Seq_2b but offset by the temporal offset in question.
(36) A temporal offset value corresponding to a minimum of the difference between the first and second areas thus represents a correspondence between the first temporal sequences of samples Seq_1a, Seq_1b and second temporal sequences Seq_2a, Seq_2b of samples. Indeed, such a minimum corresponds to the fact that the first temporal sequences of samples Seq_1a, Seq_1b and second temporal sequences of samples Seq_2a, Seq_2b have been resynchronized via the application of the temporal offset in question. The temporal index of the corresponding sample is thus deduced from the value of the temporal offset in question.
(37) Besides, when the temporal offset applied is zero, the sign of the difference between the first and second areas (and therefore of the difference between the first and second sums) represents a sense of travel of the stripe 160 relative to the reader 110 at the time of capture of the current sample by the first sensor 120_1. Indeed, such a sign makes it possible to know which is the sensor, of the two sensors 120_1 or 120_2, before which the current sample has passed first during the reading of the stripe 160.
(38) In the two embodiments mentioned here above, the sub-step E230 for obtaining the temporal distance comprises a computation of a difference E230a between the temporal indices of the current sample and of the corresponding sample, delivering the temporal distance between the current sample and the corresponding sample.
(39) Thus, the instantaneous speed of travel is determined as a function, on the one hand, of the temporal distance between the current sample and the corresponding sample and, on the other hand, the predetermined distance d. For example, the instantaneous speed is determined as being equal to the predetermined distance d divided by the temporal distance obtained during the implementing of the sub-step for obtaining E230.
(40) The instantaneous speed thus determined is also associated with the current sample and the corresponding sample.
(41) Thus, the nature of the signals delivered by the sensors of the reader (sensors sensitive to the flux of the magnetic field passing through them) makes it possible to implement processing operations leading to the determining of the instantaneous speed in question in an improved way, i.e. whatever the kinematics of the stripe during its reading.
(42) Such an instantaneous speed determined in an improved way makes it possible for example to implement an improved recognition of data recorded on the stripe 160 as described here below with reference to
(43) Referring now to
(44) Such a method comprises the following steps:
(45) determining E100 the instantaneous speed of travel of the stripe 160 by implementing the method for determining instantaneous speed described here above with reference to
(46) recognizing E300 the at least one piece of data from, on the one hand, the instantaneous speed of travel and from, on the other hand, at least one of the first temporal sequences of samples Seq_1a, Seq_1b and second temporal sequences of samples Seq_2a, Seq_2b.
(47) Thus, such a method of recognition takes advantage of the improved determining of the instantaneous speed of travel of the stripe through the processing operations applied to the signals delivered by the first sensor 120_1 and second sensor 120_2 of the reader 110 (sensors sensitive to the flux of the magnetic field passing through them). The at least one piece of data is thus recognized whatever the kinematics of the stripe 160 when it is being read.
(48) For example, the step E300 for recognizing comprises a sub-step E310 for normalizing at least one sequence of the first temporal sequences of samples Seq_1a, Seq_1b and second temporal sequences of samples Seq_2a, Seq_2b on the basis of the speeds associated with the samples of the sequences in question. Such a normalization delivers at least one sequence of virtual samples representing a spatial disposition of magnetic elements representing the at least one piece of data recorded on the stripe.
(49) In other words, the normalization in question makes it possible to set up the correspondence between the temporal waveform of the first temporal sequences 420_1a, 420_1b and second temporal sequences 420_2a, 420_2b (a waveform that is distorted by the motions related to the kinematics of passage of the stripe 160 in the reader 110) and the physical disposition of the magnetic elements that represent the data on the magnetic stripe 160. Such a correspondence is possible through knowledge of the instantaneous speed of travel of the stripe 160, determined during the implementing of the step E200 for determining the instantaneous speed. The instantaneous speed of travel makes it possible indeed to make a trace back to the physical position of a magnetic element on the stripe 160 from the point in time at which the flux of the corresponding magnetic field had been picked up by the first sensor 120_1 and/or the second sensor 120_2.
(50) Thus, the at least one piece of data is recognized from the at least one sequence of virtual samples delivered by the normalization sub-step E310.
(51) More particularly, the first temporal sequences of samples Seq_1a, Seq_1b and second temporal sequences of samples Seq_2a, Seq_2b contain in principle the same information but offset in time. Thus, the recognition of the at least one piece of data can be done on the basis of a sequence of virtual samples obtained from either the first temporal sequences of samples Seq_1a, Seq_1b or the second temporal sequences of samples Seq_2a, Seq_2b.
(52) However, in certain embodiments, it can be advantageous to use two virtual sequences of samples obtained respectively from the first temporal sequences of samples Seq_1a, Seq_1b and the second temporal sequences of samples Seq_2a, Seq_2b.
(53) For example, in certain embodiments, the magnetic elements representing the at least one piece of data correspond to a plurality of magnetic strips 450 disposed in a sense crosswise to the sense of travel of the stripe 160 during the reading. More particularly, the magnetic strips 450 succeed one another along the stripe 160 with magnetic polarities alternating from one strip 450 to the next one (i.e. the poles are inverted from one strip 450 to the next one). The at least one piece of data is represented through a width of at least one corresponding magnetic strip 450 (for example the at least one piece of data is encoded according to an encoding known as F2F or Aiken Biphase encoding as defined in the ISO/IEC-7811 standard).
(54) In the embodiments in question, the step of recognition E300 includes a determining E320 of the at least one width so as to recognize the at least one piece of data.
(55) For example, the step for determining E320 the at least one width implements a method of estimation of boundaries 460 of the at least one magnetic strip 450.
(56) More particularly, in a first embodiment of the method of recognition, the step of normalization E310 is applied either to the first temporal sequence of samples or to the second temporal sequence of samples and delivers a corresponding sequence of virtual samples. The method of estimation of boundaries 460 implements a computation E320a of a derivative function of the sequence of virtual samples in question.
(57) For example, in the configuration where the direction of sensitivity of the first sensor 120_1 and second sensor 120_2 is such that they react to the component of the magnetic field that is perpendicular to the magnetic stripe 160 during its reading by the reader 110 (first above-mentioned configuration of the reader 110 illustrated in
(58) In the configuration where the direction of sensitivity of the first sensor 120_1 and second sensor 120_2 is such that they react to the component of the magnetic field that is coplanar with the magnetic stripe 160 during its reading by the reader 110 (second above-mentioned configuration of the reader 110 illustrated in
(59) In a second embodiment of the method of recognition, the step of normalization E310 is also applied there either to the first temporal sequence of samples or to the second temporal sequence of samples, and delivers a corresponding sequence of virtual samples.
(60) However, in the configuration where the direction of sensitivity of the first sensor 120_1 and second sensor 120_2 is such that they react to the component of the magnetic field that is perpendicular to the magnetic stripe 160 during its reading by the reader 110 (first above-mentioned configuration of the reader 110 illustrated in
(61) In the configuration where the direction of sensitivity of the first sensor 120_1 and second sensor 120_2 is such that they react to the component of the magnetic field that is coplanar with the magnetic stripe 160 when it is being read by the reader 110 (second above-mentioned configuration of the reader 110 illustrated in
(62) In a third embodiment of the method of recognition, the step of normalization E310 is applied both to the first temporal sequence of samples and to the second temporal sequence of samples so as to deliver first and second corresponding sequences of virtual samples. The method for estimating boundaries 460 implements a computation E320b of a difference between the first and second sequences of virtual samples.
(63) In the configuration where the direction of sensitivity of the first sensor 120_1 and second sensor 120_2 is such that they react to the component of the magnetic field that is perpendicular to the magnetic stripe 160 during its reading by the reader 110 (first above-mentioned configuration of the reader 110 illustrated in
(64) In the configuration where the direction of sensitivity of the first sensor 120_1 and second sensor 120_2 is such that they react to the component of the magnetic field that is coplanar with the magnetic stripe 160 during its reading by the reader 110 (second above-mentioned configuration of the reader 110 illustrated in
(65) According to the different embodiments, the proposed solution therefore enables the recognition of at least one piece of data recorded on a magnetic stripe read by a magnetic reader as described here above.
(66)
(67) More particularly, such a device 500 enables the implementation of the method for determining the instantaneous speed of the
(68) This
(69)
(70) More particularly, such a device 600 enables the implementing of the method of recognition of at least one piece of data of
(71) This
(72) It can thus be seen that the device 600 comprises the means of the device 500, the method of recognition of at least one piece of data of
(73) Thus, in certain embodiments, the terminal 100 comprises either only the device 600 or only the device 500 (for example when another pre-existing device of the terminal 100 implements a known method of recognition of data on the basis of the instantaneous speed of travel that is given to them by the device 500). In other embodiments, the terminal 100 comprises both the device 600 and the device 500 in order, for example, to be able to implement different methods (prior art or according to the invention) for recognition of data on the basis of the instantaneous speed of travel given by the device 500.