Calculating noise in SINE signal

10 views (last 30 days)
Tek
Tek on 26 Jun 2012
I have measurement data of SINE waves with noise in a nx1 matrix. I wan't to delete an ideal SINE wave from the data to calculate the noise level of the signal.
What is the best way to proceed? Sampling rate is somewhat 450Hz
Thanks.
T
edit. I'm not sure I was understrood correctly so I'll be more specific.
I have a transmitter and I test it with a signal generator which gives 1Hz sine wave output. The transmitter turns this into digital signal with 450Hz sampling rate. When I display the transmitted signal, there is some noise, so I wan't to delete the 1Hz sine component so all is left is noise.
I have done it with creating a 1Hz sin and deleting a corresponding value from the datapoints, but I think there are some better ways?

Answers (1)

Walter Roberson
Walter Roberson on 26 Jun 2012
In order to do that, you need to measure your data at infinite bandwidth. (Or, in practice, with bandwidth of 2^53 or so.) If you don't do that, then you cannot reconstruct the IDEAL sine wave. For example, if you measure at merely 450 gigahertz (1000000 times more than your approximate signal rate), you cannot reconstruct to better than one part in 1/500000 Hz -- cannot distinguish between 463.2495873 Hz and 463.2495892 Hz in such a case.
Oh, people will probably suggest that you fft() to determine what the peak frequency is, but that will only be able to narrow down the location of the peak frequency to somewhere in one particular fft bin. That isn't good enough to allow you to build the IDEAL sine wave to subtract. And besides, the noise could change the exact location of where the peak is found, and then you have to worry about the relative amplitude of the noise and about the steepness near the peak of signal in order to figure out where the peak is really.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!