← Blog
2024-10-02 · Project · Bluetooth · 5/5 · 약 2분

Bluetooth Simulation

Bluetooth를 실제 제품에 넣기 전에, 송수신이 어떻게 동작하는지 미리 시뮬레이션으로 확인해볼 수 있다. 여기서는 MATLAB Bluetooth Toolbox를 활용했다. 이 툴박스는 파형 생성, 링크 시뮬레이션, 위치 추정, 네트워크 모델링, SDR 연동까지 다양한 예제를 제공한다.

시뮬레이션은 크게 세 가지 use case로 나눠 진행했다.

  • Case 1. End-to-end 시뮬레이션
    송신부터 수신까지 BLE 신호 체인 전체를 시뮬레이션한다.
  • Case 2. 송신기 시뮬레이션
    시뮬레이션으로 만든 BLE 신호를 SDR로 송신한다.
  • Case 3. 수신기 시뮬레이션
    SDR로 받은 신호를 복구해 다시 비트로 복조한다.

Case 1. End-to-end 시뮬레이션

송신단에서 BLE 파형을 만들고, 채널(RF impairments, path loss, AWGN)을 거쳐, 수신단에서 이를 복구하는 전 과정을 한 번에 돌려보는 시나리오다.

Bluetooth LE Transmitter-Receiver Chain
[Fig. 1] 시뮬레이션 구조 (Bluetooth LE Transmitter-Receiver Chain)

수신부(Practical Receiver)는 AGC, DC offset 보정, carrier frequency offset 보정, matched filtering, 복조 및 디코딩, timing error 보정, packet detection, de-whitening을 차례로 거쳐 최종 비트를 뽑아낸다.

초기 파라미터는 크게 세 묶음으로 설정한다.

  • 송수신 파라미터
    Environment, Mode, Transmitter Power, Tx/Rx Antenna Gain, Receiver Sensitivity. 특히 Environment(Outdoor, Industrial, Home, Office)에 따라 적용되는 path loss 모델이 달라진다.
  • 파형 파라미터
    Samples per Symbol, Data Length, Channel Index
  • RF impairments
    Frequency Offset, Phase Offset, timing drift, DC offset 같은 실제 환경의 왜곡 요소

Case 2. 송신기 시뮬레이션

시뮬레이션으로 생성한 BLE 신호를 실제 SDR(Software-Defined Radio)로 내보내는 시나리오다. 만들어진 신호는 파일로 저장하거나 SDR 기기로 바로 출력할 수 있고, baseband BLE signal spectrum으로 확인할 수 있다.

Case 3. 수신기 시뮬레이션

반대로 SDR로 받은 신호를 신호 복구 과정을 거쳐 비트로 되돌리는 시나리오다. 받은 신호는 파일로 불러오거나 실시간으로 처리할 수 있다. 마지막에 CRC로 Packet Error Check를 해서 PER(Packet Error Rate)까지 측정할 수 있는데, 깨끗한 환경에서는 Packet error rate for LE1M mode is 0.000000처럼 에러 없이 수신되는 걸 확인할 수 있다.