В этом примере показано, как sinc антенный элемент может аппроксимировать диаграмму направленности массива.
Создайте 5 2 прямоугольный массив изотропных элементов, спроектированных, чтобы работать на рабочей частоте 3 ГГц. Укажите элемент, располагающий с интервалами равный половине длины волны.
fc = 3e9; lambda = freq2wavelen(fc); array = phased.URA('ElementSpacing',lambda/2,'Size',[5 2]);
Вычислите диаграмму направленности массива. Укажите диапазон углов азимута от-90 ° до 90 ° и нулевого вертикального изменения. Постройте ненормированный шаблон азимута в полярных координатах.
az = -90:0.5:90; recopts = {'CoordinateSystem','rectangular','Type','powerdb'}; polopts = {'CoordinateSystem','polar','Type','powerdb'}; arrayPatternAz = pattern(array,fc,az,0,recopts{:}); pattern(array,fc,az,0,polopts{:})
Нормируйте шаблон так, чтобы его максимальное значение составило 0 дБ. Вычислите ширину луча азимута.
arrayPatternAzNorm = arrayPatternAz - max(arrayPatternAz); arrayAzBw = beamwidth(array,fc);
Вычислите излучение для области значений углов возвышения от-90 ° до 90 ° и нулевого азимута. Нормируйте шаблон и вычислите ширину луча. Постройте ненормированный шаблон вертикального изменения в полярных координатах.
el = -90:0.5:90; arrayPatternEl = pattern(array,fc,0,el,recopts{:}); arrayPatternElNorm = arrayPatternEl - max(arrayPatternEl); arrayElBw = beamwidth(array,fc,'Cut','Elevation'); pattern(array,fc,0,el,polopts{:})
Создайте sinc антенный элемент с той же шириной луча как массив. Вычислите шаблоны вертикального изменения и азимут. Шаблоны нормированы на конструкцию.
se = phased.SincAntennaElement('Beamwidth',[arrayAzBw arrayElBw]);
sePatternAz = pattern(se,fc,az,0,recopts{:});
sePatternEl = pattern(se,fc,0,el,recopts{:});
Найдите самый маленький положительный угол азимута, под которым шаблоны отличаются приблизительно на 3 дБ. Постройте шаблоны азимута в прямоугольных координатах. Наложите точки на 3 дБ. sinc шаблон азимута совпадает с шаблоном азимута массивов хорошо приблизительно до 60 градусов.
idxAz = find((abs(arrayPatternAzNorm - sePatternAz) >= 3) & (az' >= 0),1); az3dB = az(idxAz); figure plot(az,arrayPatternAzNorm,az,sePatternAz) xline([-az3dB az3dB],'--') title("Az Cut: Normalized Array and Sinc Antenna Patterns") xlabel("Azimuth Angle, az (degrees)") ylabel("Power (dB)") legend("Array","Sinc","3-dB Point",Location="south") ylim([-50 0])
Повторите процесс для шаблонов вертикального изменения. sinc шаблон является хорошим приближением приблизительно до 20 градусов.
idxEl = find((abs(arrayPatternElNorm - sePatternEl) >= 3) & (el' >= 0),1); el3dB = el(idxEl); plot(el,arrayPatternElNorm,az,sePatternEl) xline([-el3dB el3dB],'--') title("El Cut: Normalized Array and Sinc Antenna Patterns") xlabel("Elevation Angle, el (degrees)") ylabel("Power (dB)") legend("Array","Sinc","3-dB Point") ylim([-50 0])