Berger code
ದೂರಸಂಪರ್ಕದಲ್ಲಿ, ಬರ್ಗರ್ ಸಂಕೇತವು ಏಕಮುಖ ದೋಷವನ್ನು ಪತ್ತೆಹಚ್ಚುವ ಸಂಕೇತವಾಗಿದೆ, ಇದನ್ನು ಅದರ ಸಂಶೋಧಕ ಜೆ. ಎಂ. ಬರ್ಗರ್ ಅವರ ಹೆಸರನ್ನು ಇಡಲಾಗಿದೆ. ಬರ್ಗರ್ ಸಂಕೇತಗಳು ಎಲ್ಲಾ ಏಕ ದಿಕ್ಕಿನ ದೋಷಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಬಲ್ಲವು. ಏಕ ದಿಕ್ಕಿನ ದೋಷಗಳು ಎಂದರೆ ಅಸಮಪಾರ್ಶ್ವ ವಾಹಿನಿಗಳಲ್ಲಿರುವಂತಹ ದೋಷಗಳನ್ನು ಕೇವಲ ಶೂನ್ಯಗಳಾಗಿ ಅಥವಾ ಕೇವಲ ಶೂನ್ಯಗಳಾಗಿ ಪರಿವರ್ತಿಸುವ ದೋಷಗಳು. ಬರ್ಗರ್ ಸಂಕೇತಗಳ ಚೆಕ್ ಬಿಟ್ಗಳನ್ನು ಮಾಹಿತಿ ಪದದಲ್ಲಿನ ಎಲ್ಲಾ ಶೂನ್ಯಗಳನ್ನು ಎಣಿಸುವ ಮೂಲಕ ಮತ್ತು ಆ ಸಂಖ್ಯೆಯನ್ನು ನೈಸರ್ಗಿಕ ದ್ವಿಮಾನದಲ್ಲಿ ವ್ಯಕ್ತಪಡಿಸುವ ಮೂಲಕ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ. ಮಾಹಿತಿ ಪದವು ಬಿಟ್ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಬರ್ಗರ್ ಕೋಡ್ಗೆ "ಚೆಕ್ ಬಿಟ್ಗಳು" ಬೇಕಾಗುತ್ತವೆ, ಇದು ಕೆ + ಎನ್ ಉದ್ದದ ಬರ್ಗರ್ ಕೋಡ್ ಅನ್ನು ನೀಡುತ್ತದೆ. (ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಮಾಹಿತಿ ಬಿಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಚೆಕ್ ಬಿಟ್ಗಳು ಸಾಕಾಗುತ್ತವೆ). ಒಂದೇ ಕೋಡ್ ವರ್ಡ್ನಲ್ಲಿ ಯಾವುದೇ ಶೂನ್ಯದಿಂದ ಒಂದು ದೋಷಗಳು ಸಂಭವಿಸದಿರುವವರೆಗೆ, ಬರ್ಗರ್ ಕೋಡ್ಗಳು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಒಂದರಿಂದ ಶೂನ್ಯ ಬಿಟ್-ಫ್ಲಿಪ್ ದೋಷಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಬಹುದು. ಅಂತೆಯೇ, ಅದೇ ಕೋಡ್ ವರ್ಡ್ನಲ್ಲಿ ಒಂದರಿಂದ ಶೂನ್ಯ ಬಿಟ್-ಫ್ಲಿಪ್ ದೋಷಗಳು ಸಂಭವಿಸದಿರುವವರೆಗೆ, ಬರ್ಗರ್ ಕೋಡ್ಗಳು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಶೂನ್ಯದಿಂದ ಒಂದು ಬಿಟ್-ಫ್ಲಿಪ್ ದೋಷಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಬಹುದು. ಬರ್ಗರ್ ಸಂಕೇತಗಳು ಯಾವುದೇ ದೋಷವನ್ನು ಸರಿಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಕೋಡ್ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವ ಎಲ್ಲಾ ಏಕ ದಿಕ್ಕಿನ ದೋಷಗಳಂತೆ, ವಿಳಂಬ-ಸೂಕ್ಷ್ಮವಲ್ಲದ ಸರ್ಕ್ಯೂಟ್ಗಳಲ್ಲಿ ಬರ್ಗರ್ ಕೋಡ್ಗಳನ್ನು ಸಹ ಬಳಸಬಹುದು. ಮೇಲೆ ತಿಳಿಸಿದಂತೆ, ಬರ್ಗರ್ ಸಂಕೇತಗಳು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಏಕ ದಿಕ್ಕಿನ ದೋಷಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತವೆ. ಒಂದು ನಿರ್ದಿಷ್ಟ ಕೋಡ್ ಪದಕ್ಕೆ, 1 ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರುವ ಕೆಲವು (ಅಥವಾ ಎಲ್ಲಾ) ಬಿಟ್ಗಳು 0 ಮೌಲ್ಯಕ್ಕೆ ಬದಲಾದರೆ ಮಾತ್ರ ದೋಷಗಳು ಸಂಭವಿಸಿದರೆ, ಈ ರೂಪಾಂತರವನ್ನು ಬರ್ಗರ್ ಕೋಡ್ ಅನುಷ್ಠಾನದಿಂದ ಪತ್ತೆಹಚ್ಚಲಾಗುತ್ತದೆ. ಏಕೆ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಅಂತಹ ಮೂರು ಪ್ರಕರಣಗಳಿವೆ ಎಂದು ಪರಿಗಣಿಸಿಃ ಕೋಡ್ ಪದದ ಮಾಹಿತಿ ಭಾಗದಲ್ಲಿನ ಕೆಲವು 1s ಬಿಟ್ 0s ಗೆ ಬದಲಾಗಿದೆ. ಕೋಡ್ ಪದದ ಚೆಕ್ (ಅಥವಾ ಅನಗತ್ಯ) ಭಾಗದಲ್ಲಿರುವ ಕೆಲವು 1s ಬಿಟ್ಗಳು 0ಗಳಿಗೆ ಬದಲಾಗಿವೆ. ಮಾಹಿತಿ ಮತ್ತು ಚೆಕ್ ಭಾಗಗಳೆರಡರಲ್ಲೂ ಕೆಲವು 1s ಬಿಟ್ಗಳು 0ಗಳಿಗೆ ಬದಲಾಗಿವೆ. ಪ್ರಕರಣ 1ಕ್ಕೆ, ಮಾಹಿತಿ ವಿಭಾಗದಲ್ಲಿನ 0-ಮೌಲ್ಯದ ಬಿಟ್ಗಳ ಸಂಖ್ಯೆಯು, ದೋಷದ ವ್ಯಾಖ್ಯಾನದ ಪ್ರಕಾರ, ಹೆಚ್ಚಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ, ನಮ್ಮ ಬರ್ಗರ್ ಚೆಕ್ ಕೋಡ್ ದತ್ತಾಂಶದ ನಿಜವಾದ 0-ಬಿಟ್-ಎಣಿಕೆಗಿಂತ ಕಡಿಮೆಯಿರುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಚೆಕ್ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ. ಪ್ರಕರಣ 2 ಕ್ಕೆ, ಮಾಹಿತಿ ವಿಭಾಗದಲ್ಲಿನ 0-ಮೌಲ್ಯದ ಬಿಟ್ಗಳ ಸಂಖ್ಯೆಯು ಒಂದೇ ಆಗಿರುತ್ತದೆ, ಆದರೆ ಚೆಕ್ ಡೇಟಾದ ಮೌಲ್ಯವು ಬದಲಾಗಿದೆ. ಕೆಲವು 1 ಗಳು 0 ಗಳಾಗಿ ಮಾರ್ಪಟ್ಟಿವೆ ಎಂದು ನಮಗೆ ತಿಳಿದಿರುವುದರಿಂದ, ಆದರೆ ಯಾವುದೇ 0 ಗಳು 1 ಗಳಾಗಿ ಬದಲಾಗಿಲ್ಲ (ಈ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು ದೋಷ ಮಾದರಿಯನ್ನು ಹೇಗೆ ವ್ಯಾಖ್ಯಾನಿಸಿದೆವು), ಚೆಕ್ ಡೇಟಾದ ಎನ್ಕೋಡ್ ಮಾಡಲಾದ ಬೈನರಿ ಮೌಲ್ಯವು ಕಡಿಮೆಯಾಗುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಬೈನರಿ 1011 ರಿಂದ 1010, ಅಥವಾ 1001, ಅಥವಾ 0011). ಮಾಹಿತಿಯ ದತ್ತಾಂಶವು ಒಂದೇ ಆಗಿರುವುದರಿಂದ, ಅದು ಮೊದಲು ಮಾಡಿದ ಅದೇ ಸಂಖ್ಯೆಯ ಶೂನ್ಯಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಅದು ಇನ್ನು ಮುಂದೆ ರೂಪಾಂತರಿತ ಚೆಕ್ ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ. ಕೇಸ್ 3ರಲ್ಲಿ, ಮಾಹಿತಿ ಮತ್ತು ಚೆಕ್ ವಿಭಾಗಗಳೆರಡರಲ್ಲೂ ಬಿಟ್ಗಳು ಬದಲಾಗಿರುವಲ್ಲಿ, ಕೇಸ್ 1ರಲ್ಲಿ ವಿವರಿಸಿದಂತೆ ಮಾಹಿತಿ ವಿಭಾಗದಲ್ಲಿನ ಸೊನ್ನೆಗಳ ಸಂಖ್ಯೆ ಹೆಚ್ಚಾಗಿದೆ ಮತ್ತು ಕೇಸ್ 2ರಲ್ಲಿ ವಿವರಿಸಿದಂತೆ ಚೆಕ್ ಭಾಗದಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಬೈನರಿ ಮೌಲ್ಯವು ಕಡಿಮೆಯಾಗಿದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಆದ್ದರಿಂದ, ಇವೆರಡೂ ವಿಭಿನ್ನವಾದ ಮಾನ್ಯ ಕೋಡ್ ಪದವಾಗುವ ರೀತಿಯಲ್ಲಿ ರೂಪಾಂತರಗೊಳ್ಳುವ ಯಾವುದೇ ಅವಕಾಶವಿಲ್ಲ. ಇದೇ ರೀತಿಯ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಮಾಡಬಹುದು, ಮತ್ತು ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಮಾನ್ಯವಾಗಿರುತ್ತದೆ, ಕೆಲವು 0-ಮೌಲ್ಯದ ಬಿಟ್ಗಳು 1ಕ್ಕೆ ಬದಲಾಗುವುದರಿಂದ ಮಾತ್ರ ದೋಷಗಳು ಸಂಭವಿಸುತ್ತವೆ. ಆದ್ದರಿಂದ, ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಂಕೇತಪದದಲ್ಲಿ ಸಂಭವಿಸುವ ಎಲ್ಲಾ ದೋಷಗಳು ಒಂದೇ ದಿಕ್ಕಿನಲ್ಲಿ ಸಂಭವಿಸಿದರೆ, ಈ ದೋಷಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗುತ್ತದೆ. ಮುಂದಿನ ಕೋಡ್ ಪದವನ್ನು ರವಾನಿಸಲು (ಉದಾಹರಣೆಗೆ), ದೋಷಗಳು ವಿರುದ್ಧ ದಿಕ್ಕಿನಲ್ಲಿ ಹೋಗಬಹುದು, ಮತ್ತು ಅವೆಲ್ಲವೂ ಪರಸ್ಪರ ಒಂದೇ ದಿಕ್ಕಿನಲ್ಲಿ ಹೋಗುವವರೆಗೆ ಅವುಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗುತ್ತದೆ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಏಕ ದಿಕ್ಕಿನ ದೋಷಗಳು ಸಾಮಾನ್ಯವಾಗಿರುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ಫ್ಲಾಶ್ ಮೆಮೊರಿಯಲ್ಲಿ, ಬಿಟ್ಗಳನ್ನು 1ಕ್ಕೆ ಮರುಹೊಂದಿಸುವುದಕ್ಕಿಂತ ಸುಲಭವಾಗಿ 0ಗೆ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಬಹುದು. ಸುಭಾಶಿಶ್ ಮಿತ್ರಾ ಮತ್ತು ಎಡ್ವರ್ಡ್ ಜೆ. ಮೆಕ್ಲೂಸ್ಕಿಯ ಉಲ್ಲೇಖಗಳು, "ಯಾವ ಸಮವರ್ತಿ ದೋಷ ಪತ್ತೆ ಯೋಜನೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕು? ", ಸೆಂಟರ್ ಫಾರ್ ರಿಲಯಬಲ್ ಕಂಪ್ಯೂಟಿಂಗ್, ಸ್ಟ್ಯಾನ್ಫೋರ್ಡ್ ವಿಶ್ವವಿದ್ಯಾಲಯ, 2000. ಕೋಡಿಂಗ್ ಸಿದ್ಧಾಂತ ದೋಷ ಪತ್ತೆ ಮತ್ತು ತಿದ್ದುಪಡಿ