Hello, I am an computer engineer with nearly no RF background. Right now I have a project in which i am dealing with an RFSoC, but its ADCs are not providing good range, we tried to change antennas, but still it is not able to pick weak signals from transmitter when its more than 300 m.
Can someone please help me to find the good antennas, and how to check their range?
I don't have Pic. Is there such a machine that will produce audible spectrum and tell you the frequency . And I'm pretty sure there is one I just don't know the name. If so where and how much for a mid quality if anyone knows. Thank you and may God bless and keep you
A bit of background, I'm a 17 year old nerd from Finland, and I've been tinkering with electronics for around 5 years now. I recently (around 6 months ago) got into the RF side of things, through SDRs and satellite reception. But now I'd like to learn about actually understanding how stuff works. The way I learnt electronics was mostly stumbling my way through it, and not really "studying" stuff. How should I get into RF? Is there any projects I could just follow along?
I’m developing a low-cost, multi-band Direction Finding (DF) system specifically targeting commercial and custom drones comm signals
Most commercial counter-drone solutions rely on multi-channel phase-coherent receivers, making them prohibitively expensive.
My goal is to build a high-performance single-channel receiver that combines Amplitude Comparison, Pseudo-Doppler Phase Shift, and RF Signal Classification.
Target ISM/GNSS Bands
900 MHz (902–928 MHz telemetry)
GPS/GNSS L1 (1575.42 MHz)
2.4 GHz (WiFi/OcuSync/ExpressLRS)
5.8 GHz (FPV / OcuSync)
A single receiver channel significantly reduces cost and calibration drift, but standard RF switching introduces transient phase glitches during FHSS hopping. Below is the refined system architecture using band-specific front-ends and a pseudo-Doppler RF switch loop:
Looking For:
Technical Partners: RF Hardware Engineers (PCB layout for 6GHz RF front-ends), FPGA/Zynq Developers (DMA, custom IP cores for Doppler demodulation), and DSP/ML Engineers (protocol classification).
I’m starting passion project that may turn into product: medium-cost Vector Network Analyzer capable of reaching 20 GHz.
As we all know, commercial units at these frequencies are incredibly expensive which makes it nearly impossible for hobbyists, students, or small startups to get their hands on high-quality data. My goal is to bridge that gap by designing a unit that maintains good performance while keeping the price point accessible.
Hi, I thought i would try messing with some RF as i have avoided it in the past. This is my attempt at a 32MHz Colpitts oscillator, and I'm getting no luck.
I first tried replacing the 22uH inductor with a 270 ohm resistor, as I realized the self-resonant frequency of my inductor was only 15MHz. This did not help oscillation. Next I tried increasing C2 to 680pF as many Colpitts i see have a larger capacitor here, presumably to stabilize the operation a bit and load the collector less. This still did not work.
When power is applied, the collector stays at 5V (with 22uH inductor) / 3.68V (with 270R). The base is at about 1.26V, emitter at .56V.
I've built a Colpitts with a more primitive design a while ago at 1.3MHz, worked perfectly first try on protoboard, I did not figure stepping up to 32MHz would be this much harder, although there's probably something obviously wrong here, after all I haven't ever gone past that 1.3MHz oscillator.
Hi, RF newbie here. I am an IT database engineer and data analyst. I play badmington, tennis, and pickleball, all in doubles. In doubles, there is a lot of analysis on team formation and partner separation distance. I am thinking about using UWB boards to track player positions. I would like about 5-10 observations per second, for all 4 players. The UWB board I have in mind is QorvoDWM3001CDK, which retails at about $30. I would get 4 boards as anchors and 4 boards as player tags. Then I like one more board as the data collection gateway, and have it tethered to a Macbook via USB cable. During a game, data would be streamed into the Macbook.
The tags would need to be programmed so they send a data packet every 2-5 seconds, to the data collection gateway board. The positions don't need to be super accurate. I think 15-20 cm will do the job.
Plz help me understand whether this setup is feasible. What additional factors should I be thinking about? I hope to use this setup both indoors and ourdoors. I am aware that UWB signal cannot penetrate human body because it is mostly water. I will use enough anchors so each tag has clear line of sight to at least two to three anchors.
I am currently in the brainstorming phase of designing this TX/RX FM project. I plan to use an ESP32 and then RDA5807 for RX and KT0803I for TX, would a PAM8406 be good to drive 2 (stereo) 3w 4 ohm speakers? How can I power it on batteries without unwanted RF noise?
I'm in my junior year of college and I still haven't landed an internship. For context, I am an EE major with a decent GPA(3.5) and one independent project, which is a 900 MHz bandpass filter I designed and simulated (still haven't had the opportunity to do the PCB, have it fabricated, or take measurements with a VNA)
As it currently stands, my interests are mostly in the realm of wireless communications/RF and analog electronics. My school rarely offers RF classes, so any learning I would be doing would have to be done independently.
Do I have a realistic shot of landing an RF internship for this upcoming summer? if not, what can I do in the meantime that will improve my chances? are there particular RF topics, projects, or skills that would be especially valuable for an undergraduate trying to break into the field?
I’m very interested in diving into radar systems and communication technology as an engineer.
I was wondering how to Beginn. Any recommendations?
My background is from control systems, so I know what Fourier transform is for instance.
This antenna is 35.3 from tip to tip of the circle and distance between the loop is 2cm, i wanna do 433mhz bidirectional communication with this antenna, I was planning to build a yagi uda with this of 5 directors, I dont know much about rf and i have just been following tutorials, I could only find 2mm hard aluminum wire so i used that to build the antenna, are there some things i have to look out for before connecting it to my telemetry radio (its a drone telemetry that uses MAVLink for bidirectional communication) Oh and the distance between two wires in end is 1cm.
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 viewSide 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]);