Skip to content

L1-norm PCA-based signal recovery for underwater acoustic communications in the presence of impulsive noise

License

Notifications You must be signed in to change notification settings

adamgann/l1-uwa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Introduction

Simulation code for proof of concept (semi) blind reception of underwater acoustic transmissions in impulsive noise conditions using L1-norm principal component analysis (L1-PCA).

This repo includes includes an underwater channel simulator developed by P. Qarabaqi and M. Stojanovic at Northeastern to generate time-varying channel realizations, a library to generate alpha-stable distributions by Mark Veillette, and a function to estimate amplitude probability densities by Robert J. Achatz, Michael G. Cotton, and Roger A. Dalke.

This software is free to use and modify (see LICENSE). Please include credit to the above authors of the included software libraries and maintain links to their websites in any derivative work.

If helpful in your own research, please cite

@inproceedings{Gannon2018,
	title={Semi-Blind Signal Recovery in Impulsive Noise with L1-PCA},
	author={Gannon, Adam and Sklivanitis, George and Markopoulos, Panos P. and Pados, Dimitris A. and Batalama, Stella N.},
	booktitle={2018 Conference Record of the Fifty Second Asilomar Conference on Signals, Systems and Computers},
	month={Oct.},
	address={Pacific Grove, CA}
	year={2018},
}

which describes results of this simulation specifically and

@ARTICLE{Tsagkarakis2018,
author={N. Tsagkarakis and P. P. Markopoulos and G. Sklivanitis and D. A. Pados},
journal={IEEE Transactions on Signal Processing},
title={L1-Norm Principal-Component Analysis of Complex Data},
year={2018},
volume={66},
number={12},
pages={3256-3267},
month={June}}

which discusses L1-PCA of complex data generally.

Dependencies

Requires MATLAB. Built on 2017b, but likely okay with any modern version. The simulation will use the DSP toolbox for filter calculation, if available, but should also work without it. Certain plots generated to verify shrimp noise characteristics require the Statistics and Machine Learning toolbox, but these plots are not required for the main simulation.

Scripts

Main Script

equalizer_comparison_simulation.m

Simulates underwater acoustic communications in a shallow water channel containing ambient and impulsive snapping shrimp noise. Three receivers are compared on the basis of bit error rate: L1-PCA semi-blind, L2-PCA semi-blind, and a pilot-based matched filter. Produces Figs. 2 and 3.

This script requires a simulated underwater channel generated by set_channel_params.m followed by channel_simulator in the acoustic_channel_simulator\ directory.

Additional Scripts

compare_alpha.m

Plots the results of equalizer_comparison_simulation.m obtained at different alpha values to produce Fig. 4.

shrimp_noise.m

Verifies that shrimp noise generated by our functions matches results reported in prior research. Produces Fig. 1.

About

L1-norm PCA-based signal recovery for underwater acoustic communications in the presence of impulsive noise

Resources

License

Stars

Watchers

Forks

Packages

No packages published