Jump to content

Recommended Posts

Posted (edited)

Hey,

I'm implementing a simple radar detection model through the scripting engine.

 

Here's what I'm using right now (in pseudocode):

CONST doppler_notch = 140 km/h
CONST detect_time = 8 seconds

FOR EACH <target> DO	
IF THESE CONDITIONS <target inside max range of radar> AND <target line of sight to radar> AND ( <target is against a sky background> OR ( <target is against terrain background> AND <radar-to-target radial velocity magnitude is greater than doppler_notch> ) ) MAINTAINED FOR detect_time SECONDS THEN	
	<target is detected>
END
END

 

Basically, in English, if the target is within the detection range of the radar, and the target is line of sight to the radar, and either the target is against a sky background or the target is against a terrain background and is outside the Doppler notch, and these conditions persist for like 8 seconds, then the target is detected.

 

Now, I don't know a whole lot about radar, and I'm curious if there might be a better simplified model that is still fairly simple. This is supposed to be for early warning radars/AWACs.

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted

The model you are using is pretty simple already while maintaining the notch etc. So for a simple model you're doing pretty good.

[sIGPIC][/sIGPIC]

Reminder: SAM = Speed Bump :D

I used to play flight sims like you, but then I took a slammer to the knee - Yoda

Posted

Are you asking for a more simpler model that models the effects of your current model or more advanced one that's still not much more complex than your current one? I think it only makes sense you asked for the latter but the wording could make it sound like the former. I don't have much knowledge of radar either other than your model covers all the basic phenomena with most simplicity. You could drop the "ground as background"-check but I assume you included it only for clarification anyway. I think the next step would be to model RCS but if that's feasible with scripting engine is another matter.

DCS Finland: Suomalainen DCS yhteisö -- Finnish DCS community

--------------------------------------------------

SF Squadron

Posted

I think you should add the RCS of the aircraft into account... if you know the power of radar and aircraft RCS you could emulate power of the radar deflection signal that comes back... basically not enough signal reflection and aircraft should not be detected even if it is not in notch

No longer active in DCS...

Posted
I think you should add the RCS of the aircraft into account... if you know the power of radar and aircraft RCS you could emulate power of the radar deflection signal that comes back... basically not enough signal reflection and aircraft should not be detected even if it is not in notch

 

That's where it gets nasty.

Good, fast, cheap. Choose any two.

Come let's eat grandpa!

Use punctuation, save lives!

Posted (edited)

Maybe not too complicated... if you know actual power the radar transmits, and you know the shape (in degrees) of the scan cone, you can easily calculate the percentage of that energy that will hit the surface area if the target aircraft.

 

You need front, side and top RCS profile... any angle in between can be calculated using trigonometry to get RCS value of any angle.

 

You can then calculate the area this aircraft will "occupy" in the radar scan cone and how much energy will hit it, then just estimate how much of the radar energy is enough to trigger a contact.

 

Arent lot of radar specifications known, as in, don't manufacturers state max target detection based on RCS? hm.. but then again how could you find out radar energy strength?

Edited by Kuky

No longer active in DCS...

Posted (edited)

You need front, side and top RCS profile... any angle in between can be calculated using trigonometry to get RCS value of any angle.

 

Err, no, that would give you gross errors in some angles. You would need to solve reflection over a tensor field on the whole surface of the object, because reflection off of every infinitesimal surface area has an angle and frequency dependency. It might be better than not taking it into regard, but it is still far from a good approximation of RL.

 

Arent lot of radar specifications known, as in, don't manufacturers state max target detection based on RCS? hm.. but then again how could you find out radar energy strength?

 

You can find some blah about it but they tell you preciouss little about under what exact circumstances. And of course there is some proneness for exaggeration. :)

Edited by sobek

Good, fast, cheap. Choose any two.

Come let's eat grandpa!

Use punctuation, save lives!

Posted

No need for that much complication Kuky ... it's better if he avoids the radar equation. All aircraft in DCS have the same RCS anyhow (Well, same for all fighters (4RCS), same for all large aircraft (I forget the value), different for really small/stealth aircraft).

 

There is no difference based on aspect. For what Speed needs, doing more than what he's doing is far too complicated IMHO. It's easy to just find the RCS of the target in game and set a range according to the RCS and radiated power without doing too many mathematical gymnastics.

 

Maybe not too complicated... if you know actual power the radar transmits, and you know the shape (in degrees) of the scan cone, you can easily calculate the percentage of that energy that will hit the surface area if the target aircraft.

 

You need front, side and top RCS profile... any angle in between can be calculated using trigonometry to get RCS value of any angle.

 

You can then calculate the area this aircraft will "occupy" in the radar scan cone and how much energy will hit it, then just estimate how much of the radar energy is enough to trigger a contact.

 

Arent lot of radar specifications known, as in, don't manufacturers state max target detection based on RCS? hm.. but then again how could you find out radar energy strength?

[sIGPIC][/sIGPIC]

Reminder: SAM = Speed Bump :D

I used to play flight sims like you, but then I took a slammer to the knee - Yoda

Posted

One thing that I forgot that is simple to do is minimum altitude. I don't have enough knowledge of how the targets altitude above ground affects it's visibility in radar but DCS simulates this with some radar specific minimum altitude under which airborne objects can't be seen. Someone who knows better could shed some light on this.

DCS Finland: Suomalainen DCS yhteisö -- Finnish DCS community

--------------------------------------------------

SF Squadron

Posted (edited)

I don't think formulas would be too complicated, for example:

 

RCS value to be derived at any times should be sum of

RCS value from front aspect - lets call it RCSf - lets call its axis X axis

RCS value from side aspect - lets call it RCSs - lets call its axis Y axis

RCS value from top aspect - lets call it RCSt - lets call its axis Z axis

 

Max values for each 3 is when aspect of the target is at 0° deviation from the particular aircraft axis

 

RCStotal = cos(X)*RCSf + cos(Y)*RCSs + cos(Z)*RCSt

 

cos of an angle is max value of 1 at 0° and 0 at 90°

 

meaning at any aspect where you are looking at aircraft directly from front/side or top, your RCS value will match that value (which could be estimate) and as you transition between different aspect it calculates for every angle respective value for each axis.

 

and you will get good approximation of how much surface area is exposed to the radar radiation and get signal strength.

Edited by Kuky

No longer active in DCS...

Posted

Radar simple model. No jamming, no clutter.

 

local radar = {
   position = Vec3,
   detectionDistancePerRCS = number,
}

local target = {
   position = Vec3,
   RCS = number
}

local land = {
   boolean checkLOS = function()
   end
}

function detectTarget(radar, target, land)
   if land.checkLOS(radar.position, target.position) then
       local dir = vec3Minus(target.position, radar.position)
       local distance = vec3Length(dir)
       return distance < target.detectionDistancePerRCS * math.pow(target.RCS, 1 / 4)
   else
       return false
   end
end

 

Very simple, but don't take into account ground clutter.

Posted (edited)

Sounds like a great initiative Speed. :)

 

Some (even rudimentary) implementation of RCS seems a necessary feature.

More necessary for realism than notching against ground clutter I think.

Having a Tu-95 and a F-117 both detected by EWR at maximum range is going to more of an obvious immersion killer than that the radar holds its lock while the aircraft is beaming and against ground clutter at closer range.

If the're both "errors" think about the % of time that each will occur, and the impact of each.

If it's an EWR you're simulating, every bogey will enter from outside of range and transition through the detection range to a greater or lesser extent. Lack of RCS modelling will be apparent the first time a bomber and a fighter come into range from different directions at the same time.

Contrast that with the % of time that any aircraft can be both performing its given task, and succesfully notching EWR / AWAC, and consider that even if they do perform the manouvre correctly, it should only matter if they happen to be being scanned at the time (if they beam perfectly for 3 seconds while the AWAC is scanning the other side of the map, the AWAC will never know).

Dynamic RCS would be nice - simple is probably enough - AWAC / EWR detect in the same plane as the target plane for the vast majority of the time, so Kuky's idea with front / side / read figures would be fine. You could have your own table (if you want a world off complaints from the community :-), alternatively, there must be RCS attributes for each aircraft in DCS.World. GG said all fighter size aircraft have a '4', but F-117 are harder to detect and lock than F-15, so there must be some different numbers in there (which could perhaps be updated ?). You could use those, Kuky's idea and a standard assumption about how aspect impacts RCS (so 0.75 * RCS for front, 1 * RCS for side, 1.5 * RCS for rear).

 

On a slightly different line - what are you going to do about scan times ?

Calculate globally continuously, update at an interval, calculate globally at intervals, or calculate progressively ?

Edited by Weta43

Cheers.

Posted
GG said all fighter size aircraft have a '4', but F-117 are harder to detect and lock than F-15, so there must be some different numbers in there (which could perhaps be updated ?).

 

Helps if you read what he wrote:

 

All aircraft in DCS have the same RCS anyhow (Well, same for all fighters (4RCS), same for all large aircraft (I forget the value), different for really small/stealth aircraft).

 

The values for stealth already exist. They don't need to be played with. And unless you're sitting behind the computing power to generate the return falloff from the angles of a Nighthawk, "guesstimations" are useless.

 

If Speed doesn't wish to cope with power falloff over range, the illusion of RCS having a realistic effect is just that- an illusion. Seriously, he said *simple*. Simple doesn't involve RCS.

 

Ancillary functions with higher (perceived) realism factors than the radars currently available to player aircraft; yessir, that's *exactly* what DCS needs!

 

Comprehend the forest from trees, gents. Feature creep is clearly not useful for what the man wants to do.

Posted

^^^^

 

What he said.

 

Come on guys, Speed said simpler, not more complicated. There is no need for super realism in any way shape or form for what he is doing. You're actually asking for more than what the game does in some respects. It's just not necessary for his purpose.

[sIGPIC][/sIGPIC]

Reminder: SAM = Speed Bump :D

I used to play flight sims like you, but then I took a slammer to the knee - Yoda

Posted (edited)

More complex model for airborne doppler-radar and ground clutter.

Here we have 2 bands of doppler freqencies (radial velocities) where target is not visible: around main lobe spot and altimeter spot.

We don't care how strong reflections from these spots in comparison to reflection from the target.

 

local radar = {
   position = Vec3,
   velocity = Vec3,
   detectionDistancePerRCS = number,
   notchBand = number, //velocity
   altBand = number, //velocity
}

local target = {
   position = Vec3,
   velocity = Vec3,
   RCS = number
}

local land = {
   boolean checkLOS = function()
   end
}

function detectTarget(radar, target, land)
   if not land.checkLOS(radar.position, target.position) then
       return false;
   end

   local dir = vec3Subtract(target.position, radar.position)    

   //blind band of radial velocities within altimeter spot
   local targetRadialVelocity = vecDot(dir, vecMinus(target.velocity, radar.velocity)) / distance
   if math.abs(targetRadialVelocity) < radar.altBand then
       return false
   end

   //blind band of radial velocities within main lobe spot
   local distance = vec3Length(dir)
   local mainLobeSpotRadialVelocity = vec3Dot(dir, radar.velocity) / distance
   if math.abs(mainLobeSpotRadialVelocity - targetRadialVelocity) < radar.notchBand then
       return false
   end

   return distance < target.detectionDistancePerRCS * math.pow(target.RCS, 1 / 4)
end

 

radar.detectionDistancePerRCS parameter is different for different radar modes.

 

This model is used for AI radars.

Edited by Святой
Posted
One thing that I forgot that is simple to do is minimum altitude. I don't have enough knowledge of how the targets altitude above ground affects it's visibility in radar but DCS simulates this with some radar specific minimum altitude under which airborne objects can't be seen. Someone who knows better could shed some light on this.

 

Target altitude:

- determines maximal distance of line-of-sight between the radar and the target

- determines background: will main lobe touch the ground or not

 

Radar altitude:

- determines maximal distance of line-of-sight between the radar and the target

- determines background: will main lobe touch the ground or not

- determines strength of reflection from the ground both on main and side lobes

Posted (edited)

Saint, two quick questions:

This line:

if math.abs(mainLobeSpotRadialVelocity - targetRadialVelocity) < radar.detectionDistancePerRCS then

 

Shouldn't it be this?

if math.abs(mainLobeSpotRadialVelocity - targetRadialVelocity) < notchBand then

 

Also, what causes the main lobe spot blind band? It seems like it's a blind band caused by the Doppler shift of the movement of the radar but... doesn't the radar KNOW what direction its moving so it can automatically factor out its own movement towards the target?

 

Anyway, the simple radar model I described at first is working well, but I'd always love to improve it more... I actually have another question though:

 

How realistic is it for fighter jets to be able to "hide" themselves from enemy radar by flying very close to a civilian airliner? That makes for a much more fun and interesting initial phase to the mission, as long as it's not totally off-the-wall unrealistic :)

 

Anyway, as far as RCS goes, I'd like to not worry about it. RCS is not necessary, because this script is (right now) only being used on one type of aircraft, and also, I'm adjusting a fixed detection range value to fit what the gameplay of the mission requires.

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted (edited)
Helps if you read what he wrote:

Very true

 

The values for stealth already exist. They don't need to be played with... ...and unless you're sitting behind the computing power to generate the return falloff from the angles of a Nighthawk, "guesstimations" are useless

the illusion of RCS having a realistic effect is just that- an illusion.

Can I remind you - It's a simulation - It's all an illusion :)

 

 

My view - in a sim, if you calculate it 'realistically' but because of the sim's limitations get poor results - it's a bad outcome.

If you fake it completely, but get better results - that's a better outcome.

The LO / FC SFM is a based on a particular approach that has little to do with working out how planes actually fly, but is 'good enough' for the general level of simulation.

DCS flight models are more dependant on the calculation of the actual forces acting on the plane as it flies, but are still simplifications.

 

One of the realities you're simulating in radar modelling is that different aircraft should have different RCS. If that's done by assigning each aircraft an estimated discrete value in a table, that's better than a single value for all, or a choice between only 3 values.

 

Simillarly, RCS should change with aspect. If that's done by a simple modifier mapped relative to aspect (be that 4, 6, or 360^3 values), that's better than an unchaging value regardless of aspect.

 

The first of these requires only the addition of a specific value for each aircraft, and no change to the sim's detection modelling, the second would be relatively low calculation cost.

 

Comprehend the forest from trees, gents. Feature creep is clearly not useful for what the man wants to do.

 

It's already got creep - which you could re-term feature prioritisation - otherwise he could just use a unit in moving zone trigger.

The question is not "is he going to add more features" it's "which features warrant adding" because they add to immersion in the sim, and in my opinion, getting detection ranges and update speeds right would add more to immersion than getting notching against ground clutter working - but that's how I see it. You might see other aspects as more important, or be happy with a simpler approach.

 

If I were doing it, I'd add RCS before notching, but I'm not, so I gave my opinion and my reasons. End of story.

 

Speed has said :

Anyway, as far as RCS goes, I'd like to not worry about it. RCS is not necessary, because this script is (right now) only being used on one type of aircraft

It's his project, he knows what he wants to do with it, so that's entirely his call. I'm grateful on behalf of the commnity for his efforts wherever he arrives at.

 

PS

 

Come on guys, Speed said simpler, not more complicated.

Actually, he said "simple", not simpler...

I'm implementing a simple radar detection model through the scripting engine.

After getting corrected fo not reading your post, if I knew what the smiley code for a wry smile was, I'd add it here :)

 

You're actually asking for more than what the game does in some respects. It's just not necessary for his purpose.

 

You're completely right...

 

It's true that the suggestion (I don't think anyonne actually asked Speed to implement these ideas, only raised them as ideas to consider) is more than the sim does, but that was the point - both of his model, and of the suggestions - to add capabilities to the sim.

 

If there were a radar model with these features (either scripted, or native to the sim), it's outputs could drive a more realistic AWAC or GCI app for MP, provide more realistic detection in sim for all sorts of scenarios both in MP & SP, I suspect you could use the scripting to drive visibility of aircraft in F-10 view (by changing the visible attribute of the unit on the fly ? ), etc.

Edited by Weta43

Cheers.

Posted
Saint, two quick questions:

This line:

if math.abs(mainLobeSpotRadialVelocity - targetRadialVelocity) < radar.detectionDistancePerRCS then

 

Shouldn't it be this?

if math.abs(mainLobeSpotRadialVelocity - targetRadialVelocity) < notchBand then

Yes

 

Also, what causes the main lobe spot blind band? It seems like it's a blind band caused by the Doppler shift of the movement of the radar but... doesn't the radar KNOW what direction its moving so it can automatically factor out its own movement towards the target?

There are 2 variants:

- Radar receives this information from nav system

- Radar uses tracking rejection filter to find and track the band

 

How realistic is it for fighter jets to be able to "hide" themselves from enemy radar by flying very close to a civilian airliner? That makes for a much more fun and interesting initial phase to the mission, as long as it's not totally off-the-wall unrealistic :)

Nothing unrealistic. Radars have limited resolution capabilities.

Posted (edited)

So on Russian fighter's radar screens, 3 'merged' fighters flying close together on an intercept with the player would get the same symbol on the HUD as a single bomber or simillar ?

(the total RCS within the resolvable volume is the same for 3 fighters or a bomber, and the symbol is a function of RCS for the resolved return ?)

I'll have to go and look at what it does now ...

Edited by Weta43

Cheers.

Posted

The radar cell has an angular and range resolution. If your targets are flying more or less inside the cell or edge to edge the radar might not be able to break them out. Some more modern radars operate special techniques to deal with this, some are better than others, but nothing is perfect.

[sIGPIC][/sIGPIC]

Reminder: SAM = Speed Bump :D

I used to play flight sims like you, but then I took a slammer to the knee - Yoda

Posted

If you're trying to make them think you're an airliner, it would be easier to fly the same routes and have radio call signs and xponders as if you were an airliner. There's also some EW functions you can do to make youreself appear bigger than you are too.

 

I have to agree that using the same RCS value for all aspects is poor fidelity. Whether or not this is good for what is trying to be achieved here is a completely different matter.

 

Here's a RCS diagram, and you can see that there are some serious peaks and valleys in it. Of course the RCS of this plane is massive compared to modern fighters.

 

sigmap.gif

 

However, something like this might be more in order for the sim.

 

t33-rcs-polar.jpg

 

I really need to get one of those textbooks on Radar and sit down with it. The stuff interests me to no end.

  • 2 months later...
  • 3 months later...
Posted

I'll raise this topic from the dead too, since I'm now a Journeyman Radar Tech.

 

PRF is how often you're sending out a pulse. This is important, because given the speed of light, the farthest you can see is how far the wave travels out and back in the time of that pulse. If you get a return outside this time, the radar doesn't know if this is a close contact from the second pulse, or a distant contact from the first.

 

EWRs work on exactly this. Typically they have long PRFs so they can see a loooong way, and the actual time of the pulse itself is a bit longer too to put out more energy. This results in a min. range because the pulse is still being transmitted when it's bounced off an object. There's a fancy switch that seperates the transmitter and reciever from the antenna, so you don't fry the reciever when transmitting.

 

A CW radar needs two antennas because, well, it's transmitting a continuous wave. This is great for knowing the speed of something relative to you. They can modulate the wave, and also generate range data. If you absolutely have to know exactly where it is, or at a minimum, what direction it is, and what speed it's going, CW is the way to go. This is used in some SAM systems when they launch missiles to track targets and their own missile to guide it. This is also how RWRs know when they're being shot at.

 

Another viable method is using really high PRF to get a lot of accurate returns with both range, speed, heading, azmiuth, and elevation data, but again, because the PRT is so small, range is limited. However short range SAMs don't go far enough to really care.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...