Dual-mode electromagnetic energy harvester by Halbach arrays