From: Rune Allnor on
On 1 Mar, 23:17, "evilzucchini" <cbar...(a)digitalgridinc.com> wrote:
> Thanks for the responses.
>
> I don't think aliasing is a problem because our anti-aliasing filter's
> cutoff is less than 2 times our sampling rate.

Eh... less than *two* times the sampling rate?
Not less than *half* the sampling rate...?

Rune
From: Jerry Avins on
Rune Allnor wrote:
> On 1 Mar, 23:17, "evilzucchini" <cbar...(a)digitalgridinc.com> wrote:
>> Thanks for the responses.
>>
>> I don't think aliasing is a problem because our anti-aliasing filter's
>> cutoff is less than 2 times our sampling rate.
>
> Eh... less than *two* times the sampling rate?
> Not less than *half* the sampling rate...?

That passed right over me!

Jerry
--
"I view the progress of science as ... the slow erosion of the tendency
to dichotomize." --Barbara Smuts, U. Mich.
�����������������������������������������������������������������������
From: steveu on
>I am fairly new (or, more accurately, still very wet behind the ears) to
>DSP. I have very little formal training and got thrust into the duties
of
>handling the embedded DSP programming for our project. So please forgive
>me if I ask something that is very basic. . .and I believe it is kind of
>basic.
>
>At first my duties were pretty simple: sampling some sine waves,
>correlating them to determine magnitudes/angles/etc. I handle this fine
>and well within the specs given to us by our customers.
>
>However, now our customers want more (big surprise). One of the requests
>was to do a Total Harmonic Distortion analysis of the currents (we are
>working in the power industry). I have no problem finding and
>understanding the mathematics for determining the total harmonic
>distortion, however, whenever I do it I get numbers that I believe to be
>very high. I am seeing 11-20% THD on "perfectly" smooth sine waves that
I
>am generating. Perfect in the sense that I am adding in no harmonics and
>they look very clean on an oscilloscope. I am using Exocortex 2D FFT
>algorithm to generate the power of each harmonic on our sine wave.
>
>I suspect the problem is that I am not sampling perfectly in sync with
the
>60 Hz sine wave due to imperfections in the clock (like the rate I am
>sampling at would not be exactly 128 samples per cycle, but more like
>128.5) and that this is making it look like there is more distortion than
>there is. I believe that if you are expecting to see 1 cycle in 128
>samples, but you are really only seeing .9 cycles per 128 samples, it may
>appear that you have a lot of power in harmonics other than the
fundamental
>when, in the real world, it is actually a sine wave with very low
>distortion.
>
>Would a slightly incorrect sampling rate give significantly incorrect
>harmonic data? If so, how do you correct this? Is there a good
algorithm
>for "locking" onto a signal so that your sampling rate becomes more
>perfect? Or am I just totally wrong and it is probably some other
>problem?
>
>I did do a search trying to find the solution to this problem or at least
>some guidance, but I am not exactly sure what it is called so I have been
>unsuccessful trying to find a solution or even if I am barking up the
right
>tree.
>
>For reference, I am coding in C for a 16 bit Freescale 56f8367 Digital
>Signal Controller and doing the FFT calculations in C# for .Net (after
>downloading the raw sampled data from the ADC in our unit).
>
>Thank you,
>Charlie

Why take a roundabout approach to finding the THD (finding all the
harmonics with an FFT and summing them), rather than go straight for your
goal? What about:

- Phase lock a synthesised pure sine wave to your signal.
- Tune the amplitude of your sine wave, so that
original.pure == pure.pure

Now, sqrt(original.original) is your harmonic polluted RMS value, and
sqrt(pure.pure) is the fundamental RMS value. The difference is the
harmonic content.

Calculate those dot products in a leaky manner, and you can perform a
continuous measurement, tuning the phase lock and amplitude as you go.

Steve

From: Jerry Avins on
steveu wrote:
>> I am fairly new (or, more accurately, still very wet behind the ears) to
>> DSP. I have very little formal training and got thrust into the duties
> of
>> handling the embedded DSP programming for our project. So please forgive
>> me if I ask something that is very basic. . .and I believe it is kind of
>> basic.
>>
>> At first my duties were pretty simple: sampling some sine waves,
>> correlating them to determine magnitudes/angles/etc. I handle this fine
>> and well within the specs given to us by our customers.
>>
>> However, now our customers want more (big surprise). One of the requests
>> was to do a Total Harmonic Distortion analysis of the currents (we are
>> working in the power industry). I have no problem finding and
>> understanding the mathematics for determining the total harmonic
>> distortion, however, whenever I do it I get numbers that I believe to be
>> very high. I am seeing 11-20% THD on "perfectly" smooth sine waves that
> I
>> am generating. Perfect in the sense that I am adding in no harmonics and
>> they look very clean on an oscilloscope. I am using Exocortex 2D FFT
>> algorithm to generate the power of each harmonic on our sine wave.
>>
>> I suspect the problem is that I am not sampling perfectly in sync with
> the
>> 60 Hz sine wave due to imperfections in the clock (like the rate I am
>> sampling at would not be exactly 128 samples per cycle, but more like
>> 128.5) and that this is making it look like there is more distortion than
>> there is. I believe that if you are expecting to see 1 cycle in 128
>> samples, but you are really only seeing .9 cycles per 128 samples, it may
>> appear that you have a lot of power in harmonics other than the
> fundamental
>> when, in the real world, it is actually a sine wave with very low
>> distortion.
>>
>> Would a slightly incorrect sampling rate give significantly incorrect
>> harmonic data? If so, how do you correct this? Is there a good
> algorithm
>> for "locking" onto a signal so that your sampling rate becomes more
>> perfect? Or am I just totally wrong and it is probably some other
>> problem?
>>
>> I did do a search trying to find the solution to this problem or at least
>> some guidance, but I am not exactly sure what it is called so I have been
>> unsuccessful trying to find a solution or even if I am barking up the
> right
>> tree.
>>
>> For reference, I am coding in C for a 16 bit Freescale 56f8367 Digital
>> Signal Controller and doing the FFT calculations in C# for .Net (after
>> downloading the raw sampled data from the ADC in our unit).
>>
>> Thank you,
>> Charlie
>
> Why take a roundabout approach to finding the THD (finding all the
> harmonics with an FFT and summing them), rather than go straight for your
> goal? What about:
>
> - Phase lock a synthesised pure sine wave to your signal.
> - Tune the amplitude of your sine wave, so that
> original.pure == pure.pure
>
> Now, sqrt(original.original) is your harmonic polluted RMS value, and
> sqrt(pure.pure) is the fundamental RMS value. The difference is the
> harmonic content.

Is subtracting two possibly nearly-equal numbers a robust approach?

> Calculate those dot products in a leaky manner, and you can perform a
> continuous measurement, tuning the phase lock and amplitude as you go.

Jerry
--
"I view the progress of science as ... the slow erosion of the tendency
to dichotomize." --Barbara Smuts, U. Mich.
�����������������������������������������������������������������������
From: Vladimir Vassilevsky on


steveu wrote:

> Why take a roundabout approach to finding the THD (finding all the
> harmonics with an FFT and summing them), rather than go straight for your
> goal? What about:
>
> - Phase lock a synthesised pure sine wave to your signal.
> - Tune the amplitude of your sine wave, so that
> original.pure == pure.pure

I wouldn't recommend this for beginners.

> Now, sqrt(original.original) is your harmonic polluted RMS value, and
> sqrt(pure.pure) is the fundamental RMS value. The difference is the
> harmonic content.

Not quite. The difference is THD + N + numeric artifacts.

> Calculate those dot products in a leaky manner, and you can perform a
> continuous measurement, tuning the phase lock and amplitude as you go.

I've heard that some digital scopes adjust their sample rate so the
period of fundamental falls exactly in the FFT bin.

Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5
Prev: Goertzl Algorithm
Next: eliptic iir filter attenuation