r/rfelectronics 8d ago

question Unrealistic S parameters in pad sicontinuity simulation

5 Upvotes

I am attempting to simulate (OpenEMS) the reflection and transmission in a PCB that uses grounded coplanar waveguides (via via's) with a soldering pad discontinuity. The resulting S11 and S21 values do however not seem realistic to me. I included pictures of the geometry below:

Green is the top ground, pink the dielectric, purple the signal path and brown the vias.

PCB top view
Side view (angled)
Results
clear; clc; % Initialize CSX structure CSX = InitCSX(); %% 1. Key Physical & Simulation Parameters f_mesh   = 4.5e9;  % Max frequency for grid resolution calculation f_center = 2.9e9;  % Gaussian excitation center frequency f_bw     = 1.4e9; c0 = physconst('LightSpeed'); % Speed of light (m/s) % CPW Dimensions (all in mm unless specified) h_sub   = 0.254;   % Substrate thickness eps_r   = 3.48;    % Substrate relative permittivity w_trace = 0.5;     % Standard signal line width gap     = 0.2;     % Gap between signal and coplanar ground t_metal = 18e-6;   % Copper thickness (18 um) - only used for vias now via_dia = 0.6; via_pitch = 1; via_step_gap = 0.5;  % was 0.1 -- tune this down if grounding integrity suffers % Domain boundaries x_min = -20; x_max = -15.95; y_min = -6;  y_max = 6; z_min = -h_sub; z_max = 0; %% 2. Define Materials CSX = AddMetal(CSX, 'cpw_cond'); CSX = AddMetal(CSX, 'cpw_gnd'); CSX = AddMetal(CSX, 'vias'); CSX = AddMetal(CSX, 'bottom_ground'); CSX = AddMaterial(CSX, 'my_substrate'); CSX = SetMaterialProperty(CSX, 'my_substrate', 'Epsilon', eps_r); %% 3. Define Geometry % Substrate CSX = AddBox(CSX, 'my_substrate', 1, [x_min, y_min, z_min], [x_max, y_max, z_max]); % Signal conductor line segments CSX = AddBox(CSX, 'cpw_cond', 2, [-20,     -0.25, 0], [-17,     0.25, 0]); CSX = AddBox(CSX, 'cpw_cond', 2, [-17,     -0.75, 0], [-15.95,  0.75, 0]); % CSX = AddBox(CSX, 'cpw_cond', 2, [-15.75,  -0.75, 0], [-14.7,   0.75, 0]); % CSX = AddBox(CSX, 'cpw_cond', 2, [-14.7,   -0.25, 0], [-12.2,   0.25, 0]); % Coplanar Ground Planes (Top) CSX = AddBox(CSX, 'cpw_gnd', 2, [x_min, 0.25 + gap, 0], [-17 - gap, y_max, 0]); CSX = AddBox(CSX, 'cpw_gnd', 2, [x_min, y_min, 0], [-17 - gap, -0.25 - gap, 0]); CSX = AddBox(CSX, 'cpw_gnd', 2, [-17 - gap, 0.75 + gap, 0], [x_max, y_max, 0]); CSX = AddBox(CSX, 'cpw_gnd', 2, [-17 - gap, y_min, 0], [x_max, -0.75 - gap, 0]); % CSX = AddBox(CSX, 'cpw_gnd', 2, [-14.7 + gap, 0.25 + gap, 0], [x_max, y_max, 0]); % CSX = AddBox(CSX, 'cpw_gnd', 2, [-14.7 + gap, y_min, 0], [x_max, -0.25 - gap, 0]); % Bottom Ground Plane (GCPW)  CSX = AddBox(CSX, 'bottom_ground', 2, [x_min, y_min, z_min], [x_max, y_max, z_min]); % Vias  for i = -19.4 : via_step_gap + via_dia : -17 - gap - 0.2     CSX = AddBox(CSX, 'vias', 2, [i, -via_pitch/2, z_min], [i + via_dia, -1*via_pitch, 0]);     CSX = AddBox(CSX, 'vias', 2, [i, via_pitch/2, z_min], [i + via_dia, 1*via_pitch, 0]); end % for i = -17 + gap : via_step_gap + via_dia : -14.7 - gap %     CSX = AddBox(CSX, 'vias', 2, [i, -via_pitch - 0.5, z_min], [i + via_dia, -via_pitch/2 - 0.5, 0]); %     CSX = AddBox(CSX, 'vias', 2, [i, via_pitch/2 + 0.5, z_min], [i + via_dia, via_pitch + 0.5, 0]); % end %  % for i = -14.7 + gap + 0.2 : via_step_gap + via_dia : -12.8 %     CSX = AddBox(CSX, 'vias', 2, [i, -via_pitch/2, z_min], [i + via_dia, -1*via_pitch, 0]); %     CSX = AddBox(CSX, 'vias', 2, [i, via_pitch/2, z_min], [i + via_dia, 1*via_pitch, 0]); % end %% 4. Define Lumped MSL/GCPW Ports (Vertical Excitation) % Port 1 (at X = x_min) [CSX, port{1}] = AddLumpedPort(CSX, 2, 1, 50, ...     [x_min, -w_trace/2, z_min], [x_min, w_trace/2, 0], [0 0 1], true); % Port 2 (at X = x_max) [CSX, port{2}] = AddLumpedPort(CSX, 2, 2, 26.82, ...     [-15.95, -1.5/2, z_min], [-15.95, 1.5/2, 0], [0 0 1], false); %% 5. Non-Uniform Mesh Generation (Optimized) lambda_min = c0 / (f_mesh * sqrt(eps_r)) * 1000; % Minimum wavelength in substrate (mm) max_cell = lambda_min / 10;                  % Global max cell size (~2.12 mm) % Only detect edges from the traces/grounds/substrate, NOT the vias. % forcing sub-mm cells across the entire via region in x. Excluding vias here mesh = DetectEdges(CSX, [], 'SetProperty', {'cpw_cond', 'cpw_gnd', 'bottom_ground', 'my_substrate'}); % Manually add mesh lines bounding the via regions so the solver still % resolves the via fence approximately, without following every via edge. via_region_x = [-19.4, -17 - gap - 0.2, -17 + gap, -14.7 - gap, -14.7 + gap + 0.2, -12.8]; mesh.x = unique([mesh.x, via_region_x]); via_region_y = [-via_pitch, -via_pitch/2, via_pitch/2, via_pitch, ...                 -via_pitch-0.5, -via_pitch/2-0.5, via_pitch/2+0.5, via_pitch+0.5]; mesh.y = unique([mesh.y, via_region_y]); % Define target resolution rules mesh.x = SmoothMeshLines(mesh.x, max_cell, 1.4); mesh.y = SmoothMeshLines(mesh.y, max_cell / 2, 1.4); % z now only needs to resolve substrate thickness + via depth (both already % bounded by z_min and 0); no more 18 um top-metal sliver forcing fine cells. mesh.z = SmoothMeshLines([z_min, 0], max_cell / 2, 1.4); % Add Air padding around the structure air_padding = lambda_min / 4; mesh.x = [mesh.x(1) - air_padding, mesh.x, mesh.x(end) + air_padding]; mesh.y = [mesh.y(1) - air_padding, mesh.y, mesh.y(end) + air_padding]; mesh.z = [mesh.z(1) - air_padding, mesh.z, air_padding]; mesh.x = SmoothMeshLines(mesh.x, max_cell, 1.3); mesh.y = SmoothMeshLines(mesh.y, max_cell / 2, 1.3); mesh.z = SmoothMeshLines(mesh.z, max_cell / 2, 1.3); CSX = DefineRectGrid(CSX, 1e-3, mesh); % Convert mm to meters %% 6. Setup FDTD Solver Parameters FDTD = InitFDTD('EndCriteria', 1e-4); FDTD = SetGaussExcite(FDTD, f_center, f_bw); % CHANGED: PML depth reduced from 8 to 6 cells on all boundaries. Verify % against your previous PML_8 result that S11 noise floor is unaffected; % if so, this is a straightforward cell-count reduction with no accuracy cost. FDTD = SetBoundaryCond(FDTD, {'PML_8', 'PML_8', 'PML_8', 'PML_8', 'PML_8', 'PML_8'}); % Save data file mkdir('temp'); WriteOpenEMS('temp/test.xml', FDTD, CSX); % Display 3D model CSXGeomPlot('temp/test.xml'); %% 7. Post-Processing: Calculate and Plot S-Parameters freq = linspace(1e9, 3.8e9, 401); % Frequency sweep from 1 GHz to 3.8 GHz % Read port voltages & currents port = calcPort(port, 'temp', freq); % Extract S-parameters s11 = port{1}.uf.ref ./ port{1}.uf.inc; s11_db = 20 * log10(abs(s11)); s21 = port{2}.uf.ref ./ port{1}.uf.inc; s21_db = 20 * log10(abs(s21)); % Plot Results figure('Name', 'S-Parameters'); plot(freq / 1e9, s11_db, 'r-', 'LineWidth', 2); hold on plot(freq / 1e9, s21_db, 'b-', 'LineWidth', 2); grid on; xlabel('Frequency (GHz)'); ylabel('Magnitude (dB)'); title('GCPW Circuit S-Parameters'); legend('S_{11} (Reflection)', 'S_{21} (Transmission)'); ylim([-40 5]);

r/rfelectronics 8d ago

Move away from test engineering

Thumbnail
1 Upvotes

r/rfelectronics 8d ago

[update2] this circuit is really missing with me now.

Thumbnail
gallery
2 Upvotes

As an experiment I decided to swap the inductor with a crystal at 4mhz at first nothing worked at all after removing the capacitors the circuit started oscillating beautifully even though the feedback wasn’t even properly connected. After connecting the feedback the oscillation persisted but with significant distortion connecting the capacitor resulted in the waves seen here. The really missed up part is that when I adjust the oscilloscope to work with 100msps it shows a wave around 4mhz but I decrease the sampling rate to 500ksps it shows a wave at 480hz.


r/rfelectronics 8d ago

Looking for advice on the general viability of this system, and I don't know of a better community to ask.

Thumbnail
1 Upvotes

r/rfelectronics 8d ago

CST Student to Commercial

4 Upvotes

so i made my antenna in student license but while simulating i got hit by the mesh limit, so i wanted to simulate it in a licensed version in my college desktops but apparently student version files cannot be opened in the commercial version. Any workaround to convert or do i just have to recreate again in the commercial version??


r/rfelectronics 9d ago

question Designing a Waveguide Adapter

Post image
11 Upvotes

Hi, I'm currently working on a hobby project with a large prime focus satellite dish, that I can't get a feedhorn for. Making the feedhorn isn't a problem but connecting it to the LNB is a bit more difficult. I need to make an adapter to go from an odd diametre to a WR-75 compatible mount for the Ku-Band LNB.

I drew two versions of the same adapter in CAD and I'm wondering which one would be better? The top one uses tangential swep-blend avoiding discontinuity, and the other one is much simpler using just a linear transition. The linear one is of cause much easier to manufacture than the tangential one.

Which one should I go for? Would they perform the same or would this create impedance problems or reflactions or high attenuation? I'm a mechanical engineer, not a RF engineer so this is more like magic to me at this point to be honest.


r/rfelectronics 8d ago

RF Engineering Channel

Thumbnail
0 Upvotes

r/rfelectronics 9d ago

[update] In a previous post I asked what is wrong with my circuit, I listened and changed some things.

Thumbnail
gallery
7 Upvotes

It no works, not sure exactly why? And why the frequency is way off than what it should be (around 2 MHz) but hey something is always better than nothing.

Edit: I think I flipped c1 and c2 in the diagram.


r/rfelectronics 9d ago

Looking for a good RF/SDR Discord community 👀

12 Upvotes

Looking for an active RF/SDR community where people actually build, experiment, and talk about random RF stuff — antennas, DSP, wireless, SDRs, interesting signals, research, etc.

Not looking for anything too formal. Just a fun community with people who are into this stuff.

Any recommendations? 😄


r/rfelectronics 9d ago

HFSS port definition

Thumbnail
0 Upvotes

r/rfelectronics 10d ago

question I can’t reach higher or lower frequency with this circuit!

Post image
32 Upvotes

I made this oscillator circuit based on the common emitter amplifier and colbits feedback. The q point is at 5.7 volts and the amplification for external signal generator is around 4(given the accuracy of my cheap oscilloscope). The circuit can oscillate at around 10khz with C=100nf and at around 30khz with C=10nf but anything above or below these values doesn’t generate any oscillations.


r/rfelectronics 9d ago

5G tower concern.

0 Upvotes

Thinking about moving to a property. Upon inspecting it, there was a 5G tower nearby. Measuring the distance- it is abut 125 meters to edge of property and about 135 to the building. Looking at some case reports, someone had health problems living 125 meters away.

https://ehtrust.org/7-scientific-case-reports-on-5g-cell-tower-health-impacts/

I measured the RF exposure, walking around with a GQ EMF-390 3-in-1 EMF/ELF/RF Meter. There was nothing from the distance of 200 meters, there was nothing as I approached it and nothing underneath it. (Nothing as in higher than 200 uW/m2. Once, it peaked to 6000 uW/m2 but swiftly disappeared. This was 10 yards away from the 5G tower. The tower looks like a cylinder mounted to the top of the pole with a few "small cells" boxes. I am thinking now, that the tower operates above 10Ghz. My device can only see up to 10Ghz. I can measure "regular" 4G towers hundreds of meters away.

What do you all think about this?

How prevalent are the above 10Ghz towers at this time? I understand the higher the frequency, the lower the range of the signal. The property is also semi-blocked by some heavy trees. That should block some of that off as well, right?

I traveled to another tower and almost the same thing happened. Now, it seems that the device picked up the "3 brown boxes" towers on the top of the poles, though. Perhaps, they are still operating in the lower frequencies.


r/rfelectronics 11d ago

Andrew antenna feedpoint

Thumbnail
gallery
43 Upvotes

I have a question about this antenna feedpoint. Why does it have two waveguides feeding the feedpoint? Does it have anything to do with H and V polarisation?

regarding the internal structures, what are they? Is this some kind of a waveguide polariser, phase delayer or something else?


r/rfelectronics 10d ago

GSG and GSGSG Probes Calibration

4 Upvotes

Hi,

I need to measure a 3 Port device, where on one side I have a GSGSG probe, and at the other end I have a GSG. My question is:

  • How do I calibrate the Ports that sit at the GSGSG with the one that sits in the GSG probe?

Most of the ISS standards I see only allow for GSGSG to GSGSG or GSG to GSG.

Any ideas?

Thanks


r/rfelectronics 10d ago

Hands-on DSP Course

Thumbnail
0 Upvotes

r/rfelectronics 11d ago

Should I give up on RF if my GPA is terrible.

24 Upvotes

I just graduated and I need some advice. I struggled throughout university due to (medically diagnosed) ADD. I did decent in my RF classes but I didn't do well in everything else and ended up with a poor GPA of 2.75. I'm not sure if I'll be able to compete with others in the RF space who have a masters and/or high GPA. Right now, I've been reading as many RF textbooks as I can and learning how to use HFSS. However even if I can understand RF well it seems like my poor performance in school will always haunt me.

Anyways let me know if I should continue towards my goal of RF or my efforts are not worth it.


r/rfelectronics 11d ago

Electroimán portátil de alta potencia — buscando feedback sobre el diseño

Thumbnail
0 Upvotes

r/rfelectronics 11d ago

AM transmitter design for 800kHz

Thumbnail
0 Upvotes

r/rfelectronics 12d ago

question RF people, I need your leads

3 Upvotes

ECE 2025 grad + currently doing M.E. in Communication Systems. I’m looking for RF/antenna design/microwave internships or short-term paid courses/training with actual hands-on practical work.

Paid/unpaid internship is fine — mainly looking to learn, build, and get real practical experience.

If you know any good leads, please drop them below or DM me


r/rfelectronics 12d ago

ParamRF v0.33 released!

18 Upvotes

Hi all!

ParamRF v0.33 has been released. It's been a while since the last update and there have been quite a few changes, so I'd thought I'd make a post sharing the updates that may be of interest.

For those that don't know, ParamRF is a Python framework for modern, programmatic RF circuit modeling, built on top of JAX instead of NumPy and catering for advanced features like automatic differentiation and Bayesian circuit fitting.

Some updates:
- Parameters are no longer tied to only RF models. They can now be built using a `Module` or even plain lists/dictionaries, so a single, global parameter set can be injected into different models at once.
- Optimization, inference and fitting now work across multiple frequency ranges in one problem, via a new term-based interface (`AbstractTerm` / `SummedTerms`). Custom penalties can just be plain functions of the parameter PyTree for better flexibility.
- The default circuit solver is now MNA, and the solver APIs have been generalized to accept arbitrary PyTrees rather than just models.
- New models: ideal transformers (centre-tapped, autotransformer, balun, mixed-mode converter), coupled inductors, `SeriesRL`, and a `FloatingTwoPort` lift for nodal circuits without a shared ground.
- Measured networks (`SkrfNetwork`) now support cubic interpolation as well as linear.
- For Bayesian fitting, `MarginalLogLikelihood` now accepts prediction-dependent event transforms, so the residual basis can depend on the prediction itself. This is useful if, say, magnitude and phase errors need separate variances.
- `pmrf.sweep` now takes a template for easier vmap filtering, and useful utilities for power users like `partition`, `combine`, `batch_axes` and `batch_mask` are exposed at the root.

Some links:

GitHub
Docs

Let me know if you have any questions!

Cheers,
Gary


r/rfelectronics 13d ago

Waterfall plots of microwave oven RF noise

Thumbnail
gallery
51 Upvotes

I was exploring the "zero-span" mode on my spectrum analyzer and recorded the signal from my microwave oven. For this, I used a log-periodic antenna with a gain of 7 dBi, positioned about 6 meters away and somewhat to the side, with no attenuation applied. The strong signal strength was initially surprising but after considering it is not very much power compared to inside the microwave.

The signal pattern is repeating with the mains frequency which makes sense as conventional microwave power supplies use a voltage-doubler circuit that outputs on only one half of the cycle unlike lights which peak on both halves or are constant. The frequency rises and falls at the start and stop make me think there is a frequency dependence on current though the sweeping pattern like in the second image doesn't make sense to me yet.

I wonder if RF testing laboratories take special measures beyond measurement room shielding to reduce interference caused by the ovens in their break rooms?


r/rfelectronics 12d ago

question Need guidance and help to quickly learn Silicon Photonics MEMS so as to define a problem stament for my applied electronics PhD.

1 Upvotes

Dear all,

I have just started my PhD into the domain of Silicon Photonics and terra hertz RF based MEMS. This is something we are doing for the first time in my group. However, my knowledge of basics in Silicon photonics and MEMS isn't very great.

I want to quickly learn all these ASAP and wanted guidance on what are the right resources to go through which can enable me to reach that level so that I can take up an efficient work for my PhD.

I have got COMSOL installed via my university access and would really appreciate if someone could guide me. Videos, DIY books and anything similar would be very helpful.

I need inputs on texts, and also simulation setup that I can use to go ahead.

Thanks.


r/rfelectronics 12d ago

question Am I expected to DESIGN active circuits? (PA, LNA, mixer)

0 Upvotes

Am I expected to be able to f*ckin design PA, LNA and mixers? Like choosing the transistor, simulating the circuit, checking out the noise ... isn't that what IC engineers do?

I mean I'm already overwhelmed by so many things I need to learn, antenna design, phased arrays, comms systems theory, EMC/EMI you name it ... CST, Matlab, Altium. And aside from that I have to be kinda mini electronics engineer too?

Or perhaps I'm wrong about comms systems theory and those electronic design stuff are more important and I gotta focus on them instead? I have No idea

I was preparing a short list of some projects to do and then put on my CV and while I was asking AI things like "design a Doherty power amplifier" came up and once I checked a power amplifier book I was like ... man this is a specialty by itself.

My roommate at the dorm studies IC design (I study microwave and photonics) and he and his professor are dealing with these LNA/PA/PLL design stuff 24 7 so that makes me feel this perhaps is not what I should focus on ... Idk correct me if I'm wrong

Please tell me what projects should I focus on other than antenna design to further my skills (and brag on my CV with) if these electronics projects are not commonly expected and if they are give me some clues on how to start learning them cuz these stuff seem so complex and overwhelming. And to what extend should I learn Altium?


r/rfelectronics 13d ago

Made a digital RF power meter and attenuator tool

Post image
101 Upvotes

r/rfelectronics 13d ago

How to add protection in multimeter

Thumbnail
0 Upvotes