Author(s): Anita Knighton
Mentor(s): Kathleen Wage, Electrical and Computer Engineering
Low frequency acoustic waves travel great distances underwater and are the primary means of underwater communication signaling. However, hydrophone arrays used in such signaling collect large amounts of unwanted ambient noise. Whitening filters turn ambient noise into identically distributed, independent frequencies, among which desired signals are better discerned. To create whitening filters, the characteristic distribution of noise to be filtered must be known. This can be estimated from real-world data, but availability of ocean data is limited by financial and practical collection costs. This project developed tests by which to establish a baseline minimum amount of input data needed for effective whitening, with the goal of improving whitening filter design and performance. The research process included generating normally distributed data using MATLAB and correlating the data with both sinc and Bessel functions using the eigenvalues and eigenvectors method. Whitening filters were developed by taking the inverse of correlation matrices. Matched filters were tested on correlated data. Eigenvalues of the decomposed correlation matrices of filtered data for various snapshot sizes were plotted. 1000-trial histogram results show that eigenvalues of correlation matrices of filtered data converge to a single value as snapshot size increases. Future study will include more analysis of the filtered data and also testing of mismatched filters.
Keywords: whitening filters, eigenvectors, eigenvalues, correlation matrices
Transcript
Hi, my name is Anita Knighton, and today I am going to present my project about creating a whitening filter testbed for underwater acoustics.
First, a little background:
Acoustic waves are useful for underwater communication and research because they travel much farther than other waves. For example, radio waves travel less than 10 m underwater, but acoustic signals can travel over 100 km.
However, a major problem faced in processing underwater acoustic signals is dealing with unwanted noise.
One way to overcome this is to use electronic filters to turn ambient noise into independent, identically distributed frequencies, otherwise known as “white noise.’ After this, the desired signal stands out.
That is a simple idea, but whitening ambient ocean noise is difficult.
One challenge is: to create an effective filter, the characteristic distribution of the signals to be filtered must be known. This can be estimated from real-world data. But ocean data has limited availability, and, also, the soundscape of a particular location may vary over time.
With this in mind, I wanted to find a way to determine a minimum amount of input data needed to make an effective whitening filter.
The plan was to create and test whitening filters using the following method:
• First, generate correlated data.
• Process it through an ideal whitening filter.
• Decompose the correlation matrix of filtered data into eigenvalues and eigenvectors (more on those later).
• Plot the eigenvalues, and then observe the results.
In more detail:
Step 1 is simulating correlated data.
• I started with MATLAB’s random normal generator—the uncorrelated data from this function represents white noise.
• Then I created two correlating functions—a sinc function for noise coming from three dimensions and a Bessel function for noise coming from two dimensions.
• I built correlation matrices for each.
• I broke those matrices down into Eigenvalues and Eigenvectors, which in this case can be thought of as convenient tools for doing matrix operations.
• Then I used these tools to transform the data.
And at that point in the process, the data represented correlated ambient ocean noise.
As an example of correlation vs. non-correlation, here on the left is a scatterplot of two vectors (one on the horizontal axis; one on the vertical axis) that are correlated. You can see that as the values for one of them increase, the values for the other one increase as well, and that’s why you get kind of a slanted plot. On the other hand, on the bottom right you have a more circular pattern, and that is a scatter plot of two vectors of uncorrelated data. And then finally on the top right is a plot of one column of the correlation matrix of sinc-correlated data, which is actually what I used in my project.
After correlating the data, I tested it using the inverses of the transformation matrices, which are actually the ideal whitening filters. I passed the 3D data through a 3D whitening filter and the 2D data through a 2D whitening filter.
Here are graphs of correlation matrix eigenvalues of a single trial for various sample sizes for each data type. So, to understand these graphs, you need to know that eigenvalues represent the weights—or amounts—of different spatial frequencies present. You can see that the graphs flatten out as sample size increases. And this means the spatial frequencies are becoming more evenly distributed, which is the goal of a whitening filter.
Finally, to evaluate my findings, I wanted to take a closer look at the eigenvalues of the correlation functions of the filtered data.
Here I have plotted 1000-trial histograms of 3D data passed through a 3D filter showing the distributions of Eigenvalues with varying numbers of data snapshots. You can see that the Eigenvalues for small numbers of snapshots are spread out. This means the data is not effectively whitened. But as more snapshots are added, the eigenvalues cluster more closely around one. That is the desired outcome for a whitening filter.
In conclusion:
I can see there’s a threshold where the eigenvalues begin to converge around a single value, but I am not yet certain where it is. There’s more to study, and I plan to continue this project.
Hopefully continued research on this topic will lead to improved whitening filter performance.
Here are references I consulted during this research and my acknowledgments. Thank you very much for watching.
2 replies on “Whitening Filter Testbed”
Thank you, Anita. I can imagine many, many uses and improvements when ambient noise can be better eliminated. Especially with listening to water creatures! Well done!
Well done. This is really important work and technically difficult. You explained it really well.