Berger code
ટેલિકોમ્યુનિકેશનમાં, બર્જર કોડ એ એક દિશાત્મક ભૂલ શોધવાનો કોડ છે, જેનું નામ તેના શોધક જે. એમ. બર્જરના નામ પરથી રાખવામાં આવ્યું છે. બર્જર કોડ તમામ એકદિશાત્મક ભૂલોને શોધી શકે છે. એકદિશાત્મક ભૂલો એ ભૂલો છે જે માત્ર એકને શૂન્યમાં ફેરવે છે અથવા માત્ર શૂન્યને શૂન્યમાં ફેરવે છે, જેમ કે અસમપ્રમાણતાવાળી ચેનલોમાં. બર્જર કોડના ચેક બિટ્સની ગણતરી માહિતી શબ્દમાં તમામ શૂન્યની ગણતરી કરીને અને તે સંખ્યાને કુદરતી દ્વિસંગીમાં વ્યક્ત કરીને કરવામાં આવે છે. જો માહિતી શબ્દમાં બિટ્સ હોય, તો બર્જર કોડને "ચેક બિટ્સ" ની જરૂર છે, જે લંબાઈ k + n નો બર્જર કોડ આપે છે. (બીજા શબ્દોમાં કહીએ તો, ચેક બિટ્સ માહિતી બિટ્સ સુધી તપાસ કરવા માટે પૂરતા છે). જ્યાં સુધી એક જ કોડ શબ્દમાં કોઈ શૂન્ય-થી-એક ભૂલો ન થાય ત્યાં સુધી બર્જર કોડ કોઈપણ સંખ્યામાં એક-થી-શૂન્ય બીટ-ફ્લિપ ભૂલોને શોધી શકે છે. તેવી જ રીતે, બર્જર કોડ્સ કોઈપણ સંખ્યામાં શૂન્ય-થી-એક બિટ-ફ્લિપ ભૂલોને શોધી શકે છે, જ્યાં સુધી એક જ કોડ વર્ડમાં એક-થી-શૂન્ય બિટ-ફ્લિપ ભૂલો ન થાય. બર્જર કોડ કોઈપણ ભૂલને સુધારી શકતા નથી. કોડ્સ શોધતી તમામ એકદિશાત્મક ભૂલની જેમ, બર્જર કોડ્સનો ઉપયોગ વિલંબ-અસંવેદનશીલ સર્કિટમાં પણ થઈ શકે છે. એકદિશાત્મક ભૂલ શોધ ઉપર જણાવ્યા મુજબ, બર્જર કોડ કોઈપણ સંખ્યામાં એકદિશાત્મક ભૂલોને શોધી કાઢે છે. આપેલ કોડ શબ્દ માટે, જો માત્ર ભૂલો આવી છે કે મૂલ્ય 1 સાથે કેટલાક (અથવા બધા) બિટ્સ મૂલ્ય 0 માં બદલાઈ ગયા છે, તો પછી આ પરિવર્તન બર્જર કોડ અમલીકરણ દ્વારા શોધી કાઢવામાં આવશે. શા માટે તે સમજવા માટે, ધ્યાનમાં લો કે આવા ત્રણ કિસ્સાઓ છેઃ કોડ શબ્દના માહિતી ભાગમાં કેટલાક 1s બીટ 0 માં બદલાઈ ગયા છે. કોડ શબ્દના ચેક (અથવા બિનજરૂરી) ભાગમાં કેટલાક 1s બિટ્સ 0 માં બદલાઈ ગયા છે. માહિતી અને તપાસ બંને ભાગોમાં કેટલાક 1s બિટ્સ 0 માં બદલાઈ ગયા છે. કેસ 1 માટે, માહિતી વિભાગમાં 0-મૂલ્યવાન બિટ્સની સંખ્યા, ભૂલની વ્યાખ્યા દ્વારા વધશે. તેથી, આપણો બર્જર ચેક કોડ ડેટા માટે વાસ્તવિક 0-બીટ-ગણતરી કરતા ઓછો હશે, અને તેથી ચેક નિષ્ફળ જશે. કેસ 2 માટે, માહિતી વિભાગમાં 0-મૂલ્યવાન બિટ્સની સંખ્યા સમાન રહી છે, પરંતુ ચેક ડેટાનું મૂલ્ય બદલાઈ ગયું છે. આપણે જાણીએ છીએ કે કેટલાક 1s ને 0s માં ફેરવવામાં આવ્યા છે, પરંતુ કોઈ 0s ને 1s માં ફેરવવામાં આવ્યા નથી (આ રીતે આપણે આ કિસ્સામાં ભૂલ મોડેલને વ્યાખ્યાયિત કર્યું છે), ચેક ડેટાનું એન્કોડેડ દ્વિસંગી મૂલ્ય નીચે જશે (દા. ત., દ્વિસંગી 1011 થી 1010, અથવા 1001, અથવા 0011). માહિતીનો ડેટા એ જ રહ્યો હોવાથી, તેમાં અગાઉ જેટલા શૂન્ય હતા તેટલા જ શૂન્ય છે, અને તે હવે પરિવર્તિત ચેક મૂલ્ય સાથે મેળ ખાશે નહીં. કેસ 3 માટે, જ્યાં માહિતી અને ચેક વિભાગો બંનેમાં બિટ્સ બદલાયા છે, નોંધ લો કે કેસ 1 માટે વર્ણવ્યા મુજબ માહિતી વિભાગમાં શૂન્યની સંખ્યા વધી છે, અને કેસ 2 માટે વર્ણવ્યા મુજબ ચેક ભાગમાં સંગ્રહિત દ્વિસંગી મૂલ્ય ઘટી ગયું છે. તેથી, એવી કોઈ શક્યતા નથી કે બંને એક અલગ માન્ય કોડ શબ્દ બનવા માટે એવી રીતે પરિવર્તન કરશે. સમાન વિશ્લેષણ કરી શકાય છે, અને તે સંપૂર્ણપણે માન્ય છે, તે કિસ્સામાં જ્યાં માત્ર ભૂલો થાય છે તે છે કે કેટલાક 0-મૂલ્યના બિટ્સ 1 માં બદલાય છે. તેથી, જો કોઈ ચોક્કસ કોડવર્ડ પર થતી બધી ભૂલો એક જ દિશામાં થાય, તો આ ભૂલો શોધી કાઢવામાં આવશે. આગામી કોડ શબ્દ પ્રસારિત થવા માટે (દાખલા તરીકે), ભૂલો વિરુદ્ધ દિશામાં જઈ શકે છે, અને જ્યાં સુધી તે બધા એકબીજાની સમાન દિશામાં જાય ત્યાં સુધી તે હજુ પણ શોધી કાઢવામાં આવશે. અમુક પરિસ્થિતિઓમાં એક દિશાની ભૂલો સામાન્ય છે. દાખલા તરીકે, ફ્લેશ મેમરીમાં, બિટ્સને 1 પર રીસેટ કરી શકાય તેના કરતાં વધુ સરળતાથી 0 પર પ્રોગ્રામ કરી શકાય છે. સંદર્ભો સુભાશીષ મિત્રા અને એડવર્ડ જે. મેકક્લુસ્કી, "કઈ સહવર્તી ભૂલ શોધ યોજના પસંદ કરવી? ", સેન્ટર ફોર રિલાઇબલ કમ્પ્યુટિંગ, સ્ટેનફોર્ડ યુનિવર્સિટી, 2000. કોડિંગ સિદ્ધાંત ભૂલ શોધ અને સુધારણા