We present a parsimonious, financially motivated model that provides a good description of the swaption volatility matrix. The core model consists of a hidden Markov chain with two volatility states: normal and excited. Each state has its own curve for the instantaneous forward volatility. The volatilities in the swaption matrix result from averaging over all possible paths along the Markov chain. We provide a fast, accurate, analytic method for calculating the swaption matrix from this model. With this procedure we show dramatic improvements over the Rebonato approach (Rebonato (2005)) in the quality of fits when the market appears to be excited.