ELINT POD in the DCS Viggen

So I was watching a video the other night and came across something I thought was so cool with respect to the DCS Viggen and the ELINT POD it can carry.

Take a look at the parts tagged here in the video.

And then take a look at the tagged part of the video here discussing a program a guy wrote using data from ELINT POD. Just amazing.

I just thought that was so neat. You can actually put together recon missions with the Viggen and actually gather ELINT. :slight_smile:


That’s really cool!

1 Like

I had been reading the recon part of the FM. Nice to see it in action, I really like the addon at the end to plot the SAM/ADA/EWR’s on the map. Could make for some fun multiplayer that way.

1 Like

Absolutely! I’m already thinking of some recon missions with the Viggen and the fun we all could have flying down low baiting SAM systems. :slight_smile: One would think the program the guy wrote could possible become a module within DCS. Why not?

I’ve actually though a photo recon bird could be a lot of fun with good mission making. Everything I’ve read about lower level photo reconnaissance, it requires some pretty solid flying skills (imagine trying to keep the same 500 ft AGL at 480 knots TAS over the karsts of Vietnam), as well as mission planning skills. Certainly not conventional “combat flying,” but certainly challenging.

As far as what we have for recon birds in DCS currently, the F-86 and F-5 are the two that come to mind. The RF-86F produced in limited numbers, unarmed, and with some external changes to the AC to fit the cameras. A unarmed F-86 might make a decent stand in.

The F-5A had a recon variant with 4 small (for aerial recon work) camera’s in the nose. They took pictures on 70mm film stock, which is what IMAX uses. Remember though, back before digital camera’s came around medium format photography was the standard for anything serious (35mm was considering the “amateurs” and childrens format by photo snobs). Medium format frame sizes were from 60mm square to 60mmx90mm. So a 70mm negative was nothing special, the camera for the base newspaper would shoot bigger negatives. They also produced a very small run of the RF-5E which had a longer nose to fit in a “normal” sized aerial camera. That sucker shot negatives that where 4.5" on a side, or about 120mm, a giant roll of them.

This much bigger camera is the KS-87, which was used on the RF-4C AND… the TARPS pod on the F-14B.

So I think that having some photo recon missions for the Tomcat could be the start of something cool! I’ll do some poking around to see about Russian photo recon, as I have 0 knowledge on that subject. I might just make a couple missions for a notional RF-86F and RF-5E, just to see if anyone has any fun with them.

1 Like

It shouldn’t be too hard for ED to implement a photo recon functionality - at least if all it was is a ‘screenshot’ file saved in the DCS folder, black and white and with coordinates printed on a corner if you want to be fancy.


As per @Andrew116 prompting, played around with. It works, so put here for easier finding in the future! :slight_smile:

Here’s my super simple steps:

Step 1. Fit a U22.A Jammer on your Viggen.
Step 2. Right console, Jammer mode selector to ‘A’, Jammer channel to ‘K’. Bork Bork!
Step 3. Fly around and pick up signals, but don’t die. Go Fast Mr Rabbit!
Step 4. Land. System into ‘BER’. Open up kneeboard and the ELINT page shows the Lat/Long boxes.

There should be a file in DCS AJS37 folder ELINT.info that contains all the text info, with emitter number, the frequency detected (so you can tell what it is), how long you heard it and the ‘box’ coords.

EDIT: ELINTData.info is found in your ‘Saved Games’ DCS_AJS37 folder. Create one first I guess, although mine already was there from Simple Radio.

To plot it nicely on a map, a bit of code, e.g.

Example ELINT line from video:
NW 43,32,10 040,07,39 SE 43,12,12 040,24,40 (two sets of degrees, minutes and seconds).

So that’s 43.53611111, -40.1275 by 43.20333333, -40.41111111 decimal for our box (top left, bottom right).

With a bit of Google Maps API it looks like:

Example code to play around with here:

Fun stuff! :cowboy_hat_face:


So one thing I would have to look up is what threats map to what frequencies and type. The PRF is pulses per second, right?

Anyone recognize any of these? Lazy web == @near_blind basically :slight_smile:

(sorry about the eye test, kneeboard screen grab):


I was kind of hoping you had ‘NATOPS ALL THE QUICK ANSWERS TO WHAT PRF A SA-6 AND UP EMITS’ document on hand. :slight_smile:

1 Like

Here you go…

…courtesy of ‘grunf’ and ‘funkyfranky’ in this thread: [MOD] Viggen Warfare Kneeboard Pages - DCS: AJS37 Viggen - ED Forums


Thank you @bunyap2w1

I’m going to try a quick run over this example map, and see if I can do a ‘paste in AJS ELINT File, Get out map’ quick script.


I guess I’m not understanding how you translated those…

1 Like

The kneeboard or the file gives back, per emitter, the top left and the bottom right point coordinates of a rectangle that the emitter could be in (based on the signals it received). It does this with a pair of coordinates. “NW 43,32,10 040,07,39” is one pair, 43 degrees, 32 minutes and 10 seconds by 40 degrees, 7 minutes and 39 seconds (the North West meaning the top left of a box) with “SE 43,12,12 040,24,40” being the second pair (the SE meaning the bottom right of a box).

So the output from the Viggen is in the traditional ‘degrees’ ‘minutes’ seconds’ format (plus a hemisphere qualifier, i.e. North or South, East or West, which makes the number positive or negative.

The Google maps API (like most APIs) takes a floating point number rather than human friendly degrees/minutes/seconds as its coordinate system (easier for the math) so we need to convert it. It’s essentially just taking the base (60) and dividing up:

= floating_point_coord = degrees + minutes/60 + seconds/(60*60);

= 43.53611111 = 43 + 32/60 + 10/(60*60);

So with the two sets of coordinates converted to decimal (our box corners we got given) we can give Google maps a box extent to draw like this:

  var boxCoords = [
    {lat: 43.53611111, lng: 40.1275},
    {lat: 43.53611111, lng: 40.41111111},
    {lat: 43.20333333, lng: 40.41111111},
    {lat: 43.20333333, lng: 40.1275},

…which as you can see below, has taken what we know (the top left (TL) and bottom right (BR)) and then substituted in the top right and bottom left points to make four points of a polygon.

  var boxCoords = [
    {lat: TL_Y, lng: TL_X},
    {lat: TL_Y, lng: BR_X},
    {lat: BR_Y, lng: BR_X},
    {lat: BR_Y, lng: TL_X},

I might have typed too much, but that’s the basic idea.


I also found this by the same people, which has a whole smörgåsbord of sounds/files/pdf’s etc with frequencies and types. Putting it here not to lose it again.


Ok, my wife watched a movie I had no interest in, so I snuggled a laptop on my person and tried to nod at the right bits.

Here’s a quick script that takes in Viggen ELINT text and spits out an interactive map that identifies and shows the likely locations from the sensor log:

Quick Demo Better Than Movie With Zero Spaceships In It

Scenario - I set up a SA-6 just off the coast on the Persian Gulf map and took up a Viggen to get blasted by searching and tracking radar. I take off from Khasab and right into trouble. The mission looks like this:

After lots of RWR lights, when I landed, went to 'BER" mode then I got the following file created (Note: if you don’t already, create a ‘DCS_AJS37’ folder here):

C:\Users\notwatchingmovie\Saved Games\DCS_AJS37\ELINTData.info


Emitter: 1
Freq: A PRF: 967
First signal: 5:21:54 Last signal: 5:25:8
Sequence broadca: 1s Silent: 2s
NW: 28:32:15 056:14:42 SE: 26:13:30 058:13:06

Emitter: 2
Freq: A PRF: 1763
First signal: 5:22:16 Last signal: 5:24:16
Sequence broadca: 0.1s Silent: 0.1s
NW: 27:00:15 056:16:16 SE: 26:13:56 056:47:57

Here’s the output from here (you can visit it and use the map). I just put a marker with a tooltip in the middle of the box, hover over to see more info: Polygon Auto-Completion - JSFiddle - Code Playground


A big closer:

Not too bad for a 5 minute flight.

To use the script yourself, go to Polygon Auto-Completion - JSFiddle - Code Playground and just change the following lines and hit ‘Run’ in the top left. You should just be able to cut and paste from the file into the bits in double quotes. Hopefully ok to use but feel free to ask questions etc!:

Line 14:

 // Replace these examples below if you want your own plots..

 // First emitter Freq: A PRF: 967
 var elintLine1 = "NW: 28:32:15 056:14:42 SE: 26:13:30 058:13:06";
 var elintFreq1 = "Freq: A PRF: 967";
 plotOnMap(map, elintLine1, elintFreq1);
 // Second emitter Freq: A PRF: 1763
 var elintLine2 = "NW: 27:00:15 056:16:16 SE: 26:13:56 056:47:57";
 var elintFreq2 = "Freq: A PRF: 1763";
 plotOnMap(map, elintLine2, elintFreq2); 

Note: I got bored typing all the PRF id’s in, so there’s only a couple here. Feel free to add them all :slight_smile: and share back:

Line 88:

  switch(freq) {
      case "1763":
          return "SA-6 Gainful Tracking"
      case "967":
          return "SA-6 Gainful Search"
          return "You want me to type all these in?"

Edited for clarity.

This looks like a lot of fun!
When we used to hang these pods we just called them «KA» even though the KA was upgraded to the new U22 some 10 years earlier. Old habits die hard, I guess. And its companion was still called «KB».
Also easier to say «Kå-a» instead of «u-tjugotvå». I know, you just read «Bork, bork, borky bork», didn’t you? Ok! «Cow-ah» and «oh-chugga-toe».


Nice work, but you’re also going to have to factor in signal duration as well as frequency on your discriminator function.

An SA-11 Search radar is the same frequency as an SA-6 Tracking radar, the SA-11 emits for 1-2 seconds the SA-6 for 0.1 seconds.

1 Like

Also forgot band…

I was putting together a spreadsheet of the radar data to see about updating the script @fearlessfrog wrote. Sorting the radar data by frequency turns up a few oddities. Does anyone know where the frequency data people are using was cribbed from (which DCS file)? I just want to verify the numbers are correct before I put too much effort in dealing with identical data on 2 different systems.

1 Like