A wave data assimilation scheme based on Kalman filtering combined with a nonlinear wave model is developed. Two state variables, the free surface elevation and the free surface velocity potential, are updated in time by solving the nonlinear evolution equations numerically using an efficient pseudo-spectral method while the error covariance matrix often computed numerically is determined analytically by solving the linear wave model in the wavenumber domain. Numerical experiments are performed with synthetic data with noise for one-dimensionally propagating irregular waves characterized by the JONSWAP spectrum. It is shown that the estimated free surface elevation using the present data assimilation scheme matches well the numerical solution of the nonlinear wave model in the absence of noise. The present data assimilation scheme improves greatly the stability and efficiency of the wave prediction system in comparison with that based on a purely numerical data assimilation scheme.