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?
0 个评论
回答(1 个)
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!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Design, Analysis, Benchmarking, and Verification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!