Συσχέτισις σε ψηφιακό επίπεδο:
Με την βοήθεια τεχνικών, που έγραψαν πρόγραμμα "κώδικα μηχανής" για μηχάνημα ανάγνωσης, διαβάσαμε προσεκτικά τις διάφορες εργασίες ελλήνων και ξένων μελετητών σχετικά με την συσχέτιση 666 με bar code. Διαπιστώσαμε δε την εξής σοβαρή παράλειψη: ΟΛΟΙ ΕΞΕΤΑΖΟΥΝ ΤΟΝ BAR CODE ΒΑΣΕΙ ΤΩΝ ΚΑΝΟΝΩΝ ΔΗΜΙΟΥΡΓΙΑΣ ΤΟΥ, ΑΓΝΟΩΝΤΑΣ ΤΟΝ ΤΡΟΠΟ ΑΝΑΓΝΩΣΗΣ ΤΟΥ. Εδώ υπάρχει το λεπτό σημείο: Άλλους κανόνες χρησιμοποιεί η μηχανή δημιουργίας του bar code και άλλους η μηχανή ανάγνωσής του.
Ο Θεός με το στόμα του αγίου Ιωάννη πριν 2000 χρόνια μίλησε για την εμπλοκή του αριθμού αυτού στις οικονομικές μας συναλλαγές; "…ΚΑΙ ΙΝΑ ΜΗ ΤΙΣ ΔΥΝΗΤΑΙ ΑΓΟΡΑΣΑΙ Ή ΠΩΛΗΣΑΙ ΕΙ ΜΗ Ο ΕΧΩΝ ΤΟ ΧΑΡΑΓΜΑ, ΤΟ ΟΝΟΜΑ ΤΟΥ ΘΗΡΙΟΥ Ή ΤΟΝ ΑΡΙΘΜΟΝ ΤΟΥ ΟΝΟΜΑΤΟΣ ΑΥΤΟΥ…. ΚΑΙ Ο ΑΡΙΘΜΟΣ ΑΥΤΟΥ χξστ (666)." (Αποκ. Κεφ 13 στιχ 17). Παρατηρούμε λοιπόν ότι η πίεση που θα ασκηθεί στους χριστιανούς εντοπίζεται από τον ευαγγελιστή στο οικονομικό επίπεδο. Δεν θα μπορούν οι άνθρωποι να αγοράζουν και να πουλούν εάν δεν έχει ανιχνευθεί αυτός ο αριθμός.
Δεν είναι αυτονόητο ότι πρέπει να εξετάσουμε πώς λειτουργεί η μηχανή ανάγνωσης; Καθώς όλα τα προϊόντα που κυκλοφορούν στα πολυκαταστήματα έχουν τον γραμμωτό κώδικα, χωρίς τον οποίο δεν μπορεί να αγοράσει ο καταναλωτής, αλλά ούτε και να πουλήσει ο παραγωγός.
Τους κανόνες της κατασκευής τους έχουμε εξετάσει στις προηγούμενες ενότητες και θα μας βοηθήσουν στα παρακάτω. Θα εξεταστεί λοιπόν η τεχνική ανάγνωσης του bar code βάσει στοιχείων από τις αναλυτικές τεχνικές πληροφορίες εταιρειών, επιστημονικές εργασίες από διάφορα πανεπιστήμια καί συγγράμματα ειδικών μελετητών και όχι της προτεστάντιδος M. Relfe, όπως θέλουν μερικοί να μας κατηγορούν. Θα αποδειχθεί δε ότι η αναγκαία προϋπόθεση για την ανάγνωση του, είναι η ανίχνευση του αριθμού 666 (πάντα για τους τύπους ΕΑΝ και UPC).
Ο κωδικός αριθμός για ένα προϊόν χορηγείται από τόν αρμόδιο οργανισμό, π.χ. E.A.N. Association για την κωδικοποίηση Ε.Α.Ν. Οι εταιρείες εκτυπώσεως ετικετών βάσει τεχνικών προδιαγραφών εκτυπώνουν τον ψηφιακό αριθμό με την μορφή των γνωστών γραμμώσεων με πολύ μεγάλη ακρίβεια όπως προείδαμε.
Σχ. 7. (W. Erdei, Bar Codes, 1993, p. 125)
Κατά την ανάγνωση όμως ο υπολογιστής δεν διαβάζει αποστάσεις σε mm, αλλά χρόνους ηλεκτρικών παλμών. Το πλάτος των ηλεκτρικών παλμών θα έπρεπε κανονικά να είναι ανάλογο του πλάτους των μαύρων γραμμών (βλ. σχήμα 7). Αυτό όμως δεν συμβαίνει ποτέ στην πραγματικότητα, διότι παρεμβαίνουν οι φυσικοί απροσδιόριστοι παράγοντες και προκαλούν την λεγομένη ολίσθηση (drift) του μεγέθους των χαρακτήρων.
( «One of the major issues in the design of the software barcode decoder is that the velocity of the reader wand may drift as it scans over the page. Luckily, the encoding of UPC symbols is such that we can look at small portions of the signal in isolation, allowing us to make a near-constant-velocity assumption». E. Askilsrud, Kyle Ho, A.Johnson, K. Scott, i.d. Department of Electrical Engineering, College of Engineering, University of Washington )
Σχ. 8. (W. Erdei, Bar Codes, 1993, p. 102)
Η ολίσθησις αυτή δεν συμβαίνει μόνο με την χρησιμοποίηση των wand-scanners αλλά και των συγχρόνων laser-scanners, όταν είναι ανώμαλη η επιφάνεια πάνω στην οποία είναι τυπωμένη η ετικέτα του προϊόντος. (W. Erdei, Bar Codes, 1993, p. 102).
Η ακτίνα προσπίπτει καθέτως σε ορισμένους χαρακτήρες και υπό γωνία σε άλλους, όπως φαίνεται στο σχήμα 8, που η ετικέτα είναι τυπωμένη σε κυλινδρική επιφάνεια. Μεταβολή του μεγέθους των χαρακτήρων φαίνεται στην ηλεκτρική κυματομορφή του σχήματος 10.
Σχ. 10. Ελήφθη από: W. Erdei, Bar Codes, Design, Printing and Quality control, McGraw-Hill, Inc., 1993, p. 129. (Για να είναι ευανάγνωστη η παλμοσειρά, έχουμε σκιάσει την περιοχή της κυματομορφής που αναπαριστά τις μαύρες μπάρες της ετικέτας και αριθμήσαμε τους εξεταζόμενους παλμούς). Ο οριζόντιος άξονας Χ παριστάνει χρόνο.
Παρατηρούμε στο σχ. 10, ότι το ζεύγος παλμών πού αναπαριστά τον left guard bar (δύο πρώτοι αρνητικοί παλμοί από αριστερά 1 & 2) διαφέρει κατά πλάτος από το ζεύγος παλμών τού center guard pattern (15ος και 16ος παλμός) και από το ζεύγος παλμών του right guard bar (29ος και 30ος παλμός), ενώ θα έπρεπε να είναι ίδια υπό ιδανικές συνθήκες αναγνώσεως. Αντιλαμβάνεται δηλαδή ο scanner μία σταδιακή μεγέθυνση των χαρακτήρων από αριστερά προς τα δεξιά.
Επειδή λοιπόν, όπως βλέπουμε, η μεταβολή αυτή του μεγέθους των χαρακτήρων δεν είναι εκ των προτέρων γνωστή, ο μικροϋπολογιστής του scanner είναι αδύνατον να προσδιορίσει τον κάθε χαρακτήρα δι' απολύτου ταυτίσεως με τον πρωτότυπο χαρακτήρα (nominal dimensions, βλ. πίνακα IV). Γι αυτό καί τον προσδιορίζει βάσει αναλογικής σχέσεως (Σημ. 14Α : E. Askilsrud, Kyle Ho, A.Johnson, K. Scott, UPC Reader (EE 498 project), Department of Electrical Engineering, College of Engineering, University of Washington. www.tekotago.ac.nz/teach/sc.../technology/barcoding/scanops.html
Σημ. 14 Β: Η ίδια τεχνική περιγράφεται Aναλυτικά Aπό τόν R. C. Palmer, (i.d., p. 286) γιά τόν Code 49. …που οι μετρούμενοι χρόνοι ti πού προσδιορίζουν ένα συγκεκριμένο χαρακτήρα δεν συγκρίνονται με τον προκαθορισμένο από το encoding για όλους τους χαρακτήρες μοναδιαίο χρόνο, αλλά συγκρίνονται αναλογικά προς τον μοναδιαίο χρόνο που υπολογίζεται για τον συγκεκριμένο χαρακτήρα με τον λόγο Si / 16, αφού ο κάθε χαρακτήρας Code 49 κωδικοποιείται μέ 16 modules.)
Πειραματική επαλήθευση: Στο σχήμα 9 φαίνεται ένας κωδικός που ειδικά κατασκευάσθηκε με σταδιακά αυξανόμενο μέγεθος χαρακτήρων μέχρι 150%, για να αποτελέσει ένα πειραματικό παράδειγμα περί του πως οι διάφοροι εξωτερκοί παράγοντες, οφειλόμενοι στη συμμετοχή του ανθρώπου, όπως μη σταθερή ταχύτητα αναγνώσεως της ετικέτας, ανάγνωση υπό γωνία, ανάγνωση ετικέτας κολλημένης σε κυλινδρική επιφάνεια, κ.λπ. κάνει τον scanner στην πραγματικότητα να αντιλαμβάνεται ορισμένους χαρακτήρες (=ζεύγος γραμμών) του κωδικού μεγεθυμένους ή σμικρυσμένους εν σχέση προς άλλους χαρακτήρες του ιδίου κωδικού (Σημ. 15 E. Askilsrud, Kyle Ho, A.Johnson, K. Scott, i.d.: «One of the major issues in the design of the software barcode decoder is that the velocity of the reader wand may drift as it scans over the page. Luckily, the encoding of UPC symbols is such that we can look at small portions of the signal in isolation, allowing us to make a near-constant-velocity assumption».). Υπό την έννοια αυτή το module (=μονάδα μέτρησης των γραμμών στον γραμμωτό κώδικα), δεν έχει την ίδια χρονική τιμή για όλους τους χαρακτήρες ενός κωδικού! Αυτό αντίκειται στους κανόνες της κωδικοποίησης του γραμμωτού κώδικα.
Που είναι λοιπόν οι ερευνητές, που ερευνούν ως φαρισαίοι "το γράμμα του νόμου", να μας εξηγήσουν πως ένας κωδικός με διαφορά μεγέθους στις γραμμές του =150%, διαβάζεται! Εκάθησε κανείς να εξετάσει τον τρόπο ανάγνωσης του κωδικού; Εκτός και αν εσκεμμένα αποφεύγουν να αναφερθούν σ' αυτόν το μηχανισμό για να μην φανεί το αυτονόητο που θα δούμε παρακάτω.
Διαβάζεται λοιπόν ο κωδικός για τον πολύ απλό λόγο: Τό κλάσμα του λόγου του module (=μονάδα μέτρησης των γραμμών στον γραμμωτό κώδικα), με το πλάτος του χαρακτήρα είναι σταθερό, για κάθε ένα από τους χαρακτήρες της ετικέτας. Ο scanner scanteam 5500, Welch Allyn, που χρησιμοποιήσαμε στις δοκιμές μας, διαβάζει απρόσκοπτα τον κωδικό του σχήματος 9, και αποδεικνύει έτσι την ανωτέρω αναλογική σχέση (Σημ: Η σχέση αυτή όπως προέκυψε από τα αλλεπάλληλα πειράματά μας αν διαταραχθεί κατ' ελάχιστον (δηλ. ως παράδειγμα: εάν αλλάξει το μέγεθός σέ μία από τις δύο μπάρες του χαρακτήρα), δεν διαβάζεται ο χαρακτήρας).
Ένα άλλο πρόβλημα που συναντούμε κατά την ανάγνωση είναι η μεταβολή της διασποράς της μελάνης κατά την εκτύπωση του κωδικού. Αυτό οφείλεται στην ποιότητα της μελάνης της εκτυπωτικής μηχανής, και στην ρύθμιση του contrast του μηχανήματος εκτύπωσης. Βλέπουμε ως παράδειγμα στο σχ.13 τον ίδιο κωδικό με διαφορετική διασπορά μελάνης. Ο κωδικός διαβάζεται κανονικά μόνον όταν η διασπορά είναι ομοιογενής για κάθε ζεύγος γραμμών. Συνεπώς βλέπουμε, όπως και προηγουμένως έτσι και εδώ, ότι ο μικροϋπολογιστής του scanner είναι αδύνατον να προσδιορίσει τον κάθε χαρακτήρα δι' απολύτου ταυτίσεως με τον πρωτότυπο χαρακτήρα (nominal dimensions, βλ. πίνακα IV).
Γι αυτό και τον προσδιορίζει βάσει αναλογικής σχέσεως που θα εξετάσουμε στην συνέχεια.
Aνάγνωση του χαρακτήρα: Η τεχνική Delta-distance.
Μία έξυπνη τεχνική εφαρμόσθηκε, και καθιερώθηκε ως standard, από μία εταιρεία κολοσσό την Ι.Β.Μ., η τεχνική Delta-distance.
(C. K. Harmon, i.d., pp. 17-18.)
(R. C. Palmer. The Bar Code Book, Helmers Publishing Inc., 1995, pp. 20-21.).
Έτσι προέκυψε και η ονομασία αυτών των τύπων κωδικών ως delta distance characters. (πχ EAN και UPC κ.α).
Σύμφωνα με αυτή μετρώνται οι χρονικές αποστάσεις μεταξύ των γραμμώσεων κατά χιαστό τρόπο: (=αρχή μπάρας με αρχή της επομένης & τέλος μπάρας με τέλος της επόμενης κατόπιν οι τιμές κανονικοποιούνται διαιρούμενες με την χρονική τιμή του module. Η τιμή δε αυτή του module προκύπτει από την χρονική μέτρηση του μήκους του χαρακτήρα διαιρούμενη δια του αριθμού των modules που περιέχει). Έτσι ελαχιστοποιούνται κατά τον καλύτερο τρόπο τα σφάλματα ανάγνωσης που περιγράψαμε στην προηγούμενη ενότητα. (R. C. Palmer, i.d., p.139.)
Σχ. 12
Αναλυτικότερα μετρούμε:
α) Την χρονική απόσταση C βλέπε σχ. 12 (=αρχή του χαρακτήρος μέχρι την αρχή του επομένου χαρακτήρος).
β) Την χρονική απόσταση Τ1: αρχή πρώτης μπάρας μέχρι την αρχή της δεύτερης μπάρας.
γ) Την χρονική απόσταση Τ2 : τέλος πρώτης μπάρας μέχρι το τέλος της δεύτερης μπάρας.
Με την μέτρηση της C προσδιορίζεται η πιθανή αυξομοίωση του μεγέθους του χαρακτήρα (βλέπε Σχ. 9).
Έτσι με μία απλή διαίρεση, του C / Co (Co o αριθμός των modules βλ. πίνακας ΙΙ) που περιέχει ο εξεταζόμενος χαρακτήρας, λαμβάνουμε την χρονική διάρκεια του module του χαρακτήρα. Η οποία όπως προείδαμε δεν είναι σταθερή κατά την πορεία της διαδικασίας ανάγνωσης (βλέπε Σχήμα 8). Αφού λοιπόν προσδιοριστεί αυτό το κρίσιμο και απαραίτητο μέγεθος (εννοούμε την χρονική τιμή του module), τότε διαιρώντας τις χρονικές τιμές Τ1 και Τ2 με την χρονική αυτή τιμή του module, λαμβάνουμε δύο κατά προσέγγιση ακεραίους Το1 και Το2, που προσδιορίζουν, μέσω του πίνακα ΙΙ, τον χαρακτήρα.
Character |
Τo1(*) |
Τo2(*) |
Co(*) |
0 |
5 |
3 |
7 |
1 |
4 |
4 |
7 |
2 |
3 |
3 |
7 |
3 |
5 |
5 |
7 |
4 |
2 |
4 |
7 |
5 |
3 |
5 |
7 |
6 |
2 |
2 |
7 |
7 |
4 |
4 |
7 |
8 |
3 |
3 |
7 |
9 |
4 |
2 |
7 |
left guard |
2 |
2 |
3 |
right guard |
2 |
2 |
3 |
center pattern |
2 |
2 |
4 |
Σχ. 14
Πιο αναλυτικά: Στο σχήμα 14 φαίνονται οι πρωτότυπες (original) Tï-distances για τον χαρακτήρα 4 του set A σε modules. Η Το1 ισούται με 2 modules και η Το2 με 4 modules. Με τον ίδιο τρόπο υπολογίζονται οι Το1 καί Το2 όλων των χαρακτήρων του πίνακος ΙΙ.
Για να προσδιορισθεί, κατά την αποκωδικοποίηση, ο κάθε χαρακτήρας της ετικέτας που διαβάζει ο scaner, θα πρέπει οι χρονικές μετρήσεις Τ1 καί Τ2 (βλ. σχ. 12) να εκφρασθούν ως πολλαπλάσια του modules του χαρακτήρος. Το module χρονικά ισούται μέ C / 7.
Επομένως η τιμή Τ1 / modules = Τ1 / (C/7) θα συγκριθεί με την τιμή Το1. Ομοίως καί η τιμή Τ2 / modules = Τ2 / (C/7) θα συγκριθεί με την τιμή Το2. Δηλαδή θα προσδιορισθεί πόσο % κατά προσέγγιση οι τιμές αυτές πλησιάζουν προς τις τιμές Το1 καί Το2. Εάν ευρεθούν μέσα στα καθορισμένα όρια ανοχής (tolerance), αναγνωρίζεται ως ο συγκεκριμένος χαρακτήρας.
(Σημ: Με την ίδια διαδικασία ‚ R. C. Palmer, Aναφερόμενος στήν Aποκωδικοποίηση του bar code τύπου:Code 49 χαρακτήρες των 16 modules, προσδιορίζει την original τιμή του Τ1 δια του τύπου Toriginal * S/16 (…που το S είναι το μετρηθέν πλάτος του χαρακτήρα και ο παρονομαστής 16 είναι ο αριθμός των modules στον κωδικό Code 49 (R. C. Palmer, i.d, p. 286))).
Από την τεχνική Delta-distance που περιγράφθηκε γίνεται προφανές ότι οι τρεις χαρακτήρες ελέγχου έχουν τις ίδιες Τ-distances με τον αριθμό 6. Είναι επίσης αξιοσημείωτο ότι, ενώ για τους χαρακτήρες 1, 7 και 2, 8 που έχουν ίδιες Τ-distances απαιτείται επιπλέον υπολογισμός του πλάτους των μπαρών με την τεχνική width-distance για να διαφοροποιηθούν μεταξύ τους (R. C. Palmer, i.d., p.26), για τους χαρακτήρες ελέγχου, πού επίσης έχουν τις ίδιες Τ-distances, δεν απαιτείται περαιτέρω διαφοροποίησή τους από τον αριθμό 6. Προφανώς διότι ταυτίζονται με αυτόν τον αριθμό.
Πολλοί αφελείς, για να μην πούμε την λέξη πονηροί, λένε ότι από τον πίνακα ΙΙ φαίνεται ότι ο αριθμός 6 έχει μεν Το1 και Το2 ίσους με τις τιμές των χαρακτήρων ελέγχου, αλλά δεν έχουν ίσο μήκος χαρακτήρα δηλ. Co. Άρα, κατά το φτωχό τους μυαλό, δεν ταυτίζονται, διότι έχουν δήθεν διαφορετικά χαρακτηριστικά στην τιμή του Co.
Η προφανής απάντηση δόθηκε παραπάνω και την επαναλαμβάνουμε για να γίνει πιο κατανοητή. Η τιμή Co χρησιμοποιείται πάντα για να προσδιοριστεί η τιμή του module για το κάθε ψηφίο της ετικέτας. Η χρονική διάρκεια του module του κάθε ψηφίου, μεταβάλλεται μέσα στην ετικέτα του bar-code λόγω ολίσθησης (drift) , διασπορά μελάνης κλπ. Έτσι λοιπόν το Co χρησιμοποιείται αποκλειστικά και μόνο, για να διορθώνονται τα λάθη ανάγνωσης, που προαναφέρθηκαν, και δεν προσδιορίζει κατ' ελάχιστον τους χαρακτήρες. Οι χαρακτήρες προσδιορίζονται, κατά την ανάγνωση, μόνο από τις τιμές Το1 και Το2.
Άρα προϋπόθεση για να διαβαστεί ένας κωδικός bar code, τύπου ΕΑΝ για την Ευρώπη και UPC για την Αμερική, είναι πρώτα η ανίχνευση των τριών ζευγών λεπτών γραμμών που βλέπουμε καθημερινώς σε όλα τα προϊόντα. Γραμμές που πιθανόν, τυχαία όπως θέλουμε να πιστεύουμε, αναπαριστούν τον αριθμό 666! Θα μπορούσε να τοποθετηθεί βέβαια οποιοσδήποτε αριθμός από τους χιλίους από το 000 έως το 999, όπως γίνεται με τους τόσους άλλους κωδικούς bar code (περίπου 15 που εξετάσαμε). Ας μην ξεχνούμε όμως ότι και η τότε συναγωγή μέτρησε 30 αργύρια στον Ιούδα τυχαία. Το γεγονός όμως είχε προφητευτεί πριν χιλιάδες χρόνια από τους προφήτες. Δυστυχώς δε απ' ότι φαίνεται τα πράγματα οδηγούνται και πάλι προς την ιδία κατεύθυνση και η ιστορία του Ιούδα θα επαναληφθεί, αν δεν αντιδράσουμε έγκαιρα.
29 Ιουνίου 2001
Μοναχός Πρόδρομος της Ιεράς Μονής Γρηγορίου Αγίου Όρους
με την συνεργασία της ομάδας του παρόντος site: http://iraklios.ath.cx
πηγή : http://www.agioros.com/iraklios/bar.code/3tech.anal.htm