Version 90 (modified by 11 days ago) ( diff ) | ,
---|
Machine Learning for Enabling 5G and Satellite Network Coexistence in FR3 Spectrum
WINLAB Summer Internship 2025
Group Members: Audrey Wang, Tulika Punia, Srishti Hazra
Week 1 (5/27 - 5/29):
Slides: Week 1 Presentation
Progress:
- Conducted literature review on relevant research papers
- Understood the high level idea of what Radio Frequency Interference(RFI) and frequency allocations are
- Explored how ML can be implemented to minimize the interference between satellite and 5G in different spectrums
Week 2 (6/2 - 6/5):
Slides: Week 2 Presentation
Progress:
- Familiar with the pros and cons of the different approaches to beam-forming, especially the benefits of ML application
- Read research papers related to a physical-testbed-generated RFI dataset, and got familiar with the data generation process:
- A Physical Testbed and Open Dataset for Passive Sensing and Wireless Communication Spectrum Coexistence
- Microwave Radiometer Calibration Using Deep Learning With Reduced Reference Information and 2-D Spectral Features
- Radio Frequency Interference Detection for SMAP Radiometer Using Convolutional Neural Networks
Week 3 (6/9 - 6/12):
Slides: Week 3 Presentation
Progress:
- Grasped the comprehensive testbed pipeline and understood how calibrated higher-level data were obtained from raw I/Q signals
- Began to process data with Numpy and h5py, generating Power Spectral Density(PSD) graphs and spectrograms from L1A data
- Utilized the radiometer's ability to interpret all received power as thermal radiation to quantify RFI by detecting abnormal temperature increases
- Saved plotted graphs into a 2D Numpy array for future model training use (4 columns: RFI Scenario | PSD | Spectrogram | Temp Difference)
Week 4 (6/16 - 6/19):
Slides: Week 4 Presentation
Progress:
- Continued generating PSDs and spectrograms using Jupyter Notebook (link to code)
- Sample PSD and spectrogram for RFI scenario "tr_fc0_4RB_Gain-20_sn2" (transition band; central frequency 0; 4 resource blocks; gain -20; sample number 2)
Week 5 (6/23 - 6/26):
Slides: Week 5 Presentation
- In progress to generate all graphs for fc1, 2, 3 for both a) transition-band and b) out-of-band scenarios
- Code used for generating spectrograms and converting into Numpy arrays to facilitate easier data processing in the future:
def plot_spect(dataset, title,min_value,max_value,normalized=False, save=None): if normalized: global_maximum = np.amax(np.abs(dataset)) else: global_maximum = 1 #normalize received power and convert into dB scale) y_res = 20 * np.log10(np.abs(dataset) / global_maximum) fig = plt.figure(figsize=(12, 8)) im = plt.imshow(y_res, origin='lower', cmap='jet', aspect='auto', vmax=max_value, vmin=min_value) plt.colorbar(label='dB') yaxis = np.ceil(np.linspace(-15, 15, 11)) ylabel = np.linspace(0, len(y_res), 11) xaxis = np.linspace(0, .25, 5) xlabel = np.linspace(0, len(y_res[1]), 5) plt.title(title) plt.yticks(ylabel, yaxis) plt.xticks(xlabel, xaxis) plt.xlabel('Time') plt.ylabel('Frequency') plt.tight_layout() #save the RGB values of the plot as a Numpy array fig.canvas.draw() img_rgba = np.frombuffer(fig.canvas.tostring_argb(), dtype=np.uint8) img_rgba = img_rgba.reshape(fig.canvas.get_width_height()[::-1] + (4,)) img_rgb = img_rgba[:, :, [1, 2, 3]] return img_rgb
Week 6 (6/30 - 7/3):
Slides: Week 6 Presentation
- Finished generating 348 sets of graphical data for the following inference scenarios:
- Center frequencies 1423.5mHz(fc1), 1433.5mHz(fc2), 1443.5mHz(fc3) for transition band
- Center frequencies 1440.5mHz(fc1), 1442.5mHz(fc2), 1444.5mHz(fc3) for out-of-band
- Identified clean vs. RFI-contaminated signal shapes in Power Spectral Density (PSD) plots:
- Uniform (Clean, L): flat-top spectrum, power emitted uniformly across entire bandwidth
- Spikes (RFI, R): abrupt, sharp spikes in power at random frequencies
- Determined brightness temperature thresholds for various gain levels and labeled the dataset as clean = 0 or RFI-contaminated = 1
- Link to code
Week 7 (7/7 - 7/10):
Slides: Week 7 Presentation
Progress:
- Machine learning models:
- Trained a CNN for RFI detection using pre-trained model (ResNet18) with the last classification layer modified
- Developed an SVM baseline to assess the efficiency of the CNN approach (address potential underutilization of the neural network)
- Performed cross-validation to ensure the models were not overfitting
- Both the CNN and SVM achieved over 95% accuracy
- Continued obtaining data from transition band (100 additional rows: 1413.5mHz(fc0), 1453.5mHz(fc4)
- Created a mathematical pipeline to estimate brightness temperature(K) based on total transmitting power(W)
- Approximate amount of received power from total transmitted power using Friis Transmission formula
- Use power recieved to estimate change in brightness temperature cause by RFI
Week 8 (7/14 - 7/17):
Attachments (17)
- Spectrum Diagram.png (69.0 KB ) - added by 6 weeks ago.
- 5G Interference.png (79.5 KB ) - added by 6 weeks ago.
- Data Generation Schematic.png (240.6 KB ) - added by 6 weeks ago.
- Dataset structure.png (27.0 KB ) - added by 5 weeks ago.
- Npy Array Shape.png (57.9 KB ) - added by 2 weeks ago.
- PSD Sample.png (183.8 KB ) - added by 2 weeks ago.
- Spectrogram Sample.png (2.2 MB ) - added by 2 weeks ago.
- Frequency Band.png (94.8 KB ) - added by 2 weeks ago.
- PSD clean.png (109.8 KB ) - added by 12 days ago.
- PSD w: RFI.png (116.3 KB ) - added by 12 days ago.
- Bandwidth table.png (158.2 KB ) - added by 12 days ago.
- File structure.png (301.4 KB ) - added by 12 days ago.
-
SVM.png
(1.6 MB
) - added by 11 days ago.
SVM Results
- CNN pred.png (1.9 MB ) - added by 10 days ago.
- Pipeline.png (141.5 KB ) - added by 10 days ago.
- BS and SAT.png (252.6 KB ) - added by 10 days ago.
- nr_iq_mimo_graph_gen.m (3.5 KB ) - added by 3 days ago.
Note:
See TracWiki
for help on using the wiki.