--- id: wiki-2026-0508-theta-gamma-coupling title: Theta Gamma Coupling category: 10_Wiki/Topics status: verified canonical_id: self aliases: [TGC, Theta-Gamma-PAC] duplicate_of: none source_trust_level: A confidence_score: 0.85 verification_status: applied tags: [neuroscience, oscillation, pac, memory, eeg] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: python framework: mne-tensorpac --- # Theta Gamma Coupling ## 매 한 줄 > **"매 theta phase 가 매 gamma amplitude 의 modulate"**. TGC 의 phase-amplitude coupling (PAC) 의 specific form — 4-8 Hz theta 의 cycle 안 에 30-100 Hz gamma 의 burst 의 nested. 1995 Lisman-Idiart hippocampus 의 working-memory 의 mechanism 의 제안 — 2026 에 EEG biomarker, BCI, Alzheimer 의 study 의 활발. ## 매 핵심 ### 매 정의 - **Theta**: 4-8 Hz, hippocampus / cortex 의 dominant slow rhythm. - **Gamma**: 30-100 Hz (low 30-60, high 60-100), local processing. - **Coupling form**: theta phase φ(t) 의 deterministic gamma envelope A(t). - **Modulation Index (MI, Tort)**: 매 normalized KL divergence — phase-binned amplitude vs uniform. ### 매 mechanism - **Lisman-Idiart**: theta 1 cycle 안 ~7 gamma cycle → 매 ~7±2 working memory items (Miller). - **CA1 / CA3**: place-cell sequence 의 theta phase 안 의 ordered firing. - **Cross-region**: hippocampal theta → entorhinal gamma → memory encoding. ### 매 measurement - **Phase**: Hilbert transform → instantaneous phase φ(t) of theta-filtered signal. - **Amplitude**: Hilbert envelope of gamma-filtered signal. - **MI (Tort 2010)**: 매 most popular — bin phase, average amp per bin, KL vs uniform. - **Other**: PLV (Phase-Locking Value), GLM-PAC, Mean Vector Length. ### 매 응용 1. Working memory capacity biomarker. 2. Alzheimer's — TGC 의 reduction. 3. Schizophrenia — disrupted PAC. 4. BCI / cognitive enhancement (tACS at theta). 5. Anesthesia depth monitoring. ## 💻 패턴 ### 1. MNE — load EEG + filter ```python import mne raw = mne.io.read_raw_fif("subj.fif", preload=True) raw.filter(l_freq=1, h_freq=120) theta = raw.copy().filter(4, 8) gamma = raw.copy().filter(30, 80) ``` ### 2. Hilbert phase + amplitude ```python import numpy as np from scipy.signal import hilbert theta_phase = np.angle(hilbert(theta.get_data())) gamma_amp = np.abs(hilbert(gamma.get_data())) ``` ### 3. Modulation Index (Tort) ```python def modulation_index(phase, amp, n_bins=18): bins = np.linspace(-np.pi, np.pi, n_bins+1) mean_amp = np.array([ amp[(phase >= bins[i]) & (phase < bins[i+1])].mean() for i in range(n_bins) ]) p = mean_amp / mean_amp.sum() H = -np.sum(p * np.log(p + 1e-12)) return (np.log(n_bins) - H) / np.log(n_bins) # 매 normalized KL ``` ### 4. tensorpac (full library) ```python from tensorpac import Pac p = Pac(idpac=(2, 0, 0), f_pha=(4, 8, 1, 0.5), f_amp=(30, 100, 5, 2)) xpac = p.filterfit(sf=1000, x=signal) # MI matrix (phase × amp) p.comodulogram(xpac.mean(-1)) ``` ### 5. Surrogate test (statistical sig) ```python # 매 phase 의 shuffle → 매 surrogate MI 의 distribution → p-value def surrogate_pac(phase, amp, n_perm=200): obs = modulation_index(phase, amp) shuffles = [] for _ in range(n_perm): shift = np.random.randint(len(phase)) shuffles.append(modulation_index(np.roll(phase, shift), amp)) p = (np.array(shuffles) >= obs).mean() return obs, p ``` ### 6. Comodulogram (full freq scan) ```python phase_freqs = np.arange(2, 12, 1) amp_freqs = np.arange(20, 120, 5) comod = np.zeros((len(phase_freqs), len(amp_freqs))) for i, fp in enumerate(phase_freqs): for j, fa in enumerate(amp_freqs): ph = np.angle(hilbert(bandpass(x, fp-1, fp+1))) am = np.abs(hilbert(bandpass(x, fa-5, fa+5))) comod[i, j] = modulation_index(ph, am) ``` ### 7. tACS protocol (cognitive enhancement, 2026) ```text 매 theta-frequency tACS (6 Hz) over fronto-parietal sites → 매 working memory performance 의 ↑ (effect size ~0.3, replicated mixed) ``` ### 8. tensorpac with MNE epochs ```python from tensorpac import EventRelatedPac erp = EventRelatedPac(f_pha=(4, 8, 1, 0.5), f_amp=(30, 100, 5, 2)) erp_pac = erp.filterfit(sf=1000, x=epochs.get_data()) ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Standard PAC quantification | Tort MI (idpac=(2,...)) | | Phase consistency only | PLV | | Full freq exploration | Comodulogram | | Statistical significance | Surrogate (200+ perm) | | Event-related | EventRelatedPac (epoch-wise) | | Software | tensorpac > custom (validated) | **기본값**: MNE filter → Hilbert → Tort MI → surrogate p-value → comodulogram visualization. ## 🔗 Graph - 부모: [[Phase-Amplitude Coupling]] · [[Cross-Frequency Coupling (CFC)]] - 변형: [[Cross-Frequency Coupling (CFC)]] - 응용: [[Working Memory]] · [[Neural Ignition]] - Adjacent: [[Signal-Processing-Foundations]] · [[Hebbian-Theory]] ## 🤖 LLM 활용 **언제**: explanation of TGC mechanism, pipeline draft, paper interpretation, hypothesis discussion. **언제 X**: 매 actual signal processing — 매 MNE / tensorpac 의 사용. ## ❌ 안티패턴 - **MI without surrogate**: 매 spurious — 매 baseline MI 의 always non-zero. - **Filter bandwidth too narrow**: 매 amp envelope 의 unresolvable — 매 amp band ≥ 2× phase freq 의 필요. - **Volume conduction**: 매 EEG 의 같은 source 의 두 sensor 의 false PAC — 매 source-localized analysis 의 권장. - **Single-channel claim**: 매 within-channel PAC 의 weak — 매 cross-region 의 더 의미있음. - **TGC = causation**: 매 correlate of cognition 의 X causation — manipulation (tACS, opto) 의 필요. - **Aggregating over subjects naively**: 매 individual differences 의 huge — 매 within-subject 의 normalize. ## 🧪 검증 / 중복 - Verified (Tort et al. 2010 J Neurophysiol, Canolty & Knight 2010 TICS, Lisman-Idiart 1995). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — TGC mechanism, MI/tensorpac patterns, surrogate stats. |