I want to design a 3 phase meter which provides following basic functions:
As I know, if the device needs harmonic calculation, the metering library with FFT should be used.
But to implement the voltage dip monitoring and swell monitoring function, the meter has to calculate the Urms
every 1/2 period, for 50 Hz grid, every 10 ms the Urms must be calculated. If I choose metering library with FFT, it must call METERLIBFFT_CalcMain first and this function take much time. If I call it every 10 ms, I am afraid the meter performance will reduce a lot.
Or I can use two metering library FFT and Filter at the same time, using Filter library to calculate Urms every 10 ms and FFT library to calculate harmonic every 20 ms (50 Hz).
Is there someone can tell me how I can solve this problem?
you need to use FFT library as a base and add your own code to compute voltage dip and voltage swell. Your code can leverage the same raw data gathered in a buffers for FFT computing.
Note that filter-based library, namely METERLIB1PH_CalcURMS function, cannot be used because LP filter constant can be set only as high as to achieve RMS computing within approx. one voltage cycle (20ms). Further speeding up filters is possible but don't make sense by my opinion because RMS ripples would be very large (for 20ms filter settling time the RMS ripples are in range +/-5%).
I do not think there is good idea to handle your case. I suppose you have to use two library, you can use meter library to calculate the RMS of both voltage and current, in other words, you calculate the Rms of voltage/current in time domian with 10ms period. You can use FFT library in 20ms period to calculate the other parameters.
Hope it can help you.