Hey everyone,
This is my first post. I'm considering Navy OCS, and have been studying for the ASTB-E. There's a lot of gouge for the OAR and other sections, but not a lot for the PBM, so I've coded a simulator to help anyone who is interested to practice. This MATLAB simulator currently contains a 2D Joystick Target Tracking program, as well as a Dichotic Listening program. They are not integrated together yet. I tried my best to take forum accounts of everyone who has taken the PBM portion in order to make the most accurate simulator I can. I am using the Logitech Wingman Attack 2 Joystick, so a different joystick may have different button parameters. In addition, my CPU speed, resolution, etc. may produce varying results for those who run the code, which makes it necessary to sorta understand/code in MATLAB if you want to fix it.
The 2D tracking program creates a randomly moving target (simple random waypoint follower with random velocity, all arbitrarily defined). While the program runs, it records the distance between your joystick and the pip at all times, outputting a histogram at the end to give you some performance metrics. The code also allows you to replay same target trajectories to allow you to compare different practice sessions. The code saves the trajectory and your performance history.
The dichotic listening that records whether or not you clicked the correct button when the correct letter/number has been played in the correct ear. This portion is still not as rigorous as the ASTB one because it doesn't play through multiple ears at a time (yet), and there are some timing issues (too slow).
I'm taking the test soonish so I'm gonna stop working on these programs and start practicing them. Please let me know if you have any suggestions/would like to improve upon the code. I hope people can build on this and make a kickass program!
-bob
P.S.: The code is sloppy in some places. I'm not a CS major.
P.P.S., as a suggestion, here's an example of a log entry that I have:

This is my first post. I'm considering Navy OCS, and have been studying for the ASTB-E. There's a lot of gouge for the OAR and other sections, but not a lot for the PBM, so I've coded a simulator to help anyone who is interested to practice. This MATLAB simulator currently contains a 2D Joystick Target Tracking program, as well as a Dichotic Listening program. They are not integrated together yet. I tried my best to take forum accounts of everyone who has taken the PBM portion in order to make the most accurate simulator I can. I am using the Logitech Wingman Attack 2 Joystick, so a different joystick may have different button parameters. In addition, my CPU speed, resolution, etc. may produce varying results for those who run the code, which makes it necessary to sorta understand/code in MATLAB if you want to fix it.
The 2D tracking program creates a randomly moving target (simple random waypoint follower with random velocity, all arbitrarily defined). While the program runs, it records the distance between your joystick and the pip at all times, outputting a histogram at the end to give you some performance metrics. The code also allows you to replay same target trajectories to allow you to compare different practice sessions. The code saves the trajectory and your performance history.
The dichotic listening that records whether or not you clicked the correct button when the correct letter/number has been played in the correct ear. This portion is still not as rigorous as the ASTB one because it doesn't play through multiple ears at a time (yet), and there are some timing issues (too slow).
I'm taking the test soonish so I'm gonna stop working on these programs and start practicing them. Please let me know if you have any suggestions/would like to improve upon the code. I hope people can build on this and make a kickass program!
-bob
P.S.: The code is sloppy in some places. I'm not a CS major.
P.P.S., as a suggestion, here's an example of a log entry that I have:
