๊ด€๋ฆฌ ๋ฉ”๋‰ด

Unfazedโ—๏ธ๐ŸŽฏ

๋ฐ์ดํ„ฐ ์ „์†ก - ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๊ธฐ๋ฒ• ๋ณธ๋ฌธ

Network (๋„คํŠธ์›Œํฌ)/Mobile Network (๋ชจ๋ฐ”์ผ๋„คํŠธ์›Œํฌ)

๋ฐ์ดํ„ฐ ์ „์†ก - ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๊ธฐ๋ฒ•

9taetae9 2024. 11. 13. 13:47
728x90

ํ”„๋ ˆ์ž„ ์ „์†ก ๊ณผ์ •์˜ ์˜ค๋ฅ˜๋ฅผ ๊ทน๋ณตํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•

1) ์ „์†ก ํ”„๋ ˆ์ž„์— ์˜ค๋ฅ˜ ๊ฒ€์ถœ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ํ˜ธ์ŠคํŠธ๊ฐ€ ์ „์†ก ๊ณผ์ •์˜ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœ

์ฃผ๋กœ ์žฌ์ „์†ก์œผ๋กœ ์ด๋ฃจ์–ด์ง. ex) ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ, ๋‹คํ•ญ ์ฝ”๋“œ ๋ฐฉ์‹

๋„คํŠธ์›Œํฌ์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์žฌ์ „์†ก ๋ฐฉ์‹์„ ์ด์šฉํ•ด ์˜ค๋ฅ˜๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ์—ญ๋ฐฉํ–ฅ ์˜ค๋ฅ˜ ๋ณต๊ตฌ(BEC, Backward Error Correction), ARQ(Automatic Repeat reQuest)๋ฐฉ์‹์„ ์ด์šฉํ•œ๋‹ค.

 

2) ์ „์†ก ํ”„๋ ˆ์ž„์— ์˜ค๋ฅ˜ ๋ณต๊ตฌ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๊ฐ€ ์˜ค๋ฅ˜ ๊ฒ€์ถœ๊ณผ ๋ณต๊ตฌ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์ˆ˜ํ–‰

์˜ค๋ฅ˜ ๋ณต๊ตฌ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๊ฐ€ ์˜ค๋ฅ˜ ๋ณต๊ตฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์„ ์ˆœ๋ฐฉํ–ฅ ์˜ค๋ฅ˜ ๋ณต๊ตฌ(FEC, Forward Error Correction)๋ผ ํ•จ

ex) ํ•ด๋ฐ ์ฝ”๋“œ(Hamming Code)์—๋Š” 1 ๋น„ํŠธ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜๊ณ  ๋ณต๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Œ

 

์˜ค๋ฅ˜ ๊ฒ€์ถœ

๋„คํŠธ์›Œํฌ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด์šฉํ•˜๋Š” ์—ญ๋ฐฉํ–ฅ ์˜ค๋ฅ˜ ๋ณต๊ตฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ˆ˜์‹ ํ•œ ํ”„๋ ˆ์ž„์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ ์†ก์‹  ํ˜ธ์ŠคํŠธ๋Š” ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ „์†ก ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์†ก์‹ ํ•ด์•ผ ํ•œ๋‹ค.

์˜ค๋ฅ˜ ๊ฒ€์ถœ ์ฝ”๋“œ๋Š” ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ, ๋ธ”๋ก ๊ฒ€์‚ฌ, ๋‹คํ•ญ ์ฝ”๋“œ ๋“ฑ์„ ์ด์šฉํ•ด ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ(Parity bit)

1๋ฐ”์ดํŠธ ๊ตฌ์กฐ์—์„œ ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋Š” 7๋น„ํŠธ์˜ ASCII ์ฝ”๋“œ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ 1 ๋น„ํŠธ์ด๋‹ค. ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋Š” ์ „์†ก ๊ณผ์ •์—์„œ 1๋น„ํŠธ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋ฅผ ํฌํ•จํ•ด 1์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜๋‚˜ ํ™€์ˆ˜ ๊ฐœ๊ฐ€ ๋˜๋„๋ก ํ•œ๋‹ค.

ex) 1101001 ์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ˆ˜ ํŒจ๋ฆฌํ‹ฐ(even parity)๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ์ „์†กํ•˜๋ ค๋ฉด 11010010์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ์ „์†กํ•œ๋‹ค. ์ฆ‰, ์ง์ˆ˜ ํŒจ๋ฆฌํ‹ฐ ๋ฐฉ์‹์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๋์— ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ „์ฒด 1์˜ ๊ฐœ์ˆ˜๋ฅผ ์ง์ˆ˜๋กœ ๋งŒ๋“ ๋‹ค. ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๋Š” 1์˜ ๊ฐœ์ˆ˜๋ฅผ ํŒ๋‹จํ•˜์—ฌ ํ™€์ˆ˜์ผ ๊ฒฝ์šฐ ์ „์†ก ์˜ค๋ฅ˜๋กœ ํŒ๋‹จํ•˜์—ฌ ์†ก์‹  ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์žฌ์ „์†ก์„ ์š”๊ตฌํ•œ๋‹ค.

ํ™€์ˆ˜ ํŒจ๋ฆฌํ‹ฐ(odd parity) ๋ฐฉ์‹์€ 1์˜ ๊ฐœ์ˆ˜๋ฅผ ํ™€์ˆ˜๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๊ณ  ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๋Š” 1์ด ํ™€์ˆ˜ ๊ฐœ์ธ์ง€ ํŒ๋‹จํ•œ๋‹ค. 

์†ก์‹ ํ˜ธ์ŠคํŠธ์™€ ์ˆ˜์‹ ํ˜ธ์ŠคํŠธ๋Š” ์ง์ˆ˜ ํŒจ๋ฆฌํ‹ฐ๋‚˜ ํ™€์ˆ˜ ํŒจ๋ฆฌํ‹ฐ ์ค‘ ๋™์ผํ•œ ํ•œ๊ฐ€์ง€ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

 

ํŒจ๋ฆฌํ‹ฐ ๋ฐฉ์‹์€ 1 ๋น„ํŠธ ์˜ค๋ฅ˜์— ๊ฐ„๋‹จํžˆ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ์ง์ˆ˜๊ฐœ์˜ ๋น„ํŠธ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๊ฒ€์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. 

 

 

๋ธ”๋ก ๊ฒ€์‚ฌ(Block Sum Check)

๋‹ค์ˆ˜์˜ ๋น„ํŠธ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด ๋ฐฉ์‹์—์„œ๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ”์ดํŠธ๋ฅผ ํ•˜๋‚˜์˜ ๋ธ”๋ก์œผ๋กœ ๊ตฌ์„ฑํ•œ ํ›„ ๊ต์ฐจ ๊ฒ€์‚ฌ๋ฅผ ํ•œ๋‹ค. ์ฆ‰, ๋ธ”๋ก ๋ฐ์ดํ„ฐ์˜ ์ˆ˜ํ‰๊ณผ ์ˆ˜์ง ๋ฐฉํ–ฅ์— ๋ชจ๋‘ ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋ฅผ ๋‘ ์œผ๋กœ์จ ์ง์ˆ˜ ๊ฐœ์˜ ์˜ค๋ฅ˜ ๊ฒ€์ถœ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์˜ค๋ฅธ์ชฝ์— ํ‘œ์‹œํ•œ ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋Š” ์ˆ˜ํ‰ ๋ฐฉํ–ฅ์œผ๋กœ ์ง์ˆ˜ ํŒจ๋ฆฌํ‹ฐ๋ฅผ, ์•„๋ž˜์ชฝ์— ๋ธ”๋ก ๊ฒ€์‚ฌ ๋น„ํŠธ๋กœ ํ‘œ์‹œํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ˆ˜์ง ๋ฐฉํ–ฅ์œผ๋กœ ์ง์ˆ˜ ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋ฅผ ์ ์šฉํ•œ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ˆ˜ํ‰ ๋ฐฉํ–ฅ์œผ๋กœ ์ง์ˆ˜ ๊ฐœ์˜ ๋น„ํŠธ๊ฐ€ ๊นจ์ง€๋ฉด ์ˆ˜์ง ๋ฐฉํ–ฅ์˜ ๋ธ”๋ก ๊ฒ€์‚ฌ ๋น„ํŠธ๋กœ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜๊ณ , ์ˆ˜์ง ๋ฐฉํ–ฅ์œผ๋กœ ์ง์ˆ˜ ๊ฐœ์˜ ๋น„ํŠธ๊ฐ€ ๊นจ์ง€๋ฉด ์ˆ˜ํ‰ ๋ฐฉํ–ฅ์˜ ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ๋กœ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋ธ”๋ก ๊ฒ€์‚ฌ์˜ ๋ฌธ์ œ์ ์€ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘๊ณผ ๋น„๊ตํ•ด ์˜ค๋ฅ˜ ๊ฒ€์ถœ์„ ์œ„ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ, ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ˆ˜ํ‰ ์ˆ˜์ง ๋ฐฉํ–ฅ์—์„œ ๋ชจ๋‘ ์‚ฌ๊ฐํ˜• ํ˜•ํƒœ๋กœ ์ง์ˆ˜ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜์ง€ ๋ชปํ•œ๋‹ค.

๋ธ”๋ก ๊ฒ€์‚ฌ์˜ ํ•œ๊ณ„

 

๋‹คํ•ญ ์ฝ”๋“œ(Polynomial Code),(CRC, Cyclic Redundancy Code) 

๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๊ธฐ๋ฒ•์œผ๋กœ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋Š” ํŠน์ • ์œ„์น˜์—์„œ ์ง‘์ค‘์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„์ŠคํŠธ ์—๋Ÿฌ(Burst Error) ํ˜•ํƒœ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ, ๋‹คํ•ญ ์ฝ”๋“œ ๋ฐฉ์‹์€ ์ด๋Ÿฐ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•  ํ™•๋ฅ ์ด ๋†’๋‹ค.

 

์ƒ์„ฑ ๋‹คํ•ญ์‹

๋‹คํ•ญ ์ฝ”๋“œ ๋ฐฉ์‹์€ ๊ณ„์ˆ˜๊ฐ€ 0๊ณผ 1์ธ ๋‹คํ•ญ์‹ ํ˜•ํƒœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•จ

 

  • ์ด์ง„์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹คํ•ญ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰
  • ์˜ˆ: 101101 → xโต + x³ + x² + 1 (๊ฐ 1์ด ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ง€์ˆ˜๋กœ ํ‘œํ˜„)

์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ

  • M(x): m๋น„ํŠธ ๊ธธ์ด์˜ ์›๋ž˜ ๋ฐ์ดํ„ฐ
  • G(x): n+1๋น„ํŠธ ๊ธธ์ด์˜ ์ƒ์„ฑ ๋‹คํ•ญ์‹
  • ์ฒดํฌ์„ฌ: n๋น„ํŠธ ๊ธธ์ด์˜ ์˜ค๋ฅ˜ ๊ฒ€์ถœ ์ฝ”๋“œ

์ฒดํฌ์„ฌ ๊ณ„์‚ฐ ๊ณผ์ • (์†ก์‹  ์ธก)

Step 1) ๋ฐ์ดํ„ฐ ์ค€๋น„

- ์›๋ณธ ๋ฐ์ดํ„ฐ M(x) ๋’ค์— n๋น„ํŠธ์˜ 0์„ ์ถ”๊ฐ€

- n์€ ์ƒ์„ฑ ๋‹คํ•ญ์‹์˜ ์ฐจ์ˆ˜

 

Step 2) ๋ชจ๋“ˆ๋กœ-2 ๋‚˜๋ˆ—์…ˆ ์ˆ˜ํ–‰

- ํ™•์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ G(x)๋กœ ๋‚˜๋ˆ”

- ๋‚˜๋จธ์ง€๊ฐ€ ์ฒดํฌ์„ฌ์ด ๋จ

 

Step 3) ์ „์†ก ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

- ์›๋ณธ ๋ฐ์ดํ„ฐ + ์ฒดํฌ์„ฌ

 

๋ชจ๋“ˆ๋กœ-2 ์—ฐ์‚ฐ์˜ ํŠน์ง•

  • ๋ง์…ˆ/๋บ„์…ˆ ์‹œ ์ž๋ฆฌ์˜ฌ๋ฆผ/์ž๋ฆฌ๋นŒ๋ฆผ ์—†์Œ
  • XOR ์—ฐ์‚ฐ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ
    • 1 ⊕ 1 = 0
    • 1 ⊕ 0 = 1
    • 0 ⊕ 1 = 1
    • 0 ⊕ 0 = 0

์˜ˆ)

์ƒ์„ฑ ๋‹คํ•ญ์‹ G(x) = xโต + x² + 1 (100101) => 6๋น„ํŠธ ์ƒ์„ฑ ๋‹คํ•ญ์‹ 

์›๋ž˜ ๋ฐ์ดํ„ฐ = 101101001

 

๊ณ„์‚ฐ ๊ณผ์ •

1) ์›๋ณธ ๋ฐ์ดํ„ฐ์— 0 ์ถ”๊ฐ€ (5๋น„ํŠธ) 101101001 00000

2) ๋ชจ๋“ˆ๋กœ-2 ๋‚˜๋ˆ—์…ˆ ์ˆ˜ํ–‰ 101101001 00000 ÷ 100101 => XOR ์—ฐ์‚ฐ๊ณผ ๋™์ผ

3) ๋‚˜๋จธ์ง€(์ฒดํฌ์„ฌ) = 00010

4) ์ตœ์ข… ์ „์†ก ๋ฐ์ดํ„ฐ 101101001 00010

 

์ˆ˜์‹  ์ธก ๊ฒ€์ฆ ๊ณผ์ •

Step 1) ์ˆ˜์‹  ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ
- ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ G(x)๋กœ ๋‚˜๋ˆ”

Step 2) ๊ฒฐ๊ณผ ํŒ๋‹จ
- ๋‚˜๋จธ์ง€ = 0 → ์˜ค๋ฅ˜ ์—†์Œ
- ๋‚˜๋จธ์ง€ ≠ 0 → ์˜ค๋ฅ˜ ๋ฐœ์ƒ

Step 3-A) ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ
- ์ฒดํฌ์„ฌ ์ œ๊ฑฐ
- ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌ

Step 3-B) ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
- ๋ถ€์ • ์‘๋‹ต(NAK) ์ „์†ก
- ์žฌ์ „์†ก ์š”์ฒญ

 

์ฒดํฌ์„ฌ์€ ์˜ค๋ฅ˜ ๊ฒ€์ถœ๋งŒ ๊ฐ€๋Šฅ (์˜ค๋ฅ˜ ์ˆ˜์ •์€ ๋ถˆ๊ฐ€)

 

 

 

์ฐธ๊ณ  ์ž๋ฃŒ :

์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ ํ†ต์‹ ๊ณผ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ 3ํŒ - ๋ฐ•๊ธฐํ˜„ ์ง€์Œ

 

728x90