Общие уравнения для исследований структурного метода.

Другая возможность разрешения неоднозначности определяется структурой пеленгуемого сигнала. Известно, что для защиты передаваемой информации применяются сложные сигналы, в частности, сигналы с псевдослучайной перестройкой рабочей частоты (ППРЧ).

Последовательность действий для определения истинного направления на источник многочастотного сигнала представляется следующим образом. Измеряем разность фаз принимаемого сигнала двумя, разнесенными в пространстве приемниками для каждой частотной составляющей ППРЧ сигнала. Расстояние b между приемниками существенно больше длины волны всех частотных составляющих ППРЧ сигнала.

Каждому значению Δφi соответствует несколько значений пеленга (вследствие периодичности дискриминационной характеристики пеленгатора), одно из которых истинное, а остальные – ложные. Истинное значение априори неизвестно. Для того чтобы выделить истинное значение из всех измеренных, проводим расчет разности фаз для нескольких частотных позиций.

Разность времени прихода плоской электромагнитной волны на антенны, линия расположения которых находится под углом a к нормали относительно фронта волны, переводится в разность фаз для каждой частотной позиции представляется следующим выражением (4):

(4)

где i - номер частотной позиции ППРЧ сигнала, t - время, λi - длина волны, соответствующая частотной позиции, b - длина базы, с - скорость распространения радиоволн.

Вычисление Δφ относительно угла пеленга дает K-значений (K=2b/λi – отношение длины базы b к длине полупериода волны с наименьшей λi), поэтому для каждой частотной позиции i ППРЧ сигнала получим одномерный массив (строку) возможных значений (5):

(5)

где k = 0…K. Однозначное определение направления возможно, когда разность фаз не превышает значения полупериода длины волны [11]. Измерение αi,k проводим для всех К полупериодов, в одном и полупериодов значение αi,k будет истинным.

Getting Information about Individual Matches

The MatchCollection object returned by the RegExp.Execute method is a collection of Match objects. It has only two read-only properties. The Count property indicates how many matches the collection holds. The Item property takes an index parameter (ranging from zero to Count-1), and returns a Match object. The Item property is the default member, so you can write MatchCollection(7) as a shorthand to MatchCollection.Item(7).

The easiest way to process all matches in the collection is to use a For Each construct, e.g.:

' Pop up a message box for each match
Set myMatches = myRegExp.Execute(subjectString)
For Each myMatch in myMatches
  msgbox myMatch.Value, 0, "Found Match"
Next

The Match object has four read-only properties. The FirstIndex property indicates the number of characters in the string to the left of the match. If the match was found at the very start of the string, FirstIndex will be zero. If the match starts at the second character in the string, FirstIndex will be one, etc. Note that this is different from the VBScript Mid function, which extracts the first character of the string if you set the start parameter to one. The Length property of the Match object indicates the number of characters in the match. The Value property returns the text that was matched.

The SubMatches property of the Match object is a collection of strings. It will only hold values if your regular expression has capturing groups. The collection will hold one string for each capturing group. The Count property indicates the number of string in the collection. The Item property takes an index parameter, and returns the text matched by the capturing group. The Item property is the default member, so you can write SubMatches(7) as a shorthand to SubMatches.Item(7). Unfortunately, VBScript does not offer a way to retrieve the match position and length of capturing groups.

Also unfortunately is that the SubMatches property does not hold the complete regex match as SubMatches(0). Instead, SubMatches(0) holds the text matched by the first capturing group, while SubMatches(SubMatches.Count-1) holds the text matched by the last capturing group. This is different from most other programming languages. E.g. in VB.NET, Match.Groups(0) returns the whole regex match, and Match.Groups(1) returns the first capturing group's match. Note that this is also different from the backreferences you can use in the replacement text passed to the RegExp.Replace method. In the replacement text, $1 inserts the text matched by the first capturing group, just like most other regex flavors do. $0 is not substituted with anything but inserted literally.

Сайт управляется системой uCoz