Этот пример демонстрирует процесс использования фотографии плоской антенны, чтобы сгенерировать жизнеспособную модель антенны и ее последующий анализ для порта, поверхности и полевых характеристик. Приложение Image Segmenter будет использоваться, чтобы выполнить сегментацию на изображении тега RFID, и получившиеся контуры будут использоваться, чтобы настроить модель антенны в Antenna Toolbox™. Начальный анализ импеданса будет сделан по частотному диапазону, чтобы изучить характеристики порта антенны. После определения резонансной частоты текущий шаблон и шаблон далекого поля будут вычислены и построены.
Этот пример зависит от Image Processing Toolbox™
Начните, делая фотографию тега RFID на фоне контраста высококачественного цвета. Камера позиционирована непосредственно по антенне. Эта фотография была сделана со смартфоном.
Выберите Foreground и Background
Используя приложение, импортируйте эту антенну и выберите опцию сокращения графика на панели инструментов. Выберите передний план и фоновые области памяти на изображении. В данном примере область переднего плана является металлизованными областями тега RFID, и фон является цветной областью.
Улучшение качества сегментации
Выбор знаний в приложении приводит к начальной сегментации изображения в фоновые фрагменты и передний план. Если эта сегментация достаточна, примените изменения и перейдите к следующей части процесса путем закрытия вкладки сокращения графика.
Если однако, все части антенны еще не были идентифицированы, продолжают повышать передний план и фоновые области памяти. Это позволяет алгоритму сегментации улучшать результаты. Это может также быть полезным, чтобы настроить плотность подобласти, чтобы совершенствовать качество сегментации. После внесения необходимых корректировок примените изменения и закройте сокращенную из графика вкладку сегментации в приложении. При возврате основной вкладке существует несколько опций, чтобы далее улучшить сегментацию. В этом примере мы используем Активную опцию Контуров и развиваем существующую сегментацию, чтобы заполнить любые недостатки в контурах.
Заметьте, что после нескольких итераций активного алгоритма контуров выполнился, контур намного более сглажен и свободен от метки как артефакты. Область в качестве примера показывают для сравнения.
Экспортируйте код и контур
Основанный на цвете процесс сегментации дает к маске изображения антенны. Используйте опцию экспорта на приложении, чтобы получить функцию и граничную информацию, которая может затем использоваться в скрипте для последующей обработки (такой как этот).
Считайте изображение, создайте маску и визуализируйте
Изображение тега 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')
Уменьшайте граничные точки
Контур имеет 28 000 точек, и это приведет к очень большому размеру mesh. Downsample этот контур на коэффициент 39. Прореживать фактор был выбран, поскольку он все еще представлял граничные детали точно на основе простого визуального осмотра.
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 создают загрузку с реактивным сопротивлением-200 и добавляют его в модель антенны.
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)
Тег имеет усиление приблизительно 2dBi на уровне 854 МГц.
Процедура для идентификации контура антенны из фотографии, преобразования в геометрическую модель антенны и ее последующего двухполупериодного анализа была подробно изложена в этом примере. Эти шаги графически изображены как показано:
Показатели производительности антенны, полученные из этой процедуры, достаточно хороши для дальнейшего интегрирования в большую системную симуляцию.