public static void Test(Controller autd) { const double x = Controller.DeviceWidth / 2; const double y = Controller.DeviceHeight / 2; const double z = 150; var config = SilencerConfig.None(); autd.Send(config); var mod = new Static(); var center = new Vector3d(x, y, z); var stm = new GainSTM(autd); const int pointNum = 200; for (var i = 0; i < pointNum; i++) { const double radius = 30.0; var theta = 2.0 * Math.PI * i / pointNum; var p = radius * new Vector3d(Math.Cos(theta), Math.Sin(theta), 0); var gain = new Focus(center + p); stm.Add(gain); } stm.Frequency = 1; Console.WriteLine($"Actual frequency is {stm.Frequency}"); autd.Send(mod, stm); }
public static void Test(Controller autd) { var config = new SilencerConfig(); autd.Send(config); const double x = Controller.DeviceWidth / 2; const double y = Controller.DeviceHeight / 2; const double z = 150; var center = new Vector3d(x, y, z); var g1 = new Focus(center); var g2 = new GSPAT(); g2.Add(center + new Vector3d(30.0, 0.0, 0.0), 1.0); g2.Add(center - new Vector3d(30.0, 0.0, 0.0), 1.0); var gain = new Grouped(autd); gain.Add(0, g1); gain.Add(1, g2); var mod = new Sine(150); // AM sin 150 Hz autd.Send(mod, gain); }
public static void Test(Controller autd) { var config = new SilencerConfig(); autd.Send(config); const double x = Controller.DeviceWidth / 2; const double y = Controller.DeviceHeight / 2; const double z = 150; var mod = new Sine(150); // AM sin 150 Hz var gain = new Focus(new Vector3d(x, y, z)); // Focal point @ (x, y, z) [mm] autd.Send(mod, gain); }
public static void Test(Controller autd) { var config = new SilencerConfig(); autd.Send(config); const double x = Controller.DeviceWidth / 2; const double y = Controller.DeviceHeight / 2; const double z = 150; var mod = new Sine(150); var gain = Focus(autd, new Vector3d(x, y, z)); autd.Send(mod, gain); }
public static void Test(Controller autd) { var config = new SilencerConfig(); autd.Send(config); const double x = Controller.DeviceWidth / 2; const double y = Controller.DeviceHeight / 2; var mod = new Sine(150); // AM sin 150 Hz var start = new Vector3d(x, y, 0); var dir = Vector3d.UnitZ; var gain = new BesselBeam(start, dir, 13.0f / 180f * Controller.Pi); // BesselBeam from (x, y, 0), theta = 13 deg autd.Send(gain, mod); }
public static void Test(Controller autd) { var config = new SilencerConfig(); autd.Send(config); const double x = Controller.TransSpacing * (Controller.NumTransInX - 1) / 2.0; const double y = Controller.TransSpacing * (Controller.NumTransInY - 1) / 2.0; const double z = 150.0; var center = new Vector3d(x, y, z); var gain = new GSPAT(); gain.Add(center + 20.0 * Vector3d.UnitX, 1.0); gain.Add(center - 20.0 * Vector3d.UnitX, 1.0); gain.Constraint = new Uniform(1.0); var mod = new Sine(150); autd.Send(mod, gain); }
public static void Test(Controller autd) { var config = SilencerConfig.None(); autd.Send(config); var amp = new double[autd.NumTransducers]; var phase = new double[autd.NumTransducers]; for (var i = 0; i < autd.NumTransducers; i++) { amp[i] = 1.0; phase[i] = 0.0; } var burst = new byte[4000]; burst[0] = 0xFF; var g = new CustomGain(amp, phase); var m = new CustomModulation(burst, 40960); autd.Send(m, g); }