Генерация модели антенны и полноволновый анализ с фото

Этот пример демонстрирует процесс использования фотографии плоской антенны для генерации жизнеспособной модели антенны и ее последующий анализ характеристик порта, поверхности и поля. Приложение Image Segmenter будет использоваться для выполнения сегментации изображения RFID-тега, а получившиеся контуры будут использоваться для настройки модели антенны в Antenna Toolbox™. Начальный анализ импеданса будет выполнен в частотной области значений, чтобы понять характеристики порта антенны. После определения резонансной частоты будет вычислен и нанесен шаблон тока и дальнего поля.

  • Этот пример зависит от Image Processing Toolbox™

RFID-тег

Начните с фотографии RFID-тега на высокоцветном контрастном фоне. Камера расположена непосредственно над антенной. Эта фотография была сделана на смартфоне.

Сегментация изображений с использованием приложения Image Segmenter

Выбор переднего и заднего плана

Используя приложение, импортируйте эту антенну и выберите опцию вырезания графика на панели инструментов. Выберите области переднего и заднего плана на изображении. В данном примере область переднего плана является металлизированными областями тега RFID, а фон - цветной областью.

Улучшение качества сегментации

Выбор фона в приложении приводит к начальной сегментации изображения в части переднего плана и фона. Если этой сегментации достаточно, примените изменения и перейдите к следующей части процесса, закрыв вкладку графика cut.

Если, однако, все части антенны еще не идентифицированы, продолжайте маркировать области переднего и заднего плана. Это позволяет алгоритму сегментации улучшить результаты. Также может быть полезно скорректировать плотность субрегиона для уточнения качества сегментации. После внесения необходимых корректировок примените изменения и закройте вкладку сегментации графика в приложении. При возвращении к основной вкладке существуют несколько опций дальнейшего улучшения сегментации. В этом примере мы используем опцию «Активные контуры» и развиваем существующую сегментацию, чтобы заполнить любые дефекты в контурах.

Заметьте, что после выполнения нескольких итераций алгоритма активных контуров, граница намного более гладкая и свободна от программных продуктов, подобных вырезам. Для сравнения показана примерная область.

Экспорт кода и контура

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

Очистка границ

Чтение изображения, создание маски и визуализация

Изображение RFID-тега импортируется в рабочую область, а контур генерируется с помощью экспортированного кода из приложения Image Segmenter.

I = imread('IMG_2151.JPG');
BWf = createMask_2151(I);
figure
imshow(BWf)

Вычисление контуров в Декартовом пространстве

Для выполнения анализа полной волны в этой структуре следующим шагом является преобразование представления пространства пикселей контура в представление декартового пространства. Для этого мы извлекаем максимальные и минимальные индексы пикселей в размерностях x, y и масштабируем его на основе общих размеров тега с точки зрения его длины и ширины.

B = bwboundaries(BWf);
xmax = max(B{1}(:,1));
xmin = min(B{1}(:,1));
ymax = max(B{1}(:,2));
ymin = min(B{1}(:,2));

% Scale per pixel based on tag dimensions
L = 18.61e-3;
W = 72.27e-3;
LperColpixel = L/(xmax-xmin);
WperRowpixel = W/(ymax-ymin);
Bp = B;
for i = 1:length(Bp)
    Bp{i} = [Bp{i}(:,1).*LperColpixel Bp{i}(:,2).*WperRowpixel zeros(size(Bp{i},1),1)];
end
p = cell2mat(Bp);
x = p(:,1);
y = p(:,2);
figure
plot(x,y,'*')
grid on
axis equal
xlabel('x (m)')
ylabel('y (m)')
title('Boundary points')

Уменьшение граничных точек

У контура 28000 точек, и это приведет к очень большому размеру сетки. Понизьте этот контур в 39 раз. Коэффициент downsampler был выбран, поскольку он все еще представлял детали контуров, точно основанные на простом визуальном осмотре.

D = 39;
xD = x(1:D:end);
yD = y(1:D:end);
BpD{1} = Bp{1}(1:D:end,:);
figure
hold on
plot(xD,yD,'r*')
shg
grid on
axis equal

Определите структуру как пользовательскую геометрию

Присвойте этот контур для создания антенны.

c = customAntennaGeometry;
c.Boundary = BpD;
c.Operation = 'P1';
c.FeedLocation = [0.0185 0.0392 0];
c.FeedWidth = 0.25e-3;
figure
show(c)
view(0,90)

Создание антенны питания

Область корма тега все еще имеет некоторые острые программные продукты на контуре. Это должно быть очищено перед определением подачи. Мы используем логическую операцию вычитания, чтобы удалить этот программный продукт.

sf1 = antenna.Rectangle('Length', 5e-3, 'Width', 2e-3,                  ...
                        'Center', [0.019 0.0392]);
c.Boundary = [BpD(1) {getShapeVertices(sf1)}];
c.Operation = 'P1-P2';
figure
show(c)
view(0,90)

Конечным шагом является определение питающей полоски. Добавьте подачу в виде прямоугольника.

sf = antenna.Rectangle('Length', 0.25e-3, 'Width', 2e-3,               ...
                       'Center', [0.0185 0.0392]);
c.Boundary = [BpD(1) {getShapeVertices(sf1)} {getShapeVertices(sf)}];
c.Operation = 'P1-P2+P3';
figure
show(c)
view(0,90)

Анализ портов - Поведение импеданса по сравнению с частотой

Определите характеристики порта этой антенны путем выполнения анализа импеданса в грубом дискретизированной частотной области значений. Ожидается, что метка будет работать в полосе UHF, между 800 - 900 МГц. Наша частотная область значений немного превысит 900 МГц.

f_coarse = linspace(0.8e9,0.95e9,21);
figure
impedance(c,f_coarse)

Настройка тега для резонанса

Метка индуктивна и имеет хорошее сопротивление компонента приблизительно на 854 МГц. Кроме того, реактивное сопротивление показывает классическую параллельную резонансную кривую вокруг этой частоты. Обычно вход сопротивление чипа будет комплексным, чтобы соответствовать тегу. Используйте свойство Load на антенне, чтобы отменить индуктивный компонент. Поскольку реактивное сопротивление составляет около 200$\Omega$, создайте нагрузку с реактивным сопротивлением -200$\Omega$ и добавьте его к модели антенны.

X = -1i*200;
zl = lumpedElement;
zl.Impedance = X;
c.Load = zl;

Пересчитать импеданс При нагрузке на место подачи индуктивная часть реактивного напряжения должна быть отменена на 854 МГц. Подтвердите это, проанализировав импеданс в тонкой области значений. Реактивное сопротивление при 854 МГц должно составлять приблизительно 0 Ом.

f_fine = linspace(0.8e9,0.95e9,51);
figure
impedance(c,f_fine)

Анализ поверхности - поведение тока на центральной частоте

На центральной частоте визуализируйте распределение тока на поверхности антенны.

figure
current(c,854e6)

Анализ поля - шаблон на центральной частоте

Теги RFID обычно имеют всенаправленный шаблон дальнего поля в одной плоскости. Визуализируйте диаграмму направленности излучения в дальнем поле.

figure
pattern(c,854e6)
0

Тег имеет коэффициент усиления приблизительно 2dBi на 854 МГц.

Заключение

Процедура идентификации контура антенны из фотографии, преобразования в геометрическую модель антенны и последующего анализа полной волны была подробно описана в этом примере. Эти шаги графически изображены как показано:

Эксплуатационные характеристики антенны, полученные из этой процедуры, достаточно хороши для дальнейшего интегрирования в большую системную симуляцию.

См. также