Hi Thomas,
You are right and below is some explanation and a suggestion.
When we designed the irSensor system object, we wanted it to be a stand-alone object as well as integrated with the scenario.
When it used within the scenario, for example, using the detect(scenario), the scenario attaches the irSignature to the targets input that goes into the irSensor. This is then used by the irSensor to compute the right signal-to-noise ratio which will govern detection generation.
When it is not used within the scenario, we wanted to give people something that still works, by using default values for the irSignature. However, you can still attach irSignature to the target information. The way to do that is by adding the following fields to the targets struct that you are passing to the irSensor as the first input:
% Assume your target input is called myTarget and you have already defined your irSensor called myIRSensor.
myIRSignature = irSignature; % Feel free to configure that as appropriate for your use case.
myRCSSignature = rcsSignature; % You may not need it. I am showing here with it in case your use case uses more sensors.
myTarget.Signatures = {myRCSSignature,myIRSignature}; % Add the Signatures field to your structure.
detections = myIRSensor(myTarget,time);
I hope this works for you.
Elad