initial pulse generation