Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

MATLAB code to detect rainfall in the spectrogram

Status
Not open for further replies.

Sharath1160

Newbie level 6
Joined
May 13, 2010
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
India
Activity points
1,391
Hi all,

I am working in Image and audio processing.

I read the audio file (WAV) that is of 20 min and divided the original audio file into 10 second ‘chunks’ of 120 files. Then I computed a spectrogram for each chunk, and obtained 120 spectrograms and made it into a bmp file. I used wiener filter and reduced the noise and got the new spectrograms.

The project is about the bird acoustics. So there is rain in the audio that i had been given and could clearly show it in each chunks of the spectrogram.

I just want to show the rain ( the vertical lines) by some colur. ( red) . I want to count the vertical lines by showing it in some distinctive red colour over the spectrogram. So that even the minute vertical line is represented and I am able to count the rainfall.

Can someone please provide me the code to do it.:-?

It is very urgent .

It would be of great help.

P.s: This is my first post. So i am not able to post links till i m done with 2 posts.. So pls chk below for the image.


Thanks in advance,
Sharath

---------- Post added at 23:29 ---------- Previous post was at 23:28 ----------

Bounce....

---------- Post added at 23:31 ---------- Previous post was at 23:29 ----------

Still I am not able to post the link :D

---------- Post added at 23:53 ---------- Previous post was at 23:31 ----------

This is the image displaying the rainfall in the spectrogram and I want to show even the minute lines using a red color. So that I would be counting the no of instances , i mean the vertical lines to get the rainfall data.



Thanks in advance,
Sharath
 

thanks klystron ...

I could get lot of useful info from that.

Actually I would like to know what are the ways to eliminate the rainfall ( Considering that I have counted the number of rainfall that has occurred in this chunk I have shown) in order to get the noise free data. Do you have matlab code for that?

-SHARATH
 

Take measurements using two microphones.
Position microphone 1 to focus on the bird sounds.
Use microphone 2 to focus on the ambient sounds.
Use BSS (Blind Source Separation (PCA and other Matlab algorithms) to extract the rain sounds.
 

Thats was a wonderful idea klystron..

i have a question though
So we are positioning this microphone 1 to focus on the bird sounds, My question is what if the birds don't turn up the whole day at all , I guess lot of information would be lost right?. And also what if the birds sit adjacent to where the microphone is focused. ?.\ Is there any alternatives in doing that?.

If there are more than 1 bird that is being focused, then how would u classify the species?.

P.S: The idea you presented is really wonderful but I would more than happy if U could explain me a little bit more regarding the focusing part that you are saying

Thanks your valuable inputs,
Sharath
 

The ambient microphone must have an omni-directional receiption pattern (360 square degrees)
The bird microphone will have a directional pattern (say 30 square degrees)
To optimise the Blind Source Separation algoritms when there are no bird signals you can introduce a white noise (360 square degrees) source.
 
Thanks again for your useful suggestions.

While I was measuring the rainfall, I wanted to set a threshold limit so that I could find the amount of rain more distinctively. But what i require is the exact threshold limit so that some of the vertical lines that dont even represent rain can be eliminated. So I wanted to take a look at the exact rainfall data of the file. I mean it was taken on June 11 2009 at HJ andrews forest, 20kms from Eugene in Oregon, USA. I am not able to get the weather report on that particular day that clearly so that I would know at what instances did it rain and can eliminate it from the data obtained in the spectrogram.

Do U Know any site that shows the history of rainfall data (here it is june 11 2009) . I would like to have a graphical view of the data on hourly basis as well. I am searching for it but not able to get it.

It would be nice if U could throw some light on this.

Thanks and regards,
Sharath
 

Thanks for sharing it here.
It provides me very useful information regarding the MATLAB code to detect rainfall.
 

The ambient microphone must have an omni-directional receiption pattern (360 square degrees)
The bird microphone will have a directional pattern (say 30 square degrees)
To optimise the Blind Source Separation algoritms when there are no bird signals you can introduce a white noise (360 square degrees) source.

Should we really need BSS for this case?. If we have known examples of rain signals, we can use a supervised learning algorithm. Otherwise, if we know the spectrum of rain signals, you can design a suitable algorithm for that case. BSS is when we have lot of (independent) sources overlapping in time domain. I am not sure if those algorithms can necessarily handle spatial separation (to find #unique birds).

Can U explain me more on this?. I had this though tin my mind so put it forward.

Thanks
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top