This book provides a rigorous mathematical treatment of the non-linear stochastic filtering problem using modern methods. While no prior knowledge of stochastic filtering is required, readers are assumed to be familiar with measure theory, probability theory and the basics of stochastic processes.