Atlas / Skills / matlab / Matlab Design Pcb Filter

Matlab Design Pcb FilterSAFE

skills/matlab/matlab-design-pcb-filter

The MATLAB Agentic Toolkit brings proven MATLAB capabilities to AI agents, making engineering and scientific workflows agent-ready.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
1.0
Hosts
—
License
NOASSERTION
Stars
1,164
01

Overview

The MATLAB Agentic Toolkit brings proven MATLAB capabilities to AI agents, making engineering and scientific workflows agent-ready.

Read from source at commit 58967e6f32b5OBSERVED · 2026-10-14
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: matlab-design-pcb-filter
description: "Bandpass, lowpass, bandstop filter design — hairpin, coupled-line, combline, stub, SIW for frequency selection and harmonic rejection. TRIGGER: user asks to design, create, or analyze any RF filter (bandpass, lowpass, highpass, bandstop, hairpin, coupled-line, combline, stub, SIW). Invoke BEFORE writing code — filter class names differ from what you would guess. SKIP: EM simulation/S-parameter extraction of an existing filter (use matlab-analyze-em), general PCB layout assembly (use matlab-assemble-pcb-layout), material/stackup setup only (use matlab-manage-pcb-material), optimization sweeps (use matlab-optimize-pcb-design)."
license: https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md
metadata:
  author: MathWorks
  version: "1.0"
---

# Designing RF Filters

## When to Use

- Designing bandpass filters (coupled-line, hairpin, open-loop, combline, interdigital, SIW)
- Designing lowpass filters (stepped-impedance)
- Designing bandstop or notch filters (spurline, stub-based)
- Extracting coupling matrices from measured S-parameter data (measuredFilter)
- Selecting a filter topology for a given bandwidth, selectivity, or size requirement

## When NOT to Use

- Designing transmission lines for impedance control — use `matlab-design-pcb-transmission-line`
- Designing couplers or splitters — use `matlab-design-pcb-coupler`
- Designing passive components (inductors, capacitors, baluns) — use `matlab-design-pcb-passive`
- Setting up substrate or conductor materials — use `matlab-manage-pcb-material`
- Optimizing filter dimensions after design — use `matlab-optimize-pcb-design`

## Typical Workflow

1. **Before:** `matlab-manage-pcb-material` — set up substrate and conductor
2. **This skill:** Design the filter (catalog object or custom geometry)
3. **Check mesh/memory:** `memoryEstimate(obj, fc, 'RetainMesh', true)` — inspect auto-mesh density before committing to a full solve
4. **After:** `matlab-analyze-em` — validate S-parameters → `matlab-optimize-pcb-design` — tune dimensions → `matlab-write-pcb-layout` — export Gerber

## Quick Reference — Filter Selection

| Filter Object | Type | Poles | Best For |
|---------------|------|-------|----------|
| `filterCoupledLine` | Bandpass | 2–8 | General microstrip BPF |
| `filterHairpin` | Bandpass | 2–8 | Compact BPF, folded resonators |
| `filterOpenLoop` | Bandpass | 4/6/8 | Compact quasi-elliptic |
| `filterCombline` | Bandpass | 2–6 | Narrow-band, high-Q |
| `filterInterdigital` | Bandpass | 2–8 | Wideband, good stopband |
| `filterStepImpedanceLowPass` | Lowpass | 3–9 | Distributed LPF |
| `filterStub` | LP/HP/BS | N stubs | Flexible stub topology |
| `filterSpurline` | Bandstop | 1–2 | Compact notch filter |
| `SIWFilter` | Bandpass | 2–6 | High-Q waveguide-in-PCB |
| `measuredFilter` | Bandpass | N | Model extraction from measurements |

## Bandpass Filters

### Coupled-Line Filter

```matlab
f = filterCoupledLine;
f = design(filterCoupledLine, 3e9);    % Design at 3 GHz
show(f);
sp = sparameters(f, linspace(1e9, 5e9, 101), 'SweepOption', 'interp');
rfplot(sp);
```

Key properties: `FilterOrder`, `CoupledLineLength`, `CoupledLineWidth`, `CoupledLineSpacing`, `PortLineLength`, `PortLineWidth`.

### Hairpin Filter

Folded coupled-line resonators for compact size:

```matlab
f = design(filterHairpin, 3e9);
show(f);
memoryEstimate(f, 3e9, 'RetainMesh', true);  % Check mesh density before solving
sp = sparameters(f, linspace(1e9, 5e9, 101), 'SweepOption', 'interp');
rfplot(sp);
```

Key properties: `FilterOrder`, `CoupledLineLength`, `CoupledLineWidth`, `CoupledLineSpacing`, `PortLineLength`, `PortLineWidth`, `Spacing`, `ResonatorOffset`, `FeedOffset`.

### Chebyshev Response

Pass `FilterType` and `RippleFactor` to `design()` for equiripple passband response:

```matlab
f = design(filterHairpin, 1.8e9, FBW=10, FilterType='Chebyshev', RippleFactor=0.5);
```

`FilterType` options: `'Butterworth'` (default), `'Chebyshev'`. `FBW` sets fractional bandwidth (%). `RippleFactor` sets passband ripple in dB (default 0.5) — only applies to Chebyshev.

### Fifth-Order Hairpin

```matlab
f = filterHairpin;
f.FilterOrder = 5;
f = design(f, 2.4e9);
show(f);
```

### Open-Loop Filter

Quasi-elliptic response with cross-coupling:

```matlab
f = filterOpenLoop;
f.NumPoles = 6;
f.FeedOffset = 0.5e-3;
show(f);
sp = sparameters(f, linspace(1e9, 5e9, 101), 'SweepOption', 'interp');
rfplot(sp);
```

**Key Properties:** `NumPoles` (4/6/8), `ResonatorLength`, `ResonatorWidth`, `SplitGap`, `GapHorizontal`, `GapVertical`, `FeedOffset`, `CoupledResonatorGap`, `QuadrupletGap`, `QuadrupletOffset`.

### Combline Filter

Short-circuited resonators, excellent for narrow-band. **Note:** `filterCombline` does not have a `design` function — set properties manually:

```matlab
f = filterCombline;
f.FilterOrder = 3;
f.Height = 1.6e-3;
show(f);
```

**Key Properties:** `FilterOrder`, `ResonatorLength` (scalar or vector), `ResonatorWidth`, `ResonatorSpacing` (scalar or vector), `ResonatorOffset`, `FeedOffset`, `Capacitor` (loading capacitance — distinctive to combline).

### Interdigital Filter

Alternating short-circuited resonators, wideband. **Note:** `filterInterdigital` does not have a `design` function — set properties manually:

```matlab
f = filterInterdigital;
f.FilterOrder = 4;
f.Height = 1.6e-3;
show(f);
sp = sparameters(f, linspace(3e9, 7e9, 101), 'SweepOption', 'interp');
rfplot(sp);
```

**Key Properties:** `FilterOrder`, `ResonatorLength` (scalar or vector), `ResonatorWidth` (scalar or vector), `ResonatorSpacing` (scalar or vector), `ResonatorOffset`, `ViaDiameter` (scalar or vector — distinctive to interdigital), `FeedOffset`, `IsShielded`, `Connector`.

## Lowpass Filters

### Stepped-Impedance Lowpass

```matlab
f = filterStepImpedanceLowPass;
f = design(filterStepImpedanceLowPass, 2.5e9);
show(f);
sp = sparameters(f, linspace(0.1e9, 5e9, 101), 'SweepOption', 'interp');
rfplot(sp);
```

Key properti
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-14 · audit v0.4.1 · source sha 58967e6f32b5full audit observations/trust-audit/skill/matlab__matlab-design-pcb-filter.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-1458967e6f32b5SAFEB89first audit
05

Questions

What does the Matlab Design Pcb Filter skill do?

The MATLAB Agentic Toolkit brings proven MATLAB capabilities to AI agents, making engineering and scientific workflows agent-ready.

Is Matlab Design Pcb Filter safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Matlab Design Pcb Filter access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

How current is this page?

The grade is for one exact copy of the source (58967e6f32b5), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement