In this paper, the indirect matrix converter is systematically studied with the single-pole-multiple-pole representation. A carrier based PWM algorithm is developed in two steps. First, the continuous modulation functions for all the throws are derived based on the desired sinusoidal input currents. Then the switching functions are derived from the modulation functions with focus on the zero current commutation. The proposed PWM algorithm is verified by numerical simulation and hardware experimentation on a laboratory prototype matrix converter.