ASCII Data Beamformer File

The ASCII Data Beamformer enables you to specify the element weights in a text file. Each weight specified in the file is matched to an element by means of the element ID. Thus, the file’s element ID must match the element ID as specified in the antenna’s element configuration. For example, if the antenna is defined to have three enabled elements and their IDs are 5, 7, and 8, then the file weights must have IDs of 5, 7, and 8. While this beamformer does allow specifying custom time-dynamic gain responses, it can be cumbersome for many adaptations over time. This file format is more appropriate for smaller-sized arrays that only have a small set of known responses at determined time intervals. For more robust arrays and a highly time-dynamic custom adaptation, you should use the Beamformer script. Also, if you want to change your custom weights based on the operating frequency, you would need to use the Beamformer script.

Since this is a data file, this beamformer does not use any information from the Direction Providers.

Parameter Description
AsciiDataBeamformer v1 Indicates the data format and version of the data format. This is a required keyword and must be the first line in the file.
Sampling Mode Specifies how STK determines element weight values for time steps between what is specified in the file. SampleAndHold is the only option available. SampleAndHold causes STK to continue to use the file's weight(s) specified by the file's closest time that is less than the current scenario time. STK switches to new weight(s) when the scenario time becomes greater than the next time entry within the file. When there are no future entries, the antenna will continue to hold the last specified weight(s).
Number of Elements Enter the number of enabled elements, indicating the number of IDs and weights that must appear on each line. The options available are IQ and AmplitudeAndPhase.
Weight Data Provide the time-specified element weights. Each row must include the time step and an element ID and complex weight for each of the Number of Elements specified above. Each complex weight must be a real and imaginary pair separated by a comma and enclosed in parentheses.

ASCII Data Beamformer file format

If the first character of a line is '#', then the entire line is treated as a comment line. Uncommented file lines have the following meanings:

  • The first uncommented line is the file format version (required), which tells STK the format of the remaining file.
  • The second uncommented line is a sampling mode (required). You can only use "SampleAndHold".
  • The third uncommented line defines the format of the element weight data and units. The following options are available: IQ and AmplitudeAndPhase. When using AmplitudeAndPhase, add a space and either the word Radians or Degrees to define how the phase is represented in the file.
  • The fourth uncommented line is the number of elements (required).

The remaining uncommented lines are time-specified complex element weights (required) with the following format:

<time> <element 1 id> <element 1 weight> ... <element n id> <element n weight>

where element IDs MUST correspond to the ENABLED element ID specified in the Element Configuration, and the weights are specified as a comma-separated value pair enclosed in parentheses.

The following are sample files for a set of weights for an ASCII Data Beamformer designed for a five-element linear array, with IDs from 0 through 4, that changes its gain response every 10 seconds for the first 50 seconds. There are three examples. All have the same response, but each shows a different format for specifying the response.

Sample 1: Specifying complex I/Q data

#Sample for specifying an ASCII Data Beamformer file using complex I/Q data
AsciiDataBeamformer v2
SampleAndHold IQ
5
-1.0E300 0 (0.1675,0.0)      1 (0.3538,0.0)     2 (0.4472,0.0)  3 (0.3538,0.0)      4 (0.1675,0.0)
10.0     0 (0.0773,0.1486)   1 (0.3025,0.1836)  2 (0.4472,0.0)  3 (0.3025,-0.1836)  4 (0.0773,-0.1486)
20.0     0 (-0.0916,0.1403)  1 (0.1684,0.3111)  2 (0.4472,0.0)  3 (0.1684,-0.3111)  4 (-0.0916,-0.1403)
30.0     0 (-0.1675,0.0)     1 (0.0,0.3538)     2 (0.4472,0.0)  3 (0.0, -0.3538)    4 (-0.1675, 0.0)
40.0     0 (-0.1045,-0.1309) 1 (-0.1534,0.3188) 2 (0.4472,0.0)  3 (-0.1534,-0.3188) 4 (-0.1045,0.1309)
50.0     0 (0.01686,-0.1667) 1 (-0.2625,0.2373) 2 (0.4472,0.0)  3 (-0.2625,-0.2373) 4 (0.01686,0.1667)
60.0     0 (0.1116,-0.1250)  1 (-0.3229,0.1446) 2 (0.4472,0.0)  3 (-0.3229,-0.1446) 4 (0.1116,0.1250)
1.0E300  0 (0.1116,-0.1250)  1 (-0.3229,0.1446) 2 (0.4472,0.0)  3 (-0.3229,-0.1446) 4 (0.1116,0.1250)		

Sample 2: Specifying Amplitude/Phase (phase in radians)

#Sample for specifying an ASCII Data Beamformer file using Amplitude/Phase in radians
AsciiDataBeamformer v2
SampleAndHold
AmplitudeAndPhase Radians
5
-1.0E300 0 (0.1675,0.0)      1 (0.3538,0.0)     2 (0.4472,0.0)  3 (0.3538,0.0)      4 (0.1675,0.0)
10.0     0 (0.1675,1.0911)   1 (0.3539,0.5455)  2 (0.4472,0.0)  3 (0.3539,-0.5455)  4 (0.1675,-1.0911)
20.0     0 (0.1675,2.1491)  1 (0.3538,1.0747)  2 (0.4472,0.0)  3 (0.3538,-1.0747)  4 (0.1675,-2.1491)
30.0     0 (0.1675,3.1416)     1 (0.3538,1.5708)     2 (0.4472,0.0)  3 (0.3538,-1.5708)    4 (0.1675,-3.1416)
40.0     0 (0.1675,-2.2445) 1 (0.3538,2.0193) 2 (0.4472,0.0)  3 (0.3538,-2.0193) 4 (0.1675,2.2445)
50.0     0 (0.1675,-1.470) 1 (0.3538,2.4064) 2 (0.4472,0.0)  3 (0.3538,-2.4064) 4 (0.1675,1.470)
60.0     0 (0.1675,-0.8421)  1 (0.3538,2.7206) 2 (0.4472,0.0)  3 (0.3538,-2.7206) 4 (0.1675,0.8421)
1.0E300  0 (0.1675,-0.8421)  1 (0.3538,2.7206) 2 (0.4472,0.0)  3 (0.3538,-2.7206) 4 (0.1675,0.8421)	

Sample 3: Specifying Amplitude/Phase (phase in degrees)

#Sample for specifying an ASCII Data Beamformer file using Amplitude/Phase in degrees
AsciiDataBeamformer v2
SampleAndHold
AmplitudeAndPhase Degrees
5
-1.0E300 0 (0.1675,0.0)      1 (0.3538,0.0)     2 (0.4472,0.0)  3 (0.3538,0.0)      4 (0.1675,0.0)
10.0     0 (0.1675,62.5171)  1 (0.3538,31.2553) 2 (0.4472,0.0)  3 (0.3538,-31.2553)  4 (0.1675,-62.5171)
20.0     0 (0.1675,123.1371) 1 (0.3538,61.5731)  2 (0.4472,0.0)  3 (0.3538,-61.5731)  4 (0.1675,-123.1371)
30.0     0 (0.1675,180.0)     1 (0.3538,90.0)     2 (0.4472,0.0)  3 (0.3538,-90.0)    4 (0.1675,-180.0)
40.0     0 (0.1675,-128.601) 1 (0.3538,115.6959) 2 (0.4472,0.0)  3 (0.3538,-115.6959) 4 (0.1675,128.601)
50.0     0 (0.1675,-84.2282) 1 (0.3538,137.8756) 2 (0.4472,0.0)  3 (0.3538,-137.8756) 4 (0.1675,84.2282)
60.0     0 (0.1675,-48.2492)  1 (0.3538,155.8764) 2 (0.4472,0.0)  3 (0.3538,-155.8764) 4 (0.1675,48.2492)
1.0E300  0 (0.1675,-48.2492)  1 (0.3538,155.8764) 2 (0.4472,0.0)  3 (0.3538,-155.8764) 4 (0.1675,48.2492)