How can I design a PBG substrate microstrip antenna in Matlab?

4 次查看(过去 30 天)
I'm using antennaDesign tool box of Matlab to design a insetfed Microstrip antenna. Now I want to compare the results with the same antenna, but with a PBG substrate. How can I do this?

回答(1 个)

AR
AR 2025-2-25
Hi Igor,
I understand that you want to compare the performance of an inset fed microstrip patch antenna with and without a PBG substrate. Follow the steps below:
1. Define and visualize a standard inset-fed microstrip patch antenna using the “design” function to generate the antenna based on the desired operating frequency.
Refer the below link for “design” function:
f0 = 2.4e9; % Target frequency (2.4 GHz)
patch = design(patchMicrostripInsetfed, f0);
show(patch); % MATLAB automatically calculates the antenna dimensions for 2.4 GHz operation.
2. Define the Dielectric Material and size of holes.
fr4 = dielectric('FR4');
fr4.Thickness = patch.Substrate.Thickness; % Match original thickness
Nx = 4; Ny = 3; % Number of holes along x and y
dx = patch.Length / 5;
dy = patch.Width / 5; % Spacing between holes
r_hole = patch.Length / 20; % Radius of each hole
3. Create multiple “antenna.Circle” objects to represent the holes.
pbgholes = cell(Nx * Ny, 1); % Use a cell array to store PBG holes
idx = 1;
for i = 1:Nx
for j = 1:Ny
x = -patch.Length/2 + (i-1) * dx;
y = -patch.Width/2 + (j-1) * dy;
pbgholes{idx} = antenna.Circle('Radius', r_hole, 'Center', [x, y]); % Store in cell array
idx = idx + 1;
end
end
4. Modify the substrate by introducing these holes and assign it to a new patch antenna
% Convert cell array to a single antenna shape using Boolean union
pbgPattern = pbgholes{1};
for k = 2:numel(pbgholes)
pbgPattern = pbgPattern + pbgholes{k}; % Boolean Union Operation
end
% Modify substrate to include PBG holes
pbgSubstrate = fr4; % Copy FR4 dielectric
pbgSubstrate.Name = 'PBG_Substrate'; % Rename it for clarity
% Create PCB stack with PBG substrate
pbgPatch = patchMicrostripInsetfed;
pbgPatch.Length = patch.Length;
pbgPatch.Width = patch.Width;
pbgPatch.Height = patch.Height;
pbgPatch.Substrate = pbgSubstrate; % Assign modified PBG substrate
5. To analyse the impact of the PBG substrate, compare the S-parameters and radiation patterns of both antennas using “rfplot” and “pattern” functions.
Refer the below links for “rfplot” and “pattern” functions:
s1 = sparameters(patch, linspace(2e9, 3e9, 51)); % Standard antenna
s2 = sparameters(pbgPatch, linspace(2e9, 3e9, 51)); % PBG antenna
figure;
rfplot(s1);
title('S-parameters of Standard Patch Antenna');
%Repeat for s2
figure;
pattern(patch, f0);
title('Radiation Pattern of Standard Patch Antenna');
%Repeat for s2
For more information on “antenna.Circle”, refer the below link:
Hope this clarifies!

类别

Help CenterFile Exchange 中查找有关 Design, Analysis, Benchmarking, and Verification 的更多信息

标签

产品


版本

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by