1. Remote Data Acquisition Using CDMA RF Link
Intermediate
Toolbox: Communications, DSP System
Deliverables: Code .m, Simulink Model, Report
π― Problem & Objective: Design and develop a robust telemetry data acquisition and radar health monitoring system over a Code Division Multiple Access (CDMA) RF link. Transmit sensor parameters and seeker status during high-vibration flight testing, using Gold code spreading and correlation receivers in MATLAB.
βοΈ Key MATLAB Functions:
comm.PNSequencecomm.BPSKModulatorcomm.AWGNChannelxcorrbiterr
π Expected Output & Metrics: Spread spectrum telemetry time series, cross-correlation synchronization peaks, telemetry frame packet error rate (PER < 10β»β΄), and real-time sensor parameter plots.
telemetry_data = randi([0 1], 100, 1);
pnGen = comm.PNSequence('Polynomial', [1 0 0 0 0 1 1], 'SamplesPerFrame', 3100);
chip_seq = pnGen();
bpskMod = comm.BPSKModulator();
tx_symbols = bpskMod(telemetry_data);
tx_spread = repelem(tx_symbols, 31) .* (1 - 2*chip_seq);
rx_spread = awgn(tx_spread, 5, 'measured');
despread_sig = rx_spread .* (1 - 2*chip_seq);
rx_integrated = sum(reshape(despread_sig, 31, []), 1)';
rx_bits = rx_integrated > 0;
[numErrors, ber] = biterr(telemetry_data, rx_bits);
fprintf('Telemetry Link BER: %.4e | Total Bit Errors: %d\n', ber, numErrors);
Est. Duration: 1β2 Weeks
Request Custom Project →
2. Orthogonal Frequency Division Multiplexing (OFDM) Signaling & Equalization
Intermediate
Toolbox: Communications, Signal Processing
Deliverables: Code .m, GUI, Report
π― Problem & Objective: Implement and analyze a 64-subcarrier OFDM communication system. Investigate QAM symbol mapping, IFFT modulation, cyclic prefix (CP) insertion to eliminate Intersymbol Interference (ISI), frequency-selective multipath channel degradation, and Zero-Forcing/MMSE channel equalization.
βοΈ Key MATLAB Functions:
ifftfftqammodqamdemodcomm.RayleighChannelscatterplot
π Expected Output & Metrics: Transmitted OFDM spectrum, cyclic prefix correlation peaks, equalized 16-QAM constellation diagrams, and Bit Error Rate (BER) vs SNR performance curves.
N_sc = 64; N_cp = 16; M = 16;
data_bits = randi([0 M-1], N_sc, 100);
mod_syms = qammod(data_bits, M, 'UnitAveragePower', true);
ifft_out = ifft(mod_syms, N_sc, 1);
tx_ofdm = [ifft_out(end-N_cp+1:end, :); ifft_out];
h = [0.8; 0.4; 0.2; 0.1];
rx_ofdm = filter(h, 1, tx_ofdm(:));
rx_noisy = awgn(rx_ofdm, 20, 'measured');
rx_matrix = reshape(rx_noisy(1:end-mod(length(rx_noisy), N_sc+N_cp)), N_sc+N_cp, []);
rx_no_cp = rx_matrix(N_cp+1:end, :);
fft_out = fft(rx_no_cp, N_sc, 1);
H_freq = fft(h, N_sc);
equalized_syms = fft_out ./ H_freq;
scatterplot(equalized_syms(:)); title('Equalized 16-QAM OFDM Constellation');
Est. Duration: 1β2 Weeks
Request Custom Project →
3. CDMA Modem Design using Direct Sequence Spread Spectrum (DSSS)
Beginner
Toolbox: Communications, DSP System
Deliverables: Code .m, Report
π― Problem & Objective: Simulate a Direct Sequence Spread Spectrum (DSSS) CDMA modem in MATLAB. Implement BPSK modulation, pseudo-random noise (PRN) m-sequence code spreading/despreading, evaluate Multiple Access Interference (MAI), and evaluate processing gain against high-power narrowband jamming tones.
βοΈ Key MATLAB Functions:
comm.BarkerCodecomm.PNSequencepspectrumbiterrberawgn
π Expected Output & Metrics: Power Spectral Density (PSD) spreading plot, narrowband jammer suppression margin (>15 dB), and theoretical vs simulated BER waterfall curves.
N_bits = 1000; L_code = 63;
data = randi([0 1], N_bits, 1);
bpsk_data = 2*data - 1;
pn = comm.PNSequence('Polynomial', 'x^6 + x^1 + 1', 'SamplesPerFrame', N_bits*L_code);
pn_seq = 2*pn() - 1;
spread_sig = repelem(bpsk_data, L_code) .* pn_seq;
t = (1:length(spread_sig))';
jammer = 2.5 * cos(2*pi*0.05*t);
rx_sig = awgn(spread_sig + jammer, 10, 'measured');
despread = rx_sig .* pn_seq;
recovered = sum(reshape(despread, L_code, N_bits), 1)' > 0;
[~, ber] = biterr(data, recovered);
fprintf('DSSS Anti-Jamming BER: %.4f (Processing Gain: %.1f dB)\n', ber, 10*log10(L_code));
Est. Duration: 4β8 Hours
Request Custom Project →
4. Software Tools & Simulators in Telecommunications Education
Beginner
Toolbox: Communications, MATLAB App Designer
Deliverables: MATLAB App .mlapp, Code .m
π― Problem & Objective: Develop an interactive telecommunication teaching simulator and App Designer dashboard. Allow students to experiment with analog/digital modulation (AM, FM, ASK, FSK, QPSK, 16-QAM), adjust noise variance, tune pulse shaping roll-off factors, and visualize real-time eye diagrams and constellations.
βοΈ Key MATLAB Functions:
eyediagramscatterplotcomm.RaisedCosineTransmitFilterbertoolpwelch
π Expected Output & Metrics: Interactive eye diagram openness visualization, constellation dispersion vs SNR plots, and theoretical vs simulated BER comparison tables.
M = 4; sps = 8; rolloff = 0.35;
tx_filter = comm.RaisedCosineTransmitFilter('RolloffFactor', rolloff, ...
'FilterSpanInSymbols', 6, 'OutputSamplesPerSymbol', sps);
symbols = qammod(randi([0 M-1], 1000, 1), M, 'UnitAveragePower', true);
tx_pulses = tx_filter(symbols);
rx_noisy = awgn(tx_pulses, 18, 'measured');
eyediagram(rx_noisy(1:1000), 2*sps, 2, sps/2);
title(['Eye Diagram (QPSK, Rolloff = ', num2str(rolloff), ', SNR = 18 dB)']);
Est. Duration: 6β10 Hours
Request Custom Project →
5. Scaled Synthetic Aperture Radar (SAR) Signal Processing & Imaging
Advanced
Toolbox: Radar, Phased Array, Signal Processing
Deliverables: Code .m, 2D SAR Image, Report
π― Problem & Objective: Design and simulate a scaled Synthetic Aperture Radar (SAR) raw signal processor. Implement the Range Doppler Algorithm (RDA), Range Cell Migration Correction (RCMC), and azimuth matched filtering in MATLAB to reconstruct high-resolution 2D radar reflectance images from echo phase history.
βοΈ Key MATLAB Functions:
phased.FMCWWaveformfft2ifft2interp1imagescmesh
π Expected Output & Metrics: 2D reconstructed target reflectance map, Point Spread Function (PSF) cross-sections, range/azimuth resolution metrics (<0.5 m), and peak sidelobe ratio (PSLR).
c = 3e8; fc = 5e9; B = 100e6; fs = 200e6;
N_range = 512; N_azimuth = 256;
K_r = B / (N_range/fs);
raw_echo = randn(N_range, N_azimuth) * 0.05 + 1j*randn(N_range, N_azimuth)*0.05;
raw_echo(250:260, 120:130) = raw_echo(250:260, 120:130) + 10;
ref_chirp = exp(-1j * pi * K_r * ((0:N_range-1)/fs).^2).';
range_compressed = ifft(fft(raw_echo, [], 1) .* conj(fft(ref_chirp, N_range, 1)), [], 1);
sar_image = abs(fftshift(fft(range_compressed, [], 2), 2));
figure; imagesc(20*log10(sar_image)); colormap('jet'); colorbar;
title('Reconstructed 2D SAR Radar Image (dB)'); xlabel('Azimuth Bin'); ylabel('Range Bin');
Est. Duration: 3β5 Weeks
Request Custom Project →
6. Privacy Protection & Telemetry Encryption in Smart Grid Communication
Intermediate
Toolbox: Communications, Statistics and Machine Learning
Deliverables: Code .m, Security Analysis Report
π― Problem & Objective: Model wireless smart grid Advanced Metering Infrastructure (AMI) telemetry networks. Implement differential privacy mechanisms (Laplace noise perturbation) and homomorphic aggregation to protect consumer load privacy while preserving grid forecasting accuracy in MATLAB.
βοΈ Key MATLAB Functions:
randipdist2corrcoefcomm.CRCDetectorhistogram
π Expected Output & Metrics: Privacy-utility trade-off curves, consumer load signature obfuscation plots, mutual information leakage metrics (<0.05 bits), and grid load forecast Mean Absolute Error (MAE).
hours = 1:24;
load_profile = 1.5 + 2.0*sin((hours-6)*pi/12) + 0.3*randn(size(hours));
load_profile(load_profile < 0.2) = 0.2;
epsilon = 0.8;
sensitivity = max(diff(load_profile));
b = sensitivity / epsilon;
u = rand(size(hours)) - 0.5;
laplace_noise = -b * sign(u) .* log(1 - 2*abs(u));
obfuscated_load = load_profile + laplace_noise;
figure; plot(hours, load_profile, 'b-o', hours, obfuscated_load, 'r--s', 'LineWidth', 1.5);
legend('True Private Meter Load', 'Obfuscated Telemetry (\epsilon=0.8)');
xlabel('Hour of Day'); ylabel('Power Demand (kW)'); grid on;
Est. Duration: 1β2 Weeks
Request Custom Project →
7. Visible and Mid-Infrared Supercontinuum Generation in Optical Fibers
Advanced
Toolbox: Signal Processing, PDE Toolbox
Deliverables: Code .m, 3D Spectral Evolution Plot
π― Problem & Objective: Solve the Generalized Nonlinear SchrΓΆdinger Equation (GNLSE) using the Split-Step Fourier Method (SSFM) in MATLAB. Simulate octave-spanning supercontinuum spectral broadening through photonic crystal fibers (PCF) for ultra-broadband Dense WDM optical communications.
βοΈ Key MATLAB Functions:
fftifftfftshiftode45trapzmesh
π Expected Output & Metrics: 3D spectral evolution waterfall plots along fiber propagation distance (z), pulse temporal compression dynamics, and DWDM channel spectral bandwidth coverage (800 nm to 2400 nm).
N = 2048; dt = 10e-15; T = (-N/2:N/2-1)*dt;
T0 = 50e-15; P0 = 1000;
gamma = 0.05; beta2 = -20e-27;
A = sqrt(P0) * sech(T / T0);
w = 2*pi*(-N/2:N/2-1)/(N*dt);
dz = 0.001; z_max = 0.1;
D_op = exp(1j * 0.5 * beta2 * (w.^2) * dz);
for z = 0:dz:z_max
A = A .* exp(1j * gamma * abs(A).^2 * (dz/2));
A = ifft(fftshift(D_op .* fftshift(fft(A))));
A = A .* exp(1j * gamma * abs(A).^2 * (dz/2));
end
figure; plot(w/(2*pi*1e12), 10*log10(abs(fftshift(fft(A))).^2));
xlabel('Frequency Offset (THz)'); ylabel('Spectral Power (dB)'); title('Supercontinuum Broadening');
Est. Duration: 2β4 Weeks
Request Custom Project →
8. Linking Advanced 3D Signal PointCloud & RF Radiation Visualization
Intermediate
Toolbox: Antenna, Phased Array, Computer Vision
Deliverables: Code .m, 3D Interactive PointCloud Viewer
π― Problem & Objective: Develop a MATLAB visualization architecture to parse, render, and analyze 3D PointClouds representing spatial electromagnetic field intensity, cellular coverage heatmaps, and phased array beam radiation patterns in complex urban environments.
βοΈ Key MATLAB Functions:
pcshowscatter3patternCustomsurftriangulation
π Expected Output & Metrics: 3D interactive RF PointCloud color-mapped by received signal strength (RSSI), 3D antenna directivity lobes, and urban multipath ray-tracing overlays.
[X, Y, Z] = meshgrid(-50:5:50, -50:5:50, 0:5:30);
pts = [X(:), Y(:), Z(:)];
dist = sqrt(pts(:,1).^2 + pts(:,2).^2 + pts(:,3).^2) + 1;
theta = atan2(sqrt(pts(:,1).^2 + pts(:,2).^2), pts(:,3));
radiation_pattern = (cos(theta).^2) ./ (dist.^1.5);
rssi_values = 10*log10(radiation_pattern / max(radiation_pattern)) - 40;
ptCloud = pointCloud(pts, 'Intensity', single(rssi_values));
figure; pcshow(ptCloud); colormap('turbo'); colorbar;
title('3D Spatial RF Signal Intensity PointCloud (dBm)');
Est. Duration: 1β2 Weeks
Request Custom Project →
9. Accelerator Control Middle Layer & High-Speed RF Telemetry Processing
Advanced
Toolbox: Control System, DSP System, Instrumentation
Deliverables: Code .m, Control Loop Simulation
π― Problem & Objective: Implement a MATLAB Middle Layer (MML) telemetry pipeline interfacing with high-speed RF beam position monitors (BPMs). Perform real-time orbit feedback correction, Singular Value Decomposition (SVD) harmonic analysis, and closed-loop RF cavity phase synchronization.
βοΈ Key MATLAB Functions:
svdpinvlsimpiddsp.FIRFilterspectrum
π Expected Output & Metrics: Real-time electron orbit distortion correction plots, SVD singular value spectrum, RF cavity phase jitter reduction (<50 fs RMS), and closed-loop step responses.
N_bpm = 32; N_corr = 16;
R = randn(N_bpm, N_corr);
[U, S, V] = svd(R, 'econ');
s_diag = diag(S);
k_modes = 10;
R_inv = V(:,1:k_modes) * diag(1./s_diag(1:k_modes)) * U(:,1:k_modes)';
measured_orbit = 0.5 * sin((1:N_bpm)' * 2*pi/8) + 0.05*randn(N_bpm, 1);
corrector_currents = -R_inv * measured_orbit;
corrected_orbit = measured_orbit + R * corrector_currents;
fprintf('Orbit Distortion RMS Before: %.3f mm | After SVD Correction: %.3f mm\n', ...
rms(measured_orbit), rms(corrected_orbit));
Est. Duration: 3β4 Weeks
Request Custom Project →
10. Design of an Impulse-Radio Ultra-Wideband (IR-UWB) Transmitter & Receiver
Beginner
Toolbox: Communications, Signal Processing
Deliverables: Code .m, Report
π― Problem & Objective: Simulate a Time-Hopping Pulse Position Modulation (TH-PPM) Impulse-Radio Ultra-Wideband (IR-UWB) communication system. Generate sub-nanosecond 2nd-derivative Gaussian monocycle pulses, transmit across AWGN channels, and implement matched filter correlation detection.
βοΈ Key MATLAB Functions:
gauspulspulstranconvxcorrcomm.AWGNChannel
π Expected Output & Metrics: Gaussian monocycle waveform and FCC spectral mask compliance plots, receiver correlation output peaks, and BER vs pulse energy curves.
fc = 4e9; fs = 50e9; tc = 0.5e-9;
t_pulse = -1e-9:1/fs:1e-9;
p = (1 - 4*pi*(t_pulse/tc).^2) .* exp(-2*pi*(t_pulse/tc).^2);
bits = [1 0 1 1 0]; delta = 0.2e-9;
tx_signal = [];
for b = bits
t_shift = b * delta;
tx_signal = [tx_signal, zeros(1, 100), p];
end
rx_noisy = awgn(tx_signal, 10, 'measured');
corr_out = xcorr(rx_noisy, p);
figure; subplot(2,1,1); plot(tx_signal); title('Transmitted TH-PPM UWB Pulses');
subplot(2,1,2); plot(corr_out); title('Matched Filter Correlation Demodulation');
Est. Duration: 4β6 Hours
Request Custom Project →
11. 5G NR Physical Layer Link Budget & PDSCH Throughput Simulation
Advanced
Toolbox: 5G, Communications, Phased Array
Deliverables: Code .m, Throughput Benchmark
π― Problem & Objective: Simulate end-to-end 3GPP 5G NR physical downlink shared channel (PDSCH) transmission. Model LDPC coding, CSI-RS feedback, Clustered Delay Line (CDL) fading channels, and compute throughput benchmarks across Sub-6 GHz (FR1) and mmWave (FR2) carrier frequencies.
βοΈ Key MATLAB Functions:
nrPDSCHnrPDSCHIndicesnrCDLChannelnrLDPCDecodenrWaveformGenerator
π Expected Output & Metrics: Block Error Rate (BLER) vs SNR waterfall curves, 5G effective data throughput (Mbps), and PDSCH resource grid allocation diagrams.
carrier = nrCarrierConfig('NSizeGrid', 52, 'SubcarrierSpacing', 30);
pdsch = nrPDSCHConfig('Modulation', '64QAM', 'NumLayers', 2);
[pdschIndices, pdschInfo] = nrPDSCHIndices(carrier, pdsch);
dataBits = randi([0 1], pdschInfo.G, 1);
pdschSymbols = nrPDSCH(carrier, pdsch, dataBits);
grid = nrResourceGrid(carrier, 2);
grid(pdschIndices) = pdschSymbols;
cdl = nrCDLChannel('DelayProfile', 'CDL-C', 'DelaySpread', 100e-9);
cdl.SampleRate = 30.72e6;
rxGrid = awgn(grid, 22, 'measured');
fprintf('5G NR PDSCH Grid Configured: 52 PRBs @ 30 kHz SCS, 64-QAM, Rate: %.2f Mbps\n', ...
length(dataBits)/(1e-3 * 1e6));
Est. Duration: 3β5 Weeks
Request Custom Project →
12. Massive MIMO Hybrid Beamforming & Multi-User Precoding
Advanced
Toolbox: Communications, Phased Array, 5G
Deliverables: Code .m, Spectral Efficiency Plots
π― Problem & Objective: Model a 64x16 Massive MIMO millimeter-wave system in MATLAB. Implement hybrid analog/digital beamforming, Zero-Forcing (ZF) and Minimum Mean Square Error (MMSE) multi-user precoding, and analyze spectral efficiency scaling with increasing base station antenna elements.
βοΈ Key MATLAB Functions:
phased.URAsteervecsvdkronnorm
π Expected Output & Metrics: Sum-rate capacity curves (bps/Hz), 3D array beam steering radiation lobes, and multi-user inter-stream interference suppression ratios (>25 dB).
Nt = 64; K = 4;
H = (randn(K, Nt) + 1j*randn(K, Nt)) / sqrt(2);
W_zf = H' / (H * H');
W_zf = W_zf ./ sqrt(sum(abs(W_zf).^2, 1));
SNR_dB = 0:5:30;
sum_rate = zeros(size(SNR_dB));
for i = 1:length(SNR_dB)
snr = 10^(SNR_dB(i)/10);
signal_power = abs(diag(H * W_zf)).^2 * snr;
sinr = signal_power ./ (1 + sum(abs(H*W_zf).^2, 2) - signal_power);
sum_rate(i) = sum(log2(1 + sinr));
end
figure; plot(SNR_dB, sum_rate, 'b-o', 'LineWidth', 2);
xlabel('SNR (dB)'); ylabel('Sum Spectral Efficiency (bps/Hz)');
title('64x4 Massive MIMO Zero-Forcing Sum Capacity'); grid on;
Est. Duration: 3β5 Weeks
Request Custom Project →
13. Cellular Handover & RSRP Hysteresis Margin Optimization
Intermediate
Toolbox: Communications, Wireless Network Simulation
Deliverables: Code .m, Trajectory Simulation
π― Problem & Objective: Simulate cellular handover dynamics for mobile users traveling between base stations. Model distance path loss, log-normal shadow fading, evaluate 3GPP Event A3 triggering conditions, and optimize Hysteresis Margin and Time-to-Trigger (TTT) to eliminate ping-pong handovers.
βοΈ Key MATLAB Functions:
log10randnfilterfindstairsplot
π Expected Output & Metrics: Dynamic RSRP trajectory curves, handover event trigger indicators, handover failure rate (<1%), and ping-pong handover reduction statistics.
d = 10:5:990;
PL1 = 128.1 + 37.6*log10(d/1000) + randn(size(d))*3.5;
PL2 = 128.1 + 37.6*log10((1000-d)/1000) + randn(size(d))*3.5;
RSRP1 = 43 - PL1; RSRP2 = 43 - PL2;
Hyst = 3.0; TTT_steps = 5;
ho_triggered = false; serving_cell = ones(size(d));
counter = 0;
for k = 1:length(d)
if (RSRP2(k) - RSRP1(k)) > Hyst
counter = counter + 1;
if counter >= TTT_steps && ~ho_triggered
serving_cell(k:end) = 2;
ho_triggered = true;
end
else
counter = 0;
end
end
figure; plot(d, RSRP1, 'b', d, RSRP2, 'r', 'LineWidth', 1.5);
hold on; stairs(d, serving_cell*10 - 100, 'k--', 'LineWidth', 2);
legend('BS1 RSRP', 'BS2 RSRP', 'Serving Cell ID'); xlabel('Distance (m)'); ylabel('RSRP (dBm)');
Est. Duration: 1β2 Weeks
Request Custom Project →
14. Satellite Downlink Link Budget & Doppler Shift Compensation
Intermediate
Toolbox: Satellite Communications, Communications
Deliverables: Code .m, Link Budget Spreadsheet
π― Problem & Objective: Model a Low Earth Orbit (LEO) Ka-band satellite-to-ground communication link. Calculate complete link budget (EIRP, atmospheric rain attenuation, G/T figure of merit), simulate dynamic orbital Doppler frequency shifts (Β±50 kHz), and implement an automated Phase-Locked Loop (PLL) frequency tracker.
βοΈ Key MATLAB Functions:
comm.CarrierSynchronizercomm.PhaseLockedLoopfsplcomm.RayleighChannel
π Expected Output & Metrics: Complete link margin calculation table (>6 dB margin), Doppler frequency S-curve tracking plots, and carrier lock acquisition time (<2 ms).
fc = 20e9; Pt_dBW = 15; Gt_dBi = 32; Gr_dBi = 42;
h_orbit = 600e3; c = 3e8;
lambda = c / fc;
FSPL_dB = 20*log10(4*pi*h_orbit/lambda);
Atm_loss_dB = 1.5; Rain_loss_dB = 3.0;
EIRP = Pt_dBW + Gt_dBi;
Pr_dBW = EIRP + Gr_dBi - FSPL_dB - Atm_loss_dB - Rain_loss_dB;
fprintf('Satellite Link Margin: EIRP = %.1f dBW | Received Power = %.2f dBm\n', ...
EIRP, Pr_dBW + 30);
t = 0:0.001:5; v_rel = 7500;
f_doppler = (v_rel / c) * fc * (1 - (2*t/5));
carrier_sig = exp(1j * 2*pi * cumsum(f_doppler)*0.001);
Est. Duration: 1β2 Weeks
Request Custom Project →
15. Optical WDM Fiber Transmission Link with EDFA & Dispersion Compensation
Intermediate
Toolbox: Communications, Signal Processing
Deliverables: Code .m, Eye Diagram Plots
π― Problem & Objective: Simulate an 8-channel Wavelength Division Multiplexing (WDM) fiber optic link across 800 km. Model fiber attenuation (0.2 dB/km), Erbium-Doped Fiber Amplifier (EDFA) ASE noise accumulation, Chromatic Dispersion (CD) compensation, and calculate optical Q-factor.
βοΈ Key MATLAB Functions:
comm.QPSKModulatorfftifftconvqfuncpwelch
π Expected Output & Metrics: Optical Spectrum Analyzer (OSA) multi-channel display, eye diagrams after dispersion compensation, Optical Signal-to-Noise Ratio (OSNR > 28 dB), and Q-factor metrics.
num_ch = 8; bit_rate = 10e9; N_bits = 2048;
data = randi([0 1], N_bits, num_ch);
opt_pulse = repelem(data, 16);
alpha_dB = 0.2; L_span = 80;
D_cd = 16;
attenuation = 10^(-(alpha_dB * L_span)/20);
edfa_gain_dB = alpha_dB * L_span;
edfa_gain = 10^(edfa_gain_dB/20);
noise_fig_dB = 5;
ase_noise = randn(size(opt_pulse)) * 0.02;
rx_optical = opt_pulse * attenuation * edfa_gain + ase_noise;
eyediagram(rx_optical(1:500, 1), 32); title('Channel 1 Optical Eye Diagram (80 km Post-EDFA)');
Est. Duration: 1β2 Weeks
Request Custom Project →
16. Cognitive Radio Energy Detection Spectrum Sensing under Low SNR
Beginner
Toolbox: Communications, Signal Processing
Deliverables: Code .m, ROC Curves
π― Problem & Objective: Implement an Energy Detection based Spectrum Sensor for Cognitive Radio networks in MATLAB. Detect primary user (PU) signals over AWGN and Rayleigh fading channels, set adaptive thresholds via the Neyman-Pearson criterion, and evaluate Receiver Operating Characteristic (ROC) curves.
βοΈ Key MATLAB Functions:
qfuncgammaincmeansumsemilogy
π Expected Output & Metrics: Probability of Detection (Pd) vs Probability of False Alarm (Pfa) ROC curves, detection threshold sensitivity plots, and performance benchmarks at negative SNR (-10 dB).
N_samples = 1000; num_trials = 5000; snr_dB = -8;
snr = 10^(snr_dB/10); Pfa_target = 0.01:0.02:0.99;
sigma_w2 = 1;
gamma_th = sigma_w2 * (qfuncinv(Pfa_target)/sqrt(N_samples) + 1);
Pd_sim = zeros(size(Pfa_target));
for k = 1:length(Pfa_target)
noise_only = sqrt(sigma_w2/2) * (randn(N_samples, num_trials) + 1j*randn(N_samples, num_trials));
pu_signal = sqrt(snr/2) * (randn(N_samples, num_trials) + 1j*randn(N_samples, num_trials));
test_statistic = sum(abs(pu_signal + noise_only).^2, 1) / N_samples;
Pd_sim(k) = sum(test_statistic > gamma_th(k)) / num_trials;
end
figure; plot(Pfa_target, Pd_sim, 'b-o', 'LineWidth', 2); grid on;
xlabel('Probability of False Alarm (P_{fa})'); ylabel('Probability of Detection (P_d)');
title(['Cognitive Radio ROC Curve (SNR = ', num2str(snr_dB), ' dB)']);
Est. Duration: 4β8 Hours
Request Custom Project →
17. LDPC & Polar Codes Error Correction for 5G NR Telecommunication
Intermediate
Toolbox: 5G, Communications
Deliverables: Code .m, BER Comparison Report
π― Problem & Objective: Implement 3GPP 5G NR compliant Low-Density Parity-Check (LDPC) base graphs and Polar coding with Successive Cancellation List (SCL) decoding in MATLAB. Compare BER/FER performance over AWGN channels against legacy Turbo and convolutional codes.
βοΈ Key MATLAB Functions:
comm.LDPCEncodercomm.LDPCDecodernrPolarEncodenrPolarDecodebiterr
π Expected Output & Metrics: Waterfall Bit Error Rate (BER) curves, coding gain benchmarks (>8 dB over uncoded BPSK), and decoder iteration convergence profiles.
K = 64; E = 128; L = 8;
msg_bits = randi([0 1], K, 1);
encoded_bits = nrPolarEncode(msg_bits, E);
bpsk_symbols = 1 - 2*encoded_bits;
EbNo = 4;
snr = EbNo + 10*log10(K/E) + 10*log10(2);
rx_noisy = awgn(bpsk_symbols, snr, 'measured');
llr = 2 * rx_noisy * 10^(snr/10);
decoded_bits = nrPolarDecode(llr, K, E, L);
[numErr, ber] = biterr(msg_bits, decoded_bits);
fprintf('5G Polar Code Decoding: Errors = %d | BER = %.2e (SCL List = %d)\n', numErr, ber, L);
Est. Duration: 1β2 Weeks
Request Custom Project →
18. Free Space Optical (FSO) Communication with Atmospheric Turbulence
Intermediate
Toolbox: Communications, Statistics
Deliverables: Code .m, Outage Probability Analysis
π― Problem & Objective: Model a terrestrial Free Space Optical (FSO) laser communication link under varying weather (fog, rain, clear air). Implement the Gamma-Gamma irradiance distribution model for optical scintillation and evaluate Intensity Modulation / Direct Detection (IM/DD) OOK error performance.
βοΈ Key MATLAB Functions:
gamrndbesselkintegralcomm.OOKModulatorsemilogy
π Expected Output & Metrics: Scintillation irradiance probability density functions (PDFs), link outage probability curves vs link distance (1 to 5 km), and BER vs electrical SNR plots.
alpha = 4.2; beta = 1.4;
I_samples = gamrnd(alpha, 1/alpha, [10000, 1]) .* gamrnd(beta, 1/beta, [10000, 1]);
data_bits = randi([0 1], 10000, 1);
tx_laser = data_bits .* I_samples;
rx_signal = awgn(tx_laser, 15, 'measured');
decision_threshold = 0.5 * mean(I_samples);
detected_bits = rx_signal > decision_threshold;
[~, ber] = biterr(data_bits, detected_bits);
fprintf('FSO Link BER under Gamma-Gamma Scintillation: %.4e\n', ber);
Est. Duration: 1β2 Weeks
Request Custom Project →
19. LoRaWAN PHY Chirp Spread Spectrum (CSS) Modulation & Demodulation
Beginner
Toolbox: Communications, Signal Processing
Deliverables: Code .m, Spectrogram Plots
π― Problem & Objective: Model the physical layer of Long Range (LoRa) IoT wireless communication using Chirp Spread Spectrum (CSS). Generate linear up-chirps and down-chirps with Spreading Factors (SF7 to SF12), cyclically encode data symbols, and perform de-chirping FFT demodulation under deep negative SNR (-15 dB).
βοΈ Key MATLAB Functions:
chirpfftfftshiftanglemodspectrogram
π Expected Output & Metrics: LoRa CSS time-frequency chirp spectrograms, de-chirp FFT correlation magnitude peaks, and BER robustness curves under sub-noise-floor conditions.
SF = 7; BW = 125e3; Fs = BW; N = 2^SF;
symbol = 42;
k = 0:N-1;
f_inst = mod(symbol + k, N) * (BW/N);
phi = 2*pi * cumsum(f_inst)/Fs;
tx_chirp = exp(1j * phi);
rx_noisy = awgn(tx_chirp, -12, 'measured');
base_downchirp = exp(-1j * 2*pi * (0.5*BW/N * (k.^2)) / Fs);
dechirped = rx_noisy .* base_downchirp;
spec = abs(fft(dechirped, N));
[~, detected_symbol] = max(spec);
detected_symbol = detected_symbol - 1;
fprintf('LoRa CSS Demodulation: Transmitted = %d | Detected = %d (SNR: -12 dB)\n', ...
symbol, detected_symbol);
Est. Duration: 4β6 Hours
Request Custom Project →
20. Software Defined Radio (SDR) QPSK Transceiver with Carrier & Timing Recovery
Intermediate
Toolbox: Communications, DSP System
Deliverables: Code .m, SDR Hardware Script
π― Problem & Objective: Implement an over-the-air Software Defined Radio (SDR) digital QPSK transceiver compatible with RTL-SDR and ADALM-PLUTO. Implement Gardner timing error detection (TED), Costas loop carrier frequency/phase synchronization, and Barker code preamble packet synchronization.
βοΈ Key MATLAB Functions:
comm.CarrierSynchronizercomm.SymbolSynchronizercomm.PreambleDetectorscatterplot
π Expected Output & Metrics: QPSK constellation diagrams before and after Costas loop phase lock, symbol timing jitter reduction, and packet error rate (PER < 0.5%).
preamble = [1 1 1 1 1 -1 -1 1 1 -1 1 -1 1]';
payload = randi([0 3], 200, 1);
payload_qpsk = pskmod(payload, 4, pi/4);
tx_frame = [preamble; payload_qpsk];
cfo = 0.02;
t = (1:length(tx_frame))';
rx_impaired = awgn(tx_frame .* exp(1j*2*pi*cfo*t), 18, 'measured');
carrierSync = comm.CarrierSynchronizer('SamplesPerSymbol', 1, ...
'Modulation', 'QPSK', 'DampingFactor', 0.707, 'NormalizedLoopBandwidth', 0.01);
[rx_synced, phase_err] = carrierSync(rx_impaired);
scatterplot(rx_synced(50:end)); title('SDR Synchronized QPSK Constellation');
Est. Duration: 1β2 Weeks
Request Custom Project →