Sensor 1 (Mock Scalp Noise)
Short-Ch (d=0.8cm)
Raw Red (660nm)
--
Raw IR (880nm)
--
BPF ΔOD_Scalp:
-- OD
Sensor 2 (Target Cortical)
Long-Ch (d=3.0cm)
Raw Red (660nm)
--
Raw IR (880nm)
--
BPF ΔOD_Target:
-- OD
Cleaned ΔHbO₂ (Cortical)
Standby
ΔHbO₂ Concentration:
--
μM
ΔHbR: -- μM
Status: Waiting
Subtraction Factor (k)
k = 0.78
0.0 (No Sub)
0.50
0.78 (Opt)
1.0 (Full)
하드웨어 아키텍처 및 2채널 광학 피부층 분리 다이어그램
MAX30102 #1
TCA9548A SD0/SC0
Short-Ch (Scalp)
Red/IR I²C Packet
TCA9548A
I²C MUX 0x70
115200 Baud UART
Arduino / ESP32
Web Serial Host
CSV 스트리밍
DSP Subtraction
Cleaned ΔHbO₂
MBLL 역행렬 변환
순수 대뇌 피질 신호
실시간 시계열 파이프라인 신호 검증 (30초 슬라이딩 윈도우)
두피 혈류 잡음(노랑) vs 타겟 신호(하늘) vs 잡음이 제거된 순수 대뇌 활성화 신호(형광 녹색)
DSP 수학 파이프라인 단계별 연산 상태
Real-Time Core1. 광학 밀도 변환 (ΔOD)
ΔOD = -ln(I_t / I_0)
Ch1: --
Ch2: --
2. Biquad BPF (0.01 ~ 0.20 Hz)
심박 1Hz 및 고주파 잡음 분리
fc1: 0.01Hz / fc2: 0.20Hz
Order: 2nd Biquad Direct Form II
3. 피부층 회귀 감산 (SCR)
Clean = Ch2 - (k × Ch1)
k factor: 0.78
Clean OD: --
4. Modified Beer-Lambert 역행렬
[ΔHbO2, ΔHbR]ᵀ = (E·d·DPF)⁻¹·ΔOD
ΔHbO2: -- μM
ΔHbR: -- μM
Web Serial 실시간 패킷 모니터 (115,200 Baud)
수신 포맷 규격:
Ch1_Red,Ch1_IR,Ch2_Red,Ch2_IR\r\n (쉼표 구분자 정수)
[System] fNIRS Prototype 1 테스트벤치 준비 완료.
[Standby] 🔌 아두이노/ESP32 USB를 연결하고 상단 [USB Serial 연결] 버튼을 누르세요.
[Info] 하드웨어 없이 신호 흐름을 테스트하려면 [데모 시뮬레이션] 토글을 켜면 가상 신호가 발생합니다.
Buffer: 300 samples (30.0s)
DSP Standby (연결 대기)