🧠

NeuroPeak Labs — Análisis EEG

Paciente #007 · Sesión de Rehabilitación Motora · 2026-06-10 · 256 Hz · 5 canales · 10 s

MATLAB/Octave Pipeline completo Computación Científica

Métricas de la sesión

Potencia Beta dominante
23.4 µV²/Hz
Canal Cz · banda 13–30 Hz
Score motor (MRC)
4.2 / 5
+0.8 vs. línea base
SNR señal
18.7 dB
Canal Fz · limpio
R² Regresión β-Motor
0.87
Alta correlación lineal
Espectro de Potencia EEG · FFT (canal Cz)

Densidad espectral de potencia — bandas cerebrales principales

0 5 10 15 20 25 µV²/Hz δ 0.5–4 Hz θ 4–8 Hz α 8–13 Hz β 13–30 Hz γ 30–60 Hz α pico 25.1 µV²/Hz β pico 23.4 µV²/Hz
Regresión Beta-Motor · R² = 0.87

Potencia banda β (µV²/Hz) vs. Score motor MRC (n=24 sesiones)

5 10 15 20 25 Potencia β (µV²/Hz) 1 2 3 4 5 Score Motor MRC Sesión actual y = 0.14x + 0.82 R² = 0.87, p < 0.001
Modelo ODE · Oscilador Neuronal de Wilson-Cowan

Simulación ode45 — activación E (excitatorio) e I (inhibitorio)

0 0.5 1.0 Activación 0 25 50 75 100ms E(t) Excitatorio I(t) Inhibitorio Estado estable E∞ = 0.85
Estadísticas por canal EEG

Media, desviación estándar, SNR y calidad de señal (n = 2560 muestras)

Canal Media (µV) DE (µV) SNR (dB) Calidad Potencia β
Fz 2.14 8.32 18.7 Excelente
21.8
Cz 1.87 9.71 17.4 Excelente
23.4
Pz -0.43 7.85 16.1 Buena
18.9
C3 3.21 11.20 14.8 Buena
17.2
C4 1.05 6.94 12.3 Aceptable
13.8

Script ejecutable generado · MATLAB / GNU Octave

MATLAB/Octave neuropeak_eeg_analysis.m
% ───────────────────────────────────────────────────────────────────── % NeuroPeak Labs — Análisis EEG · Paciente #007 · Sesión 2026-06-10 % Ejecutar: octave neuropeak_eeg_analysis.m % Requiere: GNU Octave >= 6.0 (o MATLAB R2021b+) % ───────────────────────────────────────────────────────────────────── clear all; close all; clc; %% 1. PARÁMETROS DE ADQUISICIÓN fs = 256; % Frecuencia de muestreo (Hz) dur = 10; % Duración sesión (s) N = fs * dur; % Total de muestras: 2560 t = (0:N-1) / fs; % Vector de tiempo canales = {'Fz', 'Cz', 'Pz', 'C3', 'C4'}; %% 2. SEÑAL SINTÉTICA EEG (5 canales) % Suma de componentes: delta + alpha + beta + ruido eeg = zeros(5, N); for ch = 1:5 delta = 3.0 * sin(2*pi*2*t); alpha = 5.0 * sin(2*pi*10*t + ch*0.3); beta = (3.0+ch*0.5) * sin(2*pi*20*t); noise = 0.8 * randn(1, N); eeg(ch, :) = delta + alpha + beta + noise; end %% 3. FFT — DENSIDAD ESPECTRAL DE POTENCIA ch_sel = 2; % Canal Cz Y = fft(eeg(ch_sel, :)); P2 = abs(Y).^2 / (N*fs); % PSD unilateral P1 = P2(1:N/2+1); P1(2:end-1) = 2*P1(2:end-1); f = fs*(0:(N/2)) / N; % Bandas cerebrales (Hz) bands = {'Delta', 0.5, 4; 'Theta', 4, 8; 'Alpha', 8, 13; 'Beta', 13, 30; 'Gamma', 30, 60}; for b = 1:size(bands, 1) idx = f >= bands{b,2} & f < bands{b,3}; fprintf('%s power: %.2f µV²/Hz\n', bands{b,1}, mean(P1(idx))); end %% 4. REGRESIÓN LINEAL Beta → Score Motor beta_pow = [6.1 7.4 8.9 8.2 9.8 10.5 11.8 12.4 13.1 13.9 15.2 16.0 16.7 17.3 18.1 18.9 19.7 20.8 21.5 22.0 23.0 23.8 24.5 25.1]; motor = [1.8 1.9 2.0 2.1 2.4 2.6 2.9 3.0 3.2 3.4 3.7 3.8 3.9 4.0 4.1 4.1 4.2 4.3 4.3 4.4 4.5 4.6 4.7 4.8]; p = polyfit(beta_pow, motor, 1); yhat = polyval(p, beta_pow); SS_res = sum((motor - yhat).^2); SS_tot = sum((motor - mean(motor)).^2); fprintf('Regresión: y = %.2fx + %.2f | R² = %.3f\n', p(1), p(2), 1-SS_res/SS_tot); %% 5. ODE — MODELO WILSON-COWAN (oscilador neuronal) S = @(x) 1 ./ (1 + exp(-x)); % función sigmoide wc = @(t,y) [-y(1) + S(4*y(1) - 2*y(2) + 1.5); -y(2) + S(3*y(1) - 1*y(2))]; [tspan, sol] = ode45(wc, [0 0.1], [0.1; 0.05]); fprintf('Estado estable E=%.3f, I=%.3f\n', sol(end,1), sol(end,2)); %% 6. ESTADÍSTICAS POR CANAL fprintf('\n%-6s %8s %8s %8s\n', 'Canal', 'Media', 'DE', 'SNR(dB)'); for ch = 1:5 m = mean(eeg(ch,:)); s = std(eeg(ch,:)); snr = 20*log10(rms(eeg(ch,:)) / 0.8); fprintf('%-6s %8.2f %8.2f %8.1f\n', canales{ch}, m, s, snr); end %% 7. EXPORTAR RESULTADOS T = table(canales', mean(eeg,2), std(eeg,[],2), ... 'VariableNames', {'Canal', 'Media_uV', 'DE_uV'}); writetable(T, 'neuropeak_stats_P007.csv'); save('neuropeak_session_P007.mat', 'eeg', 't', 'fs', 'canales'); disp('✓ Análisis completo. Resultados exportados.');