Для моделирования набора сигналов с помощью сенсорного элемента или матрицы датчиков можно использовать phased.Collector или phased.WidebandCollector. Оба объекта-сборщика предполагают, что падающие сигналы распространились на местоположение элементов массива, но не были приняты массивом. Другими словами, объекты-сборщики не моделируют фактический прием массивом. Сигнальные эффекты, связанные с усилением и внутренним шумом приемника массива, см. в разделе Preamp приемника.
Во многих приложениях обработки матриц отношение полосы пропускания сигнала к несущей частоте невелико. Выраженное в процентах, это соотношение не превышает нескольких процентов. Примеры включают в себя радиолокационные приложения, в которых импульсный сигнал модулируется несущей частотой в микроволновом диапазоне. Это узкополосные сигналы. Для узкополосных сигналов можно выразить вектор управления как функцию одной частоты, несущей частоты. Для узкополосных сигналов phased.Collector объект является подходящим.
В других применениях узкополосное предположение не оправдано. Во многих акустических и гидроакустических применениях волна, падающая на матрицу, является волной давления, которая немодулирована. Невозможно выразить вектор управления как функцию одной частоты. В этих случаях подход поддиапазонов, реализованный в phased.WidebandCollector является уместным. Широкополосный коллектор разлагает входные данные на поддиапазоны и вычисляет вектор управления для каждого поддиапазона.
При использовании узкополосного коллектора phased.Collector, необходимо указать следующие аспекты коллектора:
Рабочая частота массива
Скорость распространения волны
Датчик (один элемент) или матрица датчиков
Тип входящей волны. Варианты: 'Plane' и 'Unspecified'. При выборе 'Plane'входные сигналы представляют собой множество плоских волн, падающих на всю матрицу. Каждая плоская волна принимается всеми собирающими элементами. При выборе 'Unspecified'входной сигнал представляет собой отдельные волны, падающие на отдельные датчики.
Следует ли применять веса к сигналам, собранным различными элементами массива. При необходимости применения весов они указываются при выполнении системного object™.
При использовании широкополосного коллектора phased.WidebandCollector, необходимо указать следующие аспекты коллектора:
Несущая частота
Демодулируется ли сигнал на основную полосу
Рабочая частота массива
Скорость распространения волны
Частота отбора проб
Датчик (один элемент) или матрица датчиков
Тип входящей волны. Варианты: 'Plane' и 'Unspecified'. При выборе 'Plane'входные сигналы представляют собой множество плоских волн, падающих на всю матрицу. Каждая плоская волна принимается всеми собирающими элементами. При выборе 'Unspecified'входной сигнал представляет собой отдельные волны, падающие на отдельные датчики.
Следует ли применять веса к сигналам, собранным различными элементами массива. При необходимости применения весов они указываются при выполнении объекта System.
В этом примере показано, как построить узкополосный коллектор, моделирующий плоскую волну, ударяющуюся о двухэлементный однородный линейный массив. Массив имеет интервал между элементами 0,5 м (по умолчанию для ULA). Рабочая частота массива составляет 300 МГц.
Создайте массив и коллектор Системные объекты.
array = phased.ULA('NumElements',2,'ElementSpacing',0.5); collector = phased.Collector('Sensor',array,... 'PropagationSpeed',physconst('LightSpeed'),... 'OperatingFrequency',3e8,'Wavefront','Plane');
Создайте сигнал и смоделируйте прием с угла (45; 0).
x =[1 -1 1 -1]'; y = collector(x,[45;0])
y = 4×2 complex
0.4433 - 0.8964i 0.4433 + 0.8964i
-0.4433 + 0.8964i -0.4433 - 0.8964i
0.4433 - 0.8964i 0.4433 + 0.8964i
-0.4433 + 0.8964i -0.4433 - 0.8964i
В предыдущем случае объект-сборщик умножает входной сигнал, x, по соответствующему элементу вектора управления для двухэлементного ULA. Следующий код создает ответ эквивалентным образом. Сначала создайте ULA, а затем вектор управления. Сравните с предыдущим результатом.
array = phased.ULA('NumElements',2,'ElementSpacing',0.5); steeringvec = phased.SteeringVector('SensorArray',array); sv = steeringvec(3e8,[45;0]); x =[1 -1 1 -1]'; y1 = x*sv.'
y1 = 4×2 complex
0.4433 - 0.8964i 0.4433 + 0.8964i
-0.4433 + 0.8964i -0.4433 - 0.8964i
0.4433 - 0.8964i 0.4433 + 0.8964i
-0.4433 + 0.8964i -0.4433 - 0.8964i
Sensor свойство phased.Collector Системный object™ может задавать один антенный элемент. В этом примере создайте пользовательский антенный элемент с помощью phased.CustomAntennaElement Системный объект. Антенный элемент имеет косинусную характеристику по углам возвышения от (-90 °, 90 °). Постройте график отклика полярной диаграммы направленности антенны при частоте 1 ГГц на разрезе отметки при азимуте 0 °. Отображение характеристики напряжения антенны на азимуте 0 ° и отметке 45 °.
Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов функции эквивалентным step синтаксис. Например, заменить myObject(x) с step(myObject,x).
fc = 1e9;
antenna = phased.CustomAntennaElement;
antenna.AzimuthAngles = -180:180;
antenna.ElevationAngles = -90:90;
antenna.MagnitudePattern = mag2db(...
repmat(cosd(antenna.ElevationAngles)',1,numel(antenna.AzimuthAngles)));
resp = antenna(fc,[0;45])resp = 0.7071
pattern(antenna,fc,0,[-90:90],'Type','powerdb')

Отклик напряжения антенны на азимуте 0 ° и отметке 45 ° составляет, как и ожидалось, cos (45 °).
Принять узкополосный синусоидальный вход, падающий на антенный элемент от азимута 0 ° и отметки 45 °. Определите сигнал, собранный на элементе.
collector = phased.Collector('Sensor',antenna,'OperatingFrequency',fc); x =[1 -1 1 -1]'; y = collector(x,[0;45])
y = 4×1
0.7071
-0.7071
0.7071
-0.7071
В этом примере показано, как смоделировать прием широкополосного акустического сигнала одним всенаправленным микрофонным элементом.
Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов функции эквивалентным step синтаксис. Например, заменить myObject(x) с step(myObject,x).
x = randn(10,1); c = 340.0; microphone = phased.OmnidirectionalMicrophoneElement(... 'FrequencyRange',[20 20e3],'BackBaffled',true); collector = phased.WidebandCollector('Sensor',microphone,... 'PropagationSpeed',c,'SampleRate',50e3,... 'ModulatedInput',false); y = collector(x,[30;10]);