================================================================================
제5장: 무선 통신
================================================================================

[목차]

--------------------------------------------------------------------------------
5.1 체내 전송 기술
--------------------------------------------------------------------------------

체내에서 외부로 데이터를 전송하는 것은 스마트 알약의 가장 큰 기술적
도전 중 하나입니다.

[ID] 체내 통신 도전 과제:

    InBodyCommunicationChallenges {
      signalAttenuation: {
        description: "신체 조직에 의한 신호 감쇠"

        tissueProperties: {
          conductivity: {
            muscle:    "0.6 S/m"
            fat:       "0.04 S/m"
            bone:      "0.02 S/m"
            blood:     "0.7 S/m"
          }
          permittivity: {
            frequency_dependent: "높은 주파수 → 높은 손실"
          }
        }

        attenuationFactors: {
          frequency: {
            low_mhz:   "10-50 dB 손실"
            high_ghz:  "50-100+ dB 손실"
            optimal:   "10-500 MHz (낮은 감쇠)"
          }

          depth: {
            stomach:   "5-15 cm (복벽까지)"
            intestine: "10-20 cm"
            colon:     "15-25 cm"
          }

          bodyComposition: {
            lean:      "낮은 감쇠"
            obese:     "높은 감쇠 (지방층)"
            factor:    "10-30 dB 차이"
          }
        }

        strategies: [
          "최적 주파수 선택",
          "고효율 안테나 설계",
          "적응형 전력 제어",
          "오류 정정 코딩"
        ]
      }

      antennaConstraints: {
        sizeVsEfficiency: {
          ideal:       "λ/4 (파장의 1/4)"
          at_400mhz:   "λ/4 = 18.75 cm (불가능)"
          capsule:     "< 3 cm"
          compromise:  "효율 < 1% (극도로 낮음)"
        }

        miniaturization: {
          techniques: [
            "고유전율 기판 (세라믹)",
            "미앤더링 (구불구불한 경로)",
            "패치 안테나",
            "루프 안테나",
            "나선형 안테나"
          ]
          tradeoff:    "크기 ↓ → 효율 ↓, 대역폭 ↓"
        }

        impedanceMatching: {
          challenge:   "조직 임피던스 가변"
          solution:    "광대역 매칭 네트워크"
        }
      }

      powerConstraints: {
        batteryLimited: {
          capacity:    "10-100 mAh"
          txPower:     "< 1-10 mW (대부분 < 1 mW)"
          dutyCycle:   "< 1-5% (배터리 수명 위해)"
        }

        regulatoryLimits: {
          eirp: {
            name:      "유효등방성복사전력"
            mics:      "25 μW (402-405 MHz)"
            ism:       "가변 (주파수 대역에 따라)"
          }
          sar: {
            name:      "비흡수율"
            limit:     "1.6 W/kg (1g 평균)"
            concern:   "낮은 전력에서 무시 가능"
          }
        }
      }

      mobility: {
        capsuleMovement: {
          rotation:    "연동 운동에 의한 회전"
          translation: "위치 변화"
          impact:      "안테나 패턴, 링크 변동"
        }

        patientMovement: {
          walking:     "수신기-캡슐 거리 변화"
          bodyPosture: "조직 경로 변화"
          mitigation:  "다이버시티, 적응형 전력"
        }
      }
    }

[ID] 무선 기술:

    WirelessTechnologies {
      mics: {
        fullName:    "Medical Implant Communication Service"
        frequency:   "402-405 MHz"
        bandwidth:   "300 kHz"

        advantages: [
          "의료 기기 전용 (간섭 적음)",
          "우수한 조직 투과",
          "전 세계 규제 승인",
          "낮은 전력 소비"
        ]

        disadvantages: [
          "낮은 데이터 속도 (< 400 kbps)",
          "제한된 EIRP (25 μW)",
          "짧은 범위 (< 2m)"
        ]

        applications: [
          "심박 조율기",
          "이식형 센서",
          "스마트 알약 (센서 데이터)"
        ]

        dataRate: {
          typical:     "100-400 kbps"
          sufficient:  "센서 데이터 (kbps 수준)"
          insufficient: "이미징 (Mbps 필요)"
        }
      }

      ism: {
        fullName:    "Industrial, Scientific, Medical"
        bands: {
          "433mhz": {
            frequency:  "433.05-434.79 MHz"
            advantages: "좋은 투과, 낮은 감쇠"
            use:        "유럽 주로"
          }

          "915mhz": {
            frequency:  "902-928 MHz"
            advantages: "더 작은 안테나"
            disadvantages: "더 높은 감쇠"
            use:        "북미"
          }

          "2.4ghz": {
            frequency:  "2400-2483.5 MHz"
            advantages: [
              "전 세계 사용 가능",
              "높은 데이터 속도",
              "표준 프로토콜 (BLE, Zigbee)"
            ]
            disadvantages: [
              "높은 조직 감쇠 (30-50 dB)",
              "혼잡한 대역 (WiFi, BT)",
              "더 높은 전력 소비"
            ]
            dataRate:   "250 kbps - 2 Mbps"
          }
        }
      }

      ultrawideband: {
        abbreviation: "UWB"
        frequency:    "3.1-10.6 GHz"
        bandwidth:    "매우 넓음 (> 500 MHz)"

        advantages: [
          "정밀한 위치 추적 (cm 수준)",
          "높은 데이터 속도 (Mbps)",
          "낮은 스펙트럼 밀도 (간섭 ↓)"
        ]

        disadvantages: [
          "매우 높은 주파수 → 극심한 감쇠",
          "복잡한 회로",
          "높은 전력 (비교적)"
        ]

        feasibility:  "체내 통신에 제한적"
        research:     "피부 투과 응용 연구 중"
      }

      magneticInduction: {
        principle:    "자기 유도 (근거리장)"
        frequency:    "저주파 (< 1 MHz)"

        advantages: [
          "조직 감쇠에 거의 영향 없음",
          "물, 혈액 투과 우수",
          "신체 안전 (낮은 SAR)"
        ]

        disadvantages: [
          "매우 짧은 범위 (< 10 cm)",
          "큰 코일 필요 (mm-cm)",
          "낮은 데이터 속도 (< 1 Mbps)"
        ]

        applications: [
          "RFID 태그",
          "초근접 통신",
          "무선 전력 전송 (WPT)"
        ]

        smartPillUse:  "보조 채널 또는 WPT"
      }

      acousticCommunication: {
        principle:    "초음파 변조"
        frequency:    "20 kHz - 10 MHz"

        advantages: [
          "조직/액체 투과 우수",
          "낮은 전력 소비",
          "동시 이미징 + 통신 가능"
        ]

        disadvantages: [
          "음향 잡음 간섭",
          "다중 경로 (반사)",
          "조직 비균질성",
          "낮은 데이터 속도"
        ]

        research:     "수중 통신 응용 탐색 중"
        potential:    "스마트 알약 대안 채널"
      }

      galvanicCoupling: {
        principle:    "신체를 전도 매질로 사용"
        frequency:    "10 kHz - 1 MHz"

        advantages: [
          "극저전력",
          "신체 내 신호 제한 (보안)",
          "안테나 불필요"
        ]

        disadvantages: [
          "접촉 전극 필요",
          "매우 짧은 범위",
          "낮은 데이터 속도"
        ]

        application:  "체표 전극과 통신"
        smartPillFit: "제한적 (전극 배치 어려움)"
      }
    }

[ID] 프로토콜 스택:

    ProtocolStack {
      ble: {
        fullName:    "Bluetooth Low Energy"
        version:     "4.0 - 5.3"
        frequency:   "2.4 GHz ISM"

        characteristics: {
          dataRate:    "125 kbps - 2 Mbps"
          range:       "10-100m (공기 중)"
          latency:     "< 6 ms"
          power:       "초저전력 (μW-mW)"
        }

        modes: {
          advertising: {
            purpose:   "브로드캐스트 비콘"
            interval:  "20 ms - 10.24 s"
            payload:   "최대 31 바이트"
            power:     "매우 낮음"
          }

          connection: {
            purpose:   "양방향 데이터 교환"
            interval:  "7.5 ms - 4 s"
            throughput: "최대 1.4 Mbps (BLE 5)"
            power:     "더 높음 (연결 유지)"
          }
        }

        advantages: [
          "스마트폰 지원 보편적",
          "저전력",
          "표준화된 프로파일",
          "쉬운 개발"
        ]

        challenges: [
          "2.4 GHz 체내 감쇠",
          "연결 유지 전력",
          "간섭 (WiFi 등)"
        ]

        smartPillUse: {
          feasibility: "가능하지만 제한적"
          best:        "체표 근처 또는 외래 모니터링"
        }
      }

      zigbee: {
        standard:    "IEEE 802.15.4"
        frequency:   "2.4 GHz, 915 MHz, 868 MHz"

        characteristics: {
          dataRate:    "20-250 kbps"
          range:       "10-100m"
          topology:    "메시 네트워크"
          power:       "저전력"
        }

        advantages: [
          "메시 → 확장된 범위",
          "다중 주파수 대역",
          "신뢰성 (재전송)"
        ]

        smartPillUse:  "드물게 (BLE 선호)"
      }

      proprietaryProtocols: {
        description: "맞춤형 PHY/MAC 레이어"

        reasons: [
          "특정 요구사항 최적화",
          "지적 재산권",
          "기존 인프라와 통합"
        ]

        examples: {
          given Imaging: {
            device:    "PillCam"
            frequency: "430 MHz (유럽) / 434 MHz"
            dataRate:  "2.7 Mbps"
            purpose:   "비디오 스트리밍"
          }

          proteus: {
            device:    "Proteus Patch"
            method:    "체표 감지 (전기 신호)"
            wireless:  "BLE (패치 → 스마트폰)"
          }
        }

        tradeoffs: {
          advantages: [
            "최적 성능",
            "경쟁 우위"
          ]
          disadvantages: [
            "호환성 제한",
            "개발 비용",
            "규제 복잡성"
          ]
        }
      }

      errorCorrection: {
        importance:  "신뢰할 수 없는 채널 대응"

        fec: {
          fullName:  "Forward Error Correction"
          codes: [
            "Reed-Solomon",
            "Convolutional",
            "Turbo",
            "LDPC (저밀도 패리티 검사)"
          ]
          overhead:  "10-50% (코딩 비율에 따라)"
          benefit:   "재전송 없이 오류 수정"
        }

        arq: {
          fullName:  "Automatic Repeat Request"
          method:    "ACK/NACK 피드백"
          overhead:  "재전송 시간, 전력"
          benefit:   "높은 신뢰성"
        }

        hybrid: {
          name:      "HARQ (Hybrid ARQ)"
          combine:   "FEC + ARQ"
          strategy:  "FEC 먼저, 실패 시 재전송"
        }
      }
    }


--------------------------------------------------------------------------------
5.2 외부 수신기 시스템
--------------------------------------------------------------------------------

체내 송신기와 쌍을 이루는 외부 수신기는 데이터 수집의 핵심입니다.

[ID] 수신기 유형:

    ReceiverTypes {
      bodyWornReceiver: {
        formFactor:  "웨어러블 장치"

        designs: {
          belt: {
            description: "복부 벨트에 장착"
            antennas:    "다중 안테나 어레이"
            positioning: "캡슐 최대 근접"
            advantages: [
              "안정적인 위치",
              "좋은 신호 수신",
              "다이버시티 가능"
            ]
            disadvantages: [
              "환자 불편 (장시간)",
              "활동 제한"
            ]
          }

          patch: {
            description: "피부 부착 패치"
            size:        "5-10 cm"
            adhesive:    "의료용 접착제"
            advantages: [
              "편안함",
              "이산적 (눈에 띄지 않음)",
              "밀착 → 강한 신호"
            ]
            disadvantages: [
              "단일 위치 (다이버시티 제한)",
              "피부 자극 가능"
            ]
            example:     "Proteus Patch"
          }

          pendant: {
            description: "목걸이 또는 허리에 착용"
            advantages:  "편리함, 휴대 가능"
            disadvantages: "위치 변동, 약한 신호"
          }
        }

        components: {
          antenna: {
            type:      "패치, 루프, 또는 모노폴"
            diversity: "2-4 안테나 (최선 선택)"
          }

          receiver: {
            architecture: "슈퍼헤테로다인 또는 직접 변환"
            sensitivity:  "-90 to -110 dBm"
            selectivity:  "인접 채널 간섭 제거"
          }

          processor: {
            function: [
              "복조",
              "오류 정정",
              "데이터 디코딩",
              "타임스탬핑"
            ]
          }

          storage: {
            capacity:  "수 MB - GB (며칠 데이터)"
            type:      "플래시 메모리"
          }

          communication: {
            toSmartphone: "BLE 또는 USB"
            toCloud:      "셀룰러 (일부 모델)"
          }

          battery: {
            capacity:  "500-2000 mAh"
            life:      "24-72시간"
            recharge:  "USB"
          }
        }
      }

      smartphoneBased: {
        description: "스마트폰을 수신기로 사용"

        approaches: {
          directBLE: {
            condition:  "캡슐이 BLE 사용"
            method:     "스마트폰 네이티브 BLE"
            range:      "제한적 (체내 감쇠)"
            feasibility: "체표 근처만"
          }

          externalDongle: {
            description: "USB/Lightning 수신기 동글"
            function:    "특정 주파수 수신 → 스마트폰"
            example:     "SDR (Software Defined Radio) 동글"
          }

          gatewayDevice: {
            description: "중간 BLE 게이트웨이"
            flow:        "캡슐 → 게이트웨이 → BLE → 스마트폰"
            advantage:   "최적화된 수신 + 스마트폰 편의성"
          }
        }

        advantages: [
          "추가 하드웨어 최소화",
          "사용자 친숙성",
          "앱 생태계",
          "연결성 (클라우드 업로드)"
        ]

        app Functions: {
          dataCollection: "실시간 수신 및 저장"
          visualization:  "그래프, 추세"
          alerts:         "이상치 알림"
          diary:          "증상, 식사 기록"
          upload:         "클라우드 동기화"
        }
      }

      bedsideMonitor: {
        description: "침상 모니터 (병원 설정)"

        features: {
          continuous:  "24/7 모니터링"
          display:     "실시간 파형 표시"
          integration: "EMR (전자의무기록) 연결"
          alarms:      "임계값 초과 시 경보"
        }

        applications: [
          "중환자실 모니터링",
          "수술 후 회복",
          "임상 연구"
        ]
      }

      room levelReceivers: {
        description: "방 전체 커버리지"

        deployment: {
          ceiling:     "천장 장착 안테나"
          walls:       "벽면 분산 안테나"
          coordination: "다중 수신기 조정"
        }

        advantages: [
          "환자 이동 자유",
          "지속적 커버리지",
          "위치 추적 (삼각측량)"
        ]

        applications: [
          "병원 병동",
          "재활 센터",
          "장기 모니터링 시설"
        ]
      }
    }

[ID] 다이버시티 기법:

    DiversityTechniques {
      spatialDiversity: {
        description: "다중 안테나 공간 분산"

        method: {
          multiple_rx: "2-4 수신 안테나"
          spacing:     "> λ/2 (10-20 cm @ 400 MHz)"
          selection:   "최강 신호 선택"
        }

        benefit: {
          fading:      "다중 경로 페이딩 완화"
          improvement: "3-10 dB 신호 이득"
        }

        implementation: "웨어러블 벨트에 적용"
      }

      frequencyDiversity: {
        description: "다중 주파수 채널"

        method: {
          channels:    "2-3 주파수 (예: 433, 915 MHz)"
          selection:   "최적 채널 선택 또는 결합"
        }

        benefit:      "주파수 선택적 페이딩 회피"
        challenge:    "다중 RF 프론트엔드 필요"
      }

      timeDiversity: {
        description: "시간 간격을 두고 재전송"

        method: {
          repetition:  "동일 데이터 여러 번 전송"
          interval:    "수 ms - 초"
          combining:   "수신된 복사본 결합"
        }

        benefit:      "일시적 페이딩/간섭 극복"
        tradeoff:     "대역폭, 전력 소비 증가"
      }

      polarizationDiversity: {
        description: "다른 편파 안테나"

        method: {
          polarizations: "수직 + 수평"
          selection:     "더 강한 편파 선택"
        }

        benefit:       "편파 불일치 손실 감소"
        application:   "회전하는 캡슐에 유용"
      }
    }


--------------------------------------------------------------------------------
5.3 데이터 암호화 및 보안
--------------------------------------------------------------------------------

환자 건강 데이터의 프라이버시와 무결성은 필수적입니다.

[ID] 보안 위협:

    SecurityThreats {
      eavesdropping: {
        threat:      "무선 전송 도청"
        risk:        "민감한 건강 데이터 노출"
        attacker: {
          proximity:  "수신기 범위 내 (수 미터)"
          equipment:  "SDR, 스펙트럼 분석기"
          difficulty: "낮음-중간 (암호화 없으면 쉬움)"
        }
        mitigation: [
          "강력한 암호화",
          "짧은 범위 (근거리장)",
          "지향성 안테나"
        ]
      }

      tampering: {
        threat:      "데이터 변조"
        risk:        "잘못된 진단/치료"
        attack: {
          manInMiddle: "신호 가로채기 및 수정"
          replay:      "이전 데이터 재전송"
        }
        mitigation: [
          "메시지 인증 코드 (MAC)",
          "시퀀스 번호",
          "타임스탬프"
        ]
      }

      deviceImpersonation: {
        threat:      "가짜 캡슐/수신기"
        risk:        "잘못된 데이터 주입"
        mitigation: [
          "상호 인증",
          "고유 장치 ID",
          "인증서 기반 신뢰"
        ]
      }

      denial of service: {
        threat:      "서비스 거부"
        attack: {
          jamming:    "RF 재밍"
          flooding:   "과도한 패킷"
        }
        risk:        "데이터 손실, 진단 불가"
        mitigation: [
          "주파수 호핑",
          "스펙트럼 확산",
          "속도 제한",
          "재전송 메커니즘"
        ]
      }

      privacyViolation: {
        threat:      "개인정보 침해"
        risk:        "환자 신원 노출"
        regulation:  "HIPAA, GDPR"
        mitigation: [
          "익명화",
          "최소 데이터 전송",
          "동의 관리"
        ]
      }
    }

[ID] 암호화 방법:

    EncryptionMethods {
      symmetricEncryption: {
        description: "동일한 키로 암호화/복호화"

        algorithms: {
          aes: {
            fullName:   "Advanced Encryption Standard"
            keySize:    "128, 192, 256 bit"
            blockSize:  "128 bit"
            security:   "매우 높음 (AES-256)"
            performance: "하드웨어 가속 가능"
            overhead:   "낮음"
          }

          chacha20: {
            type:       "스트림 암호"
            keySize:    "256 bit"
            advantage:  "소프트웨어 구현 빠름"
            use:        "저전력 장치"
          }
        }

        keyManagement: {
          preShared: {
            method:     "제조 시 키 프로그래밍"
            advantage:  "간단"
            disadvantage: "키 유출 시 위험"
          }

          sessionKey: {
            method:     "세션마다 새 키"
            generation: "키 합의 프로토콜"
            advantage:  "전방향 보안"
          }
        }

        modes: {
          ctr: {
            name:       "Counter Mode"
            advantage:  "병렬 처리 가능"
            use:        "높은 처리량"
          }

          gcm: {
            name:       "Galois/Counter Mode"
            feature:    "암호화 + 인증"
            advantage:  "단일 패스"
            recommended: "현대 시스템"
          }
        }
      }

      authentication: {
        mac: {
          fullName:   "Message Authentication Code"

          algorithms: {
            hmac: {
              fullName: "Hash-based MAC"
              hash:     "SHA-256"
              size:     "32 bytes (256 bit)"
            }

            gmac: {
              fullName: "Galois MAC"
              pairedWith: "GCM 암호화"
            }
          }

          function:   "데이터 무결성 검증"
          protection: "변조 탐지"
        }

        digitalSignatures: {
          asymmetric: "공개키 암호"
          algorithms: [
            "ECDSA (Elliptic Curve)",
            "EdDSA (Ed25519)"
          ]
          use:        "장치 인증, 펌웨어 검증"
          overhead:   "높음 (계산 복잡도)"
        }
      }

      lightweight Crypto: {
        motivation: "제한된 자원 (저전력, 작은 메모리)"

        algorithms: {
          present: {
            type:       "블록 암호"
            blockSize:  "64 bit"
            keySize:    "80 bit"
            gates:      "1570 (매우 작음)"
          }

          tiny_aes: {
            description: "AES 최적화 구현"
            ram:         "< 200 bytes"
            flash:       "< 2 KB"
          }

          simon_speck: {
            designer:   "NSA"
            efficiency: "소프트웨어/하드웨어 모두"
          }
        }

        tradeoff:    "보안 vs. 효율성 균형"
      }
    }

[ID] 보안 프로토콜:

    SecurityProtocols {
      pairingAuthentication: {
        description: "캡슐과 수신기 페어링"

        methods: {
          outOfBand: {
            description: "대역 외 채널로 키 교환"
            examples: [
              "QR 코드 스캔",
              "NFC 탭",
              "일련번호 입력"
            ]
            security:    "피싱 공격 방지"
          }

          pin: {
            description: "PIN 코드 입력"
            display:     "캡슐 포장 또는 삽입 후 생성"
            entry:       "수신기/앱에 입력"
          }

          certificate: {
            description: "공장 설치 인증서"
            authority:   "제조업체 CA"
            validation:  "신뢰 체인 검증"
          }
        }

        process: [
          "1. 장치 발견",
          "2. 인증 (OOB/PIN/인증서)",
          "3. 키 합의 (ECDH)",
          "4. 세션 키 도출",
          "5. 암호화된 통신 시작"
        ]
      }

      dataEncryption: {
        layer:       "응용 계층 또는 링크 계층"

        packet: {
          structure: [
            "헤더 (평문 - 라우팅)",
            "페이로드 (암호화)",
            "MAC/태그 (인증)"
          ]

          example: {
            header:    "4 bytes (장치 ID, 시퀀스)"
            payload:   "20 bytes (센서 데이터)"
            encrypted: "20 bytes (AES-128-GCM)"
            tag:       "16 bytes (인증 태그)"
            total:     "40 bytes"
          }
        }

        overhead: {
          encryption:  "0% (동일 크기)"
          authentication: "+50-100% (태그, IV)"
          tradeoff:    "보안 vs. 전력/대역폭"
        }
      }

      secureStorage: {
        onCapsule: {
          keyStorage: "암호화된 플래시"
          protection: "물리적 변조 방지 (가능 시)"
        }

        onReceiver: {
          encryption: "AES-256 파일 암호화"
          keychain:   "OS 보안 저장소 (iOS/Android)"
        }

        cloud: {
          transit:    "TLS 1.3"
          rest:       "AES-256 암호화"
          access:     "역할 기반 제어"
        }
      }

      compliance: {
        hipaa: {
          region:      "미국"
          requirements: [
            "전송 중 암호화",
            "저장 시 암호화",
            "접근 로그",
            "감사 추적"
          ]
        }

        gdpr: {
          region:      "유럽"
          requirements: [
            "데이터 최소화",
            "목적 제한",
            "저장 제한",
            "무결성 및 기밀성"
          ]
        }

        mdcg: {
          name:        "Medical Device Coordination Group"
          guidance:    "의료기기 사이버보안"
          requirements: "위험 관리, 보안 설계"
        }
      }
    }


--------------------------------------------------------------------------------
5.4 신호 최적화
--------------------------------------------------------------------------------

제한된 전력과 가혹한 채널에서 신뢰할 수 있는 통신을 달성하는 것이 핵심입니다.

[ID] 링크 예산 분석:

    LinkBudgetAnalysis {
      equation: {
        received:    "Pr = Pt + Gt + Gr - PL - L"
        terms: {
          pr:        "수신 전력 (dBm)"
          pt:        "송신 전력 (dBm)"
          gt:        "송신 안테나 이득 (dBi)"
          gr:        "수신 안테나 이득 (dBi)"
          pl:        "경로 손실 (dB)"
          l:         "기타 손실 (dB)"
        }
      }

      example: {
        transmitter: {
          pt:        "0 dBm (1 mW)"
          gt:        "-20 dBi (소형 안테나)"
        }

        pathLoss: {
          distance:  "15 cm (위→복벽)"
          frequency: "400 MHz"
          tissue:    "혼합 (근육, 지방)"
          pl:        "60 dB (측정값)"
        }

        receiver: {
          gr:        "2 dBi (외부 안테나)"
          sensitivity: "-100 dBm"
        }

        margin: {
          pr:        "0 - 20 + 2 - 60 = -78 dBm"
          required:  "-100 dBm"
          margin:    "22 dB (양호)"
        }

        worstCase: {
          obese:     "+20 dB 손실"
          pr:        "-98 dBm"
          margin:    "2 dB (최소)"
        }
      }

      optimization: {
        increasePt: {
          limit:     "규제 (EIRP), 배터리"
          practical: "0-10 dBm"
        }

        improveGt: {
          method:    "더 효율적인 안테나"
          limit:     "크기 제약"
          gain:      "5-10 dB"
        }

        improveGr: {
          method:    "고이득 외부 안테나"
          gain:      "5-10 dBi"
        }

        reduceL: {
          methods: [
            "고품질 구성요소",
            "임피던스 매칭",
            "케이블 손실 최소화"
          ]
          gain:      "2-5 dB"
        }

        diversity: {
          spatialDiversity: "+5-10 dB"
          frequencyDiversity: "+3-6 dB"
        }
      }
    }

[ID] 적응형 기법:

    AdaptiveTechniques {
      powerControl: {
        closedLoop: {
          method: [
            "수신기가 RSSI 측정",
            "피드백 → 송신기",
            "송신 전력 조정"
          ]
          benefit:    "배터리 절약, 간섭 감소"
          challenge:  "피드백 채널 필요"
        }

        openLoop: {
          method: [
            "송신기가 수신 ACK 모니터",
            "ACK 없으면 전력 증가",
            "ACK 있으면 전력 감소"
          ]
          benefit:    "단방향 통신 가능"
        }
      }

      rateAdaptation: {
        principle:  "채널 품질에 따라 데이터 속도 조정"

        goodChannel: {
          modulation: "높은 차수 (16-QAM, 64-QAM)"
          coding:     "높은 코드율 (3/4, 5/6)"
          rate:       "높음 (Mbps)"
        }

        poorChannel: {
          modulation: "낮은 차수 (BPSK, QPSK)"
          coding:     "낮은 코드율 (1/2, 1/3)"
          rate:       "낮음 (kbps)"
          robustness: "높음"
        }

        metrics: {
          rssi:       "수신 신호 강도"
          snr:        "신호 대 잡음 비"
          ber:        "비트 오류율"
          per:        "패킷 오류율"
        }
      }

      channelEstimation: {
        pilot: {
          description: "알려진 시퀀스 전송"
          receiver:    "채널 응답 추정"
          use:         "등화, 복조"
        }

        tracking: {
          description: "연속적인 채널 추정"
          method:      "데이터 보조 (판정 피드백)"
          benefit:     "시간 변화 채널 대응"
        }
      }

      retransmission: {
        arq: {
          method:     "오류 시 재전송"
          timeout:    "ACK 대기 시간"
          maxRetries: "3-5회"
          tradeoff:   "신뢰성 vs. 지연/전력"
        }

        harq: {
          method:     "증분 중복"
          rounds: [
            "1차: 높은 코드율",
            "2차: 추가 패리티 (낮은 코드율)",
            "결합: 소프트 결합"
          ]
          efficiency: "ARQ보다 나음"
        }
      }

      frequencyHopping: {
        description: "주파수 채널 빠르게 전환"

        slowHopping: {
          rate:       "패킷당"
          use:        "간섭 회피"
        }

        fastHopping: {
          rate:       "심볼당"
          use:        "스펙트럼 확산 (보안)"
          example:    "Bluetooth"
        }

        patterns: {
          pseudo random: "의사 난수 시퀀스"
          adaptive:      "간섭 채널 회피"
        }

        benefit: [
          "간섭 견고성",
          "주파수 다이버시티",
          "재밍 저항"
        ]
      }

      spreadSpectrum: {
        dsss: {
          fullName:   "Direct Sequence Spread Spectrum"
          principle:  "칩핑 시퀀스로 확산"
          processing_gain: "10 dB - 20 dB"
          benefit:    "간섭 억제, 보안"
        }

        fhss: {
          fullName:   "Frequency Hopping Spread Spectrum"
          principle:  "주파수 호핑"
          benefit:    "간섭 회피"
        }

        tradeoff:   "대역폭 vs. 처리 이득"
      }
    }

[ID] 실시간 처리:

    RealTimeProcessing {
      onCapsuleProcessing: {
        compression: {
          lossless:   "무손실 (센서 데이터)"
          lossy:      "손실 (이미징)"
          ratio:      "2:1 - 10:1"
        }

        buffering: {
          size:       "1-10 KB"
          strategy:   "FIFO (선입선출)"
          overflow:   "오래된 데이터 폐기"
        }

        prioritization: {
          critical:   "알람 데이터 (즉시)"
          normal:     "연속 센서 (정기)"
          low:        "진단 (지연 가능)"
        }
      }

      onReceiverProcessing: {
        decoding: {
          realtime:   "수신 즉시 복조/디코딩"
          latency:    "< 100 ms"
        }

        aggregation: {
          windowing:  "시간 창 데이터 집계"
          statistics: "평균, 최소/최대"
        }

        display: {
          update:     "1-10 Hz"
          plotting:   "실시간 파형"
        }

        storage: {
          local:      "즉시 플래시 저장"
          upload:     "주기적 클라우드 동기화"
        }

        alerting: {
          threshold:  "임계값 초과 탐지"
          notification: "즉시 사용자 알림"
          latency:    "< 1초"
        }
      }

      latency: {
        sensing:    "센서 응답 (< 1초)"
        processing: "캡슐 처리 (< 100 ms)"
        transmission: "무선 전송 (10-100 ms)"
        reception:   "수신/디코딩 (< 100 ms)"
        total:       "< 2초 (end-to-end)"
        acceptable:  "대부분 응용에 충분"
      }
    }

[!] 중요: 무선 통신은 전력 소비의 주요 부분입니다. 최적화는 배터리 수명과
    데이터 신뢰성 간의 균형이 필요합니다.


--------------------------------------------------------------------------------
장 요약
--------------------------------------------------------------------------------

핵심 개념:
  [OK] 체내 무선 통신은 감쇠, 전력, 크기로 인한 도전
  [OK] MICS, ISM 대역, BLE 등 다양한 기술 사용
  [OK] 외부 수신기는 웨어러블, 스마트폰, 침상 모니터
  [OK] 암호화 및 인증으로 데이터 보안 보장
  [OK] 적응형 전력, 속도, 재전송으로 신호 최적화
  [OK] 실시간 처리로 즉각적인 피드백 및 알림

[다음: 제6장]
[목차]

================================================================================