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)을 거쳐, 수신단에서 이를 복구하는 전 과정을 한 번에 돌려보는 시나리오다.

[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처럼 에러 없이 수신되는 걸 확인할 수 있다.