SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   Dangerous Waters (https://www.subsim.com/radioroom/forumdisplay.php?f=181)
-   -   ESM Receiver Simulator (https://www.subsim.com/radioroom/showthread.php?t=149237)

timmyg00 03-10-09 09:45 PM

ESM Receiver Simulator
 
Hi folks,


One of my (very) minor pet peeves about Sub Command and Dangerous Waters was always that the ESM suite was not adequately simulated. I know, ESM is not the primary sensor for ASW missions - but try doing an ASUW or littoral recon mission without it! And of course, I am biased, having been an ESM technician while I was in the navy...


So I always thought "when I learn a bit of programming, I'll make my own ESM simulator to show my fellow subsimmers what a real ESM suite might look like if it happened to be included in one of our sims." So I took what I learned during my programming courses, studied and practiced a bit of C++ programming on the Windows OS (via Visual Studio), and whipped up my own little ESM receiver simulator. I say "whipped up" as if it took only a little bit of time, but in truth, I have been working on this since the summer of '08, and in the meantime I have been maintaining/landscaping my house, spending time with my new wife and pets, working, and just generally living life, and BOY does that get in the way of hobbies!!!


Please keep in mind that this is a crude little receiver simulator. There's a lot more I'd love to put in it, but of course, that all depends on how much interest is generated by this small example.


What the ESM Receiver Simulator version 0.5 has now:
  • a display for a single frequency band; back when I was sitting the ESM stack, it was known as the I-band, 8000 to 10000 MHz
  • One pulse analysis display for measuring the Pulse Repetition Interval (PRI) of a radar emitter in microseconds (us), from which the Pulse Repetition Frequency can be obtained
  • Another pulse analysis display for measuring the Pulse Width (PW) in microseconds (us) of a radar emitter
  • An "automeasure" function, which "measures" the signal of interest and displays its parameters in a separate readout
  • A button to start the simulation
  • A button to end the simulation
What I would like to add to the ESM Receiver Simulator:
  • A signal environment that would be randomized every time the simulator was started. Currently, the program displays four radar emitters of fixed parameters, for demonstration purposes.
  • User-selectable emitter density, that is, the number of emitters in the signal environment. For example, a littoral environment would have a high emitter density, while a blue-water environment, say, in the middle of the Pacific, would have a low emitter density.
  • More frequency bands. Real-world ESM systems monitor from 250 MHz up to 40000 MHz.
  • More emitter scan types. Currently, the four emitters in the demo simulate circular-scan radars. There are several scan types that could be added – sector, raster, spiral, electronic (phased-array)…
  • Adjustable reticles on the Pulse analysis displays. Currently, the reticles are fixed.
  • Better pulse shaping for the pulse analysis displays. Right now, the analysis signals are sharp rectangular pulses. This does not happen in the real world.
  • Audio output for the "signal of interest"
  • Direction finding (RDF). This function is the only one that is really modeled well in SC/DW, probably based on the ADF system that was being installed in the 688 boats around the time I was getting out of the USN (1997).
  • Library matching. This function is modeled in SC/DW, but gives you the emitter type and platform immediately, rather than a range of possible emitter types.
  • A better skin - buttons, knobs, etc.
  • Better graphics in general
Many of these features will require a substantial re-work of the code, but the code needs re-work anyway. The current product is a result of adding code as I learned how to do certain things, and I learned “on the fly” for much of it, so there wasn’t as much pre-planning as I would have liked for many of the features.


I’ll be interested in any reactions to this little sim. Chances are that you won’t hurt my feelings with criticism unless you’re a real a-hole, so don’t be shy…


You should be able to find the simulator at CADC's file repository, once the moderator has approved it :03:

Rip 03-10-09 10:22 PM

Brilliant!

Being an ESM ET myself in the eighties perhaps I am with you in the minority in thinking this would be fun. You are basing it on the WLR-6? I have operated the WLR-8 and WLQ-4 and would love to assist where possible with testing etc. Maybe you could even do a BRD-7 for the lower freq stuff. If they would have developed it more realstically the ESM station could be every bit as complex as sonar.

Of course you already know that, but I don't think many people realize it. Even fellow bubbleheads because of the air of secrecy surrounding the radio/esm room. Especially after the Walker incident. They really started coming down on us for discussing what was going on in there even with shipmates.

Etienne 03-10-09 11:02 PM

Mark me in as an interested guy. Will you be able to post a link, for those of us not familiar with CADC? :)

OneShot 03-11-09 04:39 AM

File approved ... find it here : http://www.commanders-academy.com/fo...do=file&id=129

Pisces 03-11-09 07:32 AM

More fidellity is allways cool. Maybe you can hookup with DrSid and incorporate your ideas into the CommunitySubsim. IIRC he was at the interface and maybe sensor stage.

http://www.commanders-academy.com/fo...splay.php?f=86

timmyg00 03-11-09 08:49 AM

Quote:

Originally Posted by Rip
Brilliant!

Being an ESM ET myself in the eighties perhaps I am with you in the minority in thinking this would be fun. You are basing it on the WLR-6? I have operated the WLR-8 and WLQ-4 and would love to assist where possible with testing etc. Maybe you could even do a BRD-7 for the lower freq stuff. If they would have developed it more realstically the ESM station could be every bit as complex as sonar.

Of course you already know that, but I don't think many people realize it. Even fellow bubbleheads because of the air of secrecy surrounding the radio/esm room. Especially after the Walker incident. They really started coming down on us for discussing what was going on in there even with shipmates.

I was a WLR-8 guy, so what you'll see is very loosely based on that. I'd love to get all the radar stuff hacked out first before attacking the lower-freq DFs, but who knows, maybe someday!

I'm trying to come up with a better model for the emitters, receiving antennas, and receivers too. One thing I forgot to mention that is also not included in this sim is environmental effects like ducting - in effect, there is nothing between the receiver and the signal but a vacuum :03:

If Dr Sid has a need of my services, such as they are, I'm sure we'll be in touch at some point!

TG

goldorak 03-11-09 10:21 AM

Quote:

Originally Posted by Pisces
More fidellity is allways cool. Maybe you can hookup with DrSid and incorporate your ideas into the CommunitySubsim. IIRC he was at the interface and maybe sensor stage.

http://www.commanders-academy.com/fo...splay.php?f=86


:yep: :yep:

Talk to Dr Sid, and maybe you can embed your core ESM simulation code inside ComSubSim.

Dr.Sid 03-11-09 10:49 AM

Sure I'm interested .. will look at it ASAP. :88)

timmyg00 03-11-09 12:53 PM

has anyone downloaded/run it yet? :D

TG

Dr.Sid 03-11-09 01:30 PM

I've just run it .. looks good.
Screens like this are supposed to ID the source ? The refresh rate is realistic ?
What kind of reference data are used for identification ? Is it in paper form or is it part of the device ? How is the bearing measured ?

:D

timmyg00 03-11-09 02:42 PM

Quote:

Originally Posted by Dr.Sid
Screens like this are supposed to ID the source ?

Yes, screens similar to these are used to display the signals to the ESM operator...

Quote:

Originally Posted by Dr.Sid
The refresh rate is realistic ?

Fairly so, yes... as realistic as it can be without giving away things I'm not supposed to!

Quote:

Originally Posted by Dr.Sid
What kind of reference data are used for identification ? Is it in paper form or is it part of the device ?

The reference data sources are classified, but both paper and electronic references (in the system) are used.

Quote:

Originally Posted by Dr.Sid
How is the bearing measured ?

There's no bearing measurement in this demo. I have forgotten the technology used to perform RDF on Radar signals... I am sure I could fairly easily add it to this demo, but i'd be hard-put to figure out how to add it into a seriously-simulated environment!

Rip 03-13-09 08:14 PM

I am not sure I remember all the bearing determination methods, but my favorite is to use multiple dipoles and measure the frequency phase shift between them. Then using some quick math measure the bearing based on phase shift.

timmyg00 03-18-09 09:54 PM

If i get around to simulating DF measurement, it will more likely be something very simple, e.g. including the emitter's bearing in the emitter object for direct input into the receiver (e.g. the emitter tells the receiver "i am at bearing 345" and the receiver displays 345 as the bearing measurement), or perhaps including a set of coordinates in the emitter object, on which the receiver can perform a set of trig functions to obtain the emitter's bearing.

Dipoles and phase shift measurements... Man, I'd have to re-learn lots of RF that I have forgotten, all for a simple demo of what might have been in SC and DW ;)

Sooner or later i will describe the programming approach I took to creating the demo as well as the next phase, if there is one (Hint: more objects to be simulated). The next thing I'd add on to the current demo would be file-reading functionality, so that I could create a file of emitters for the program to read at startup, from which it would randomly pick some of those emitters to be generated for simulation.

TG

Rip 03-19-09 12:40 AM

ESM
 
I need to read up on some of it to refresh the cranium myself. But you would hopefully want to at least include some error factor. Doppler shifts for fast moving targets would rock as well. Without being able to create audio it is all much less fun anyway. Nothing like the sound of an AWG-9 or some of the more advanced scan systems. I seem to recall the SPS-48 having a very distinctive sound as well.

In the end without that and a few RADCHEE, Janes, and some intel books all strewn about around you could not simulate the experience:ping:. I've always thought it was the best enlisted position on the boat. Wake me if we come to PD, I'll be in my rack!

timmyg00 03-19-09 10:00 AM

Ooooh audio... that will come next after the input files...

TG

SeaQueen 03-19-09 11:44 PM

What statistical distribution did you draw the noise levels from?

timmyg00 03-20-09 09:34 PM

Quote:

Originally Posted by SeaQueen (Post 1068695)
What statistical distribution did you draw the noise levels from?

None! My complex math is so rusty it's pathetic. I used the C++ rand() function and limited the maximum noise level to 7 pixels above the bottom of the display.

Man, i think my demo isn't passing muster with the hardcore :oops:

TG

timmyg00 03-20-09 09:40 PM

Quote:

Originally Posted by Rip (Post 1068031)
Without being able to create audio it is all much less fun anyway. Nothing like the sound of an AWG-9 or some of the more advanced scan systems. I seem to recall the SPS-48 having a very distinctive sound as well.

The Mk 23 TAS was also distinctive... i remember hearing it in the audio of a CNN broadcast once after i transferred to CIVLANT. One of their reporters was on the flight deck of a carrier yapping about something or other, and some of the video/broadcast equipment must have somehow demodulated the PRF, and the pulse train bled into the audio feed. I recognized it instantly... some of those signals used to follow me into my rack and haunt my dreams :o

Quote:

Originally Posted by Rip (Post 1068031)
In the end without that and a few RADCHEE, Janes, and some intel books all strewn about around you could not simulate the experience:ping:. I've always thought it was the best enlisted position on the boat. Wake me if we come to PD, I'll be in my rack!

It did indeed have its benefits! We were so short on qualified ESM operators that I could spend all my time below PD qualifying... didn't take me long! And I NEVER cranked.

TG

Dr.Sid 03-21-09 01:33 PM

Quote:

Originally Posted by timmyg00 (Post 1069266)
None! My complex math is so rusty it's pathetic. I used the C++ rand() function and limited the maximum noise level to 7 pixels above the bottom of the display.

Man, i think my demo isn't passing muster with the hardcore :oops:

TG

I guess it's no problem. With sonar it's a bit more complicated, I for example use different averaging windows for slow and fast broadband .. which should affect the 'look' of the noise. I too use 'flat' pseudo-randoms for the fast display, and I average few to get more Gauss looking noise for the slow displays.

Hey SeaQueen .. since you mind .. you know something more about it ? Some links ? I haven't found any. Also about the importance of this in sonar (& ESM) ?

SeaQueen 03-24-09 07:39 PM

rand() would imply the uniform distribution. I suspected that from looking at it. God... you know you're a physicist when you can tell the distribution of random noise by looking at it. That scares me.

It would be a better simulation of real life if you used the Gaussian distribution. You can generate those from the uniform distribution using the Box-Muller method. You should be able to find a good discussion of it. The idea is that it's hard to generate one Gaussian distributed random number but it's easy to make two and throw one away (or use it for something else). I actually wrote a short program to generate Gaussian distribute random numbers. I use it for various projects of mine. I could send you the source if you'd like.

I really enjoyed seeing this. It's a great start. It would be nice if there were menus where you could put in more parameters and play with things like wave forms and what not. Like... on the top display I assume I'm looking at frequency versus the received level (in dB?). The other two displays I'm not sure I understand entirely.

One of my gripes with naval simulations is that it seems like game designers focus too much on the button-ology without paying enough attention to the substance which drives decision making. This is techno-weenieness, but it's good techno-weenieness. You can learn something from it. If something like this could be improved upon and integrated into something like Dr. Sid's subsim, that'd be absolutely fabulous. The interface doesn't necessarily have to look slick, it just has to be usable and updatable so that eventually it could be slick.

Quote:

Originally Posted by timmyg00 (Post 1069266)
None! My complex math is so rusty it's pathetic. I used the C++ rand() function and limited the maximum noise level to 7 pixels above the bottom of the display.

Man, i think my demo isn't passing muster with the hardcore :oops:

TG



All times are GMT -5. The time now is 08:31 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.