Monday, March 5, 2012

Network Analysis of Natural Signals

As we know, a sound source generates waves of different frequencies at a time and quality of sound depends on the combination of these frequencies together. If we look at following spectrogram of a male voice from 19th century, we find that different frequencies occur only together.


It means there is certain correlation between different frequencies produced from any source. In "Collective behavior of stock price movements in an emerging market" by Pan and Sinha (PRE 76, 046116, 2007) they have analyzed the time series data of different stock prices to find out correlation between different stocks. We can find the the exact correlation between these frequencies by doing similar network analysis of .wav file in following steps -
  1. Read wave file in matlab using wavread and generate spectrogram using Short Term Fourier Transform.
  2. We will get a matrix P containing Power Spectral Density(PSD) of each segment. We can find correlation matrix for different frequencies usinf corr() function in matlab on P.
  3. We can find eigen values and eigen vectors for this correlation matrix using eig() function.
  4. Let's us say N is the no. of frequencies and T is length of time series. If the N return time series of length T are mutually uncorrelated, then the resulting random correlation matrix is called a Wishmart matrix, whose statistical properties are well known [1]. In the limit , such that Q=T/N is greater than or equal to 1, the eigenvalue distribution of this random correlation matrix is given by  for  and 0 other wise. The bounds of this equation are given by 
  5. In absence of any correlation among stocks, the distribution should be bounded between lambda_min and lambda_max. Since, we are expecting correlation here, we will ignore all eigenvalues between lambda_min and lambda_max and principal eigenvalue as well.
  6. From the filtered eigenvalues, we construct the correlation matrix again, C_new.
  7. The adjacency A matrix of C_new is generated by choosing a threshold correlation c_th such that, A_ij =1 if C_new_ij > c_th otherwise 0.
  8. Using A, we can construct network of frequencies. This network can be used to determine which frequencies occur together by community discovery methods.
From this kind of network analysis, we can identify the source of sound by looking at community structure of frequencies.

References -
1. A. M. Sengupta and P. P. Mitra, Phys. Rev. E 60, 3389 (1999)

No comments:

Post a Comment