Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

FM Signal Demodulation

Status
Not open for further replies.

MachineryWatch

Mechanical
Aug 29, 2002
114
Hi,

I have recorded an encoder signal from a rotating machine. It is captured as a .WAV file. Is there a signal processing software available to "demodulate" the signal? I am interested in the torsional vibration of this machine's shaft. The encoder signal should contain this information as Frequency Modulation.

Thanks for your help.

Skip Hartman

 
Replies continue below

Recommended for you

Skip, if there are no other replies, I'll show you how to do it in Mathcad, Matlab, Scilab or (gulp) Excel, depending on which you have access to. But I'm hoping someone will come up with a solution.





Cheers

Greg Locock
 
There used to be a piece of software on the internet called cool edit. It would allow you to edit all types of audio files and "rip" some of them into different formats. The software displayed the soundwaves as it played the file. And from there you could select a segment of the file and edit a frequency range (like triming the treble)

This should allow you to see what you're looking for

hope this helps
Jason
 
Jason, I have several programs that will allow me to do what you are talking about, but none that seem to perform FM demodulation.

Greg, which of the programs you listed would you recommend. I can look into acquiring the program that is the easiest to use for this task. I am looking into an upgrade to a program that I currently use from Sound Technologies. The upgrade is supposed to be capable of Amplitude Demodulation but the support guy I talked to seemed to not really know if it had any features for Frequency Demodulation. It does have the Hilbert Transform and I can see where that would be helpful for Amplitude Demodulation. Greg, can the Hilbert Transform do anything to help with Frequency Demodulation?

Skip

 
MathCad has the fastest learning curve and is the prettiest by a country mile. It is probably less suitable for 'production line' use than Matlab.

Matlab is enormously powerful and fast, but has an inscrutable user interface.

Scilab is a free equivalent to Matlab. I mostly use this at home, since I'm not going to cough up for Matlab, and my copy of MathCad dates from 1994, and doesn't seem to like modern operating systems.

Excel is the least suitable program for this task.

So for prototyping and investigations I'd use MathCad. For continuous repetitive use I'd pick Matlab or Scilab.

If you think about it there aren't many steps here, all you really want to do is demodulate the FM signal into a normal time history file, then you can use any of your normal signal analysis programs on it. Therefore in the long run it might be worth knocking together a Basic program to demodulate the signal and write it out to another file.

I have no experience, and no understanding, of Hilbert functions. Seismologists do use them, so I am guessing they are some sort of envelope analysis. I can see how envelope analysis might apply to FM signals, but it does puzzle me. They also tie somewhat into wavelet analysis, apparently.
for an intelligible yet unconvincing introduction.

I'll do a quick webpage on FM demodulation today. Oh, you might want to check with Tom Irvine, he has never failed to come up with a solution so far. My webpage will be at

Cheers

Greg Locock
 
well I thought I knew how to do this. I don't know if I've made a mistake, or have hit numerical problems, or what.

Anyway I've posted what I've done so far. I'll do some more research.

Cheers

Greg Locock
 
Skip, I am sorry to let you down.

I cannot see what I have done wrong.

The idea is so simple that it must be my implementation rather than anything else.

The equation of the FM waveform is

FM(t)=sin(c*t+k*signal(t))

where c is the carrier wave's circular frequency (ie number of teeth *rpm/60*2 *pi) and k is a scaling constant.

The instantaneous frequency of the FM waveform is then approximated by the inverse of the time between successive positive going zero crossings.

I'm guessing I'm in some sort of aliasing/numerical black hole in the example on my web page.




Cheers

Greg Locock
 
A simple demodulator is a phase lock loop (PLL). There are several analog demodulators, but since you will have digital data the PLL will be the easiest to implement. I am assuming your information is essentially a frequency-modulated sine wave with some noise. A PLL will generate a signal proportional to frequency. You will want to know an estimate of your fundamental frequency, the deviation range, the modulation rate, your sample frequency, the SNR, and any interfering signals. Your easiest solution is to do this in MATLAB. MATLAB has the built in tools to use a wav file, analyze your signal, and to do the PLL as a built in library. What is your tool of choice and what are the parameter I mentioned above?
John Solar


 
Greg,

Thanks for the link to Scilab! I had been thinking of buying a Matlab license to use after my retirement, but I had hoped to find something less costly.

Your link was right on target - both with regards to costs and timewise. Thanks!

Gunnar Englund
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor