pcbComponent
Description
Use the pcbComponent
object to create a multiport PCB component
consisting of metal and dielectric layers.
Creation
Description
pcb = pcbComponent
creates a two-port PCB component.
pcb = pcbComponent(Name=Value)
sets Properties using one or more
name-value arguments. For example, pcb =
pcbComponent(Name=PCBWilkinson)
creates a PCB component named
'PCBWilkinson'
Properties not specified retain their default
values.
Properties
Name
— Name of PCB component
'MyPCB'
(default) | character vector | string scalar
Name of the PCB component, specified a character vector or string scalar.
Example: component =
pcbComponent(Name='PCBsplitter')
Data Types: char
| string
Revision
— Revision details
'v1.0'
(default) | character vector | string scalar
Design revision details of the PCB component, specified as a character vector or string scalar.
Example: component = pcbComponent(Revision='v2.0')
Data Types: char
| string
BoardShape
— Shape of PCB
traceRectangular
(default) | object
Shape of the PC board, specified as a shape object. You can specify any one of the shapes from Custom Geometry and PCB Fabrication.
Example: trace = tracerectangular; component =
pcbComponent(BoardShape=trace)
creates a rectangle shaped trace on a
PCB.
Data Types: char
| string
BoardThickness
— Height of PCB component
0.0016
(default) | positive scalar
Height of the PCB component, specified as a positive scalar in meters. To understand
more about BoardThickness
, see Board Thickness versus Dielectric Thickness in PCB.
Example: component =
pcbComponent(BoardThickness=0.0026)
Data Types: double
Layers
— Metal and dielectric layers
{[1×1 traceRectangular] [1×1 dielectric] [1×1
traceRectangular]}
(default) | cell array of metal and dielectric layers
Metal and dielectric layers, specified a cell array of metal and dielectric layers. You can specify one metal shape or one dielectric substrate per layer starting with the top layer and proceeding downward.
Data Types: cell
FeedLocations
— Feed locations on PCB component
[2×4 double]
(default) | N-by-3 array | N-by-4 array
Feed locations on the PCB component in Cartesian coordinates, specified as either an N-by-3 or N-by-4 array with N representing the number for ports on the PCB component. You can place the feed inside the board or at the edge of the board. The arrays translate into the following:
N-by-3 – [x, y, Layer]
N-by-4 – [x, y, SigLayer, GndLayer]
Example: component = pcbComponent(FeedLocations=[-0.0187 0 1
2])
Data Types: double
FeedDiameter
— Diameter of center pin of feed connector
0.0025
(default) | positive scalar
Diameter of center pin of the feed connector, specified as a positive scalar in meters.
Example: component =
pcbComponent(FeedDiameter=2.000e-04)
Data Types: double
ViaLocations
— Electrical short locations on PCB component
real vector of size M-by-4 array
Electrical short locations on the PCB component in Cartesian coordinates, specified as a real vector of size M-by-4 array. The array translates into the following:
M-by-4 – [x, y, SigLayer, GndLayer]
Example: component = pcbComponent(ViaLocations=[0 -0.025 1
2])
Data Types: double
ViaDiameter
— Diameter of electrical shorting pin used between metal layers
positive scalar | positive vector
Diameter of electrical shorting pin used between metal layers, specified as a positive scalar in meters for a single pin or a positive vector in meters for multiple pins. Number of values specified in this property must match the number of pins.
Example: component =
pcbComponent(ViaDiameter=1.0e-3)
Data Types: double
FeedViaModel
— Model for approximating feed and via
'strip'
(default) | 'square'
| 'hexagon'
| 'octagon'
Model for approximating the feed and via, specified as one of the following:
'strip'
– A rectangular strip approximation to the feed and via cylinder. This approximation is the simplest and results in a small mesh.'square'
– A four-sided polyhedron approximation to the feed and via cylinder.'hexagon'
– A six-sided polyhedron approximation to the feed and via cylinder.'octagon'
– A eight-sided polyhedron approximation to the feed and via cylinder.
Example: component =
pcbComponent(FeedViaModel='octagon')
Data Types: char
| string
Conductor
— Type of metal material
'PEC'
(default) | metal
object
Type of the metal used as a conductor, specified as a metal
object.
You can choose any metal from the MetalCatalog
or specify a metal of your choice. For more information, see metal
. For
more information on metal conductor meshing, see Method of Moments Solver for Metal and Dielectric Structures.
Example: m = metal('Copper'); component =
pcbComponent(Conductor=m)
Load
— Lumped elements
[1x1 LumpedElement] (default) | lumped element object handle
Lumped elements added to the PCB component feed, specified as a lumped element
object handle. For more information, see lumpedElement
(Antenna Toolbox)
Antenna Toolbox™.
Example: Load = lumpedelement
. lumpedelement
is
the object handle for the load created using
lumpedElement
.
Tilt
— Tilt angle of PCB component along Z-axis
0
(default) | scalar
Tilt angle of the PCB component along Z-axis, specified as a scalar or vector with each element unit in degrees.
Example: Tilt=90
Example: pcb.Tilt = 90
Data Types: double
TiltAxis
— Tilt axis of PCB component
[0 0 1]
(default) | 'Z'
Tilt axis of the PCB component, specified as [0 0 1]
or
'Z'
.
Example: pcb.TiltAxis = 'Z'
Data Types: double
IsShielded
— Flag to add metal shielding
false or 0 (default) | true or 1
Flag to add a metal shielding to the PCB component, specified as a logical 0 or logical 1. The default value is logical 0.
Example:
IsShielded = true
or 1
add a metal
shield.
Note
To enable FEM solver required for the metal shield property, download the
Integro-Differential Modeling Framework for MATLAB
. To download
this add-on:
In the Home tab Environment section, click on Add-Ons. This opens the add-on explorer. You need an active internet connection to download the add-on.
Search for
Integro-Differential Modeling Framework for MATLAB
and click Install.To verify if the download is successful, run
in your MATLAB® session command line.matlab.addons.installedAddons
On Windows, to run the IDMF add-on, you must install the Windows Subsystem for Linux (WSL). To install WSL, see Install Linux on Windows with WSL.
The Windows Defender Firewall can block the PostgreSQL server when using the IDMF add-on. To resolve this issue, you can allow the server to communicate on desired networks if the firewall prompts. Alternatively, you can manually add the executable file of the PostgreSQL server located in
<matlabroot>\sys\postgresql\win64\PostgreSQL\bin\postgres.exe
. For more information regarding firewalls, see Allowing apps through Windows Defender Firewall .
Data Types: logical
Shielding
— Metal shielding
shape.Box
object
This property is read-only.
Metal shield for the PCB component, specified as a shape.Box
object.
The length and width of the box must be equal to the length and width of the ground plane.
The center of the box is at [0 0 Shielding.Height]
. You can modify the
property after creating the object.
Dependencies
To enable the Shielding
property, set the
IsShielded
property to true
or
1
.
Object Functions
current | Calculate and plot current distribution |
charge | Calculate and plot charge distribution |
feedCurrent | Calculate current at feed port |
gerberWrite | Generate Gerber files |
layout | Plot all metal layers and board shape |
mesh | Change and view mesh properties of metal or dielectric in PCB component |
meshconfig | Change mesh mode of PCB component or shape structure |
sparameters | Calculate S-parameters for RF PCB objects |
show | Display PCB component structure or PCB shape |
Examples
Create Default PCB Component and Plot S-Parameters
Create a PCB component using default properties.
pcb = pcbComponent;
View the PCB component.
show(pcb)
Calculate S-parameters over 10 frequencies from 1-5 GHz.
s=sparameters(pcb,linspace(1e9,5e9,10));
Plot the S-parameters.
rfplot(s)
Create PCB Component with Lid on Top
Create a PCB component with a lid at a distance of 2 cm above the component.
p = pcbComponent;
pcblid = traceRectangular(Length=p.Layers{1}.Length,Width=p.Layers{3}.Width);
dAir = dielectric('Air');
dAir.Thickness = 2e-2;
p.BoardThickness = p.BoardThickness + dAir.Thickness;
p.Layers = {pcblid,dAir,p.Layers{1},p.Layers{2},p.Layers{3}};
p.FeedLocations(:,3:4) = [3 5;3 5];
show(p)
Calculate the S-parameters over the 10 frequencies from 1-5 GHz.
s = sparameters(p,linspace(1e9,5e9,10)); rfplot(s)
Version History
Introduced in R2021b
See Also
gerberRead
| gerberWrite
| PCBReader
| PCBWriter
| PCBServices
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)