Felix Glang1,2, Georgiy A. Solomakha1, Dario Bosch1,3,4, Klaus Scheffler1,3, Nikolai I. Avdievich1
1Magnetic Resonance Center, Max Planck Institute for Biological Cybernetics, Tübingen, Germany
2Institute of Biomedical Imaging, Graz University of Technology, Graz, Austria
3Department of Biomedical Magnetic Resonance, Eberhard Karls University Tübingen, Tübingen, Germany
4MRI Core Facility of the Medical Faculty, University of Tübingen, Otfried-Müller-Straße 51, Tübingen, 72076, Germany
https://doi.org/10.1002/mrm.70230
This repository contains MATLAB code for optimizing time-division multiplexing parallel transmit (pTx) pulses. Time-division multiplexing allows driving a larger number of transmit elements (e.g. 16) with a smaller number of RF channels (e.g. 8), resulting in improved pTx performance. This is enabled on the hardware level by high-power absorptive single pole double throw (SPDT) RF switches based on a set of lumped-element λ/4 transformers and PIN-diodes. These can alternately route 8 RFPAs to each row of a 16-element double-row Tx coil array, controlled by the optical trigger output of the scanner during the sequence. The demo code optimizes and simulates both conventional and multiplexed kT points pTx pulses.
├── tdm_ptx_demo.m % Demo script for basic use
├── data.mat % Example dataset (sensitivity maps, masks, etc.)
├── utils/ % Helper functions
│ └── [...]
├── loss_functions/ % Loss functions used in optimization
└── [...]
The demo dataset is simulated for a double-row 16-element folded-end dipole transceiver array developed for human brain imaging at 9.4T in the Duke voxel model using CST Studio Suite 2021 (Dassault Systèmes, Vélizy-Villacoublay, France).
Pulse design is formulated as a magnitude least-squares optimization based on the spatial domain method with VOP-based SAR constraints and optional joint optimization of k-space locations. Solutions are obtained using the interior-point method implemented in Matlab's fmincon with user-supplied analytical Jacobians for the cost and constraint functions.
- MATLAB (R2022b or newer recommended)
- Optimization Toolbox
To run the demo, simply run tdm_ptx_demo.m
This will:
- Load the sample dataset from
data.mat - Compute a standard CP mode excitation as a baseline
- Optimize a "full16" kT points pTx pulse, i.e., using all 16 coil elements simultaneously
- Re-arrange the obtained pulse into multiplexing shape without re-optimization ("multi8_conv")
- Optimize a multiplexed kT points pulse
- Compare flip angle maps, NRMSE and SAR values for the obtained pulses
This project is licensed under the MIT License — see the LICENSE file for details.
If you use this code in your research, please cite:
@article{Glang2025,
author = {Felix Glang and Georgiy A. Solomakha and Dario Bosch and Klaus Scheffler and Nikolai I. Avdievich},
title = {Time-Division Multiplexing for Parallel Transmission at Ultra-High Field with Limited RF Channels},
year = {2025},
journal = {Magnetic Resonance in Medicine},
doi = {https://doi.org/10.1002/mrm.70230},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/mrm.70230}
}
Feel free to open an issue or reach out for questions or suggestions!
