code: def step(self, state, y=None):
      self.t += 1
      state["z"] = pyro.sample(
          "z_{}".format(self.t),
          dist.Normal(
              state["z"].matmul(self.A), self.B * self.sigma_z
          ).to_event(1),
      )
      y = pyro.sample(
          "y_{}".format(self.t),
          dist.Normal(state["z"][..., 0], self.sigma_y),
          obs=y,
      )
  
      state["z_{}".format(self.t)] = state["z"]  # saved for testing
  
      return state["z"], y
  
imports: import pytest
  import torch
  import pyro
  import pyro.distributions
  import pyro.poutine
  from pyro.infer import SMCFilter
  from pyro.infer.smcfilter import _systematic_sample
  from tests.common import assert_close
label_desc: Use image node_id 3 for calling the HarmonicModel obj's underlying member method code with example usage: obj.step(state, y) and returns: state,  y