My requirement is to use a moderate controller (Non DSP) and take analog sinusoidal signals (half second cycle 50 hz) , take their samples, do a Fourier transform to remove harmonics and then multiply them to find instantaneous power. Then do a Low Power Filtering operation on this power signal. Is it possible? has anyone implemented anything similar or am I being too ambitious? please post your comments about its feasibility.
Are you sure that Fourier is the way to go instead of a simpler low-pass filter?
You can implement a quite fancy filter at about
70 Hz corner frequency with the calculation tedium of a FFT / inverse FFT pair.
The main difference of a DSP to a more common processor is the ability to make a very fast scalar product of two vectors, i.e. multiply the vectors element-by-element and add the products. If your application stands doing the same with a garden-variety processor, you can use it.
To get a reasonable amount of samples in a cycle, you will need a sample rate around 1000 samples per channel and second. This is not a problem for modern controllers.
A good point to ponder is whether a 8 bit controller can handle it or if a more powerful 32 bit chip would better fill the bill. The main considerations here are cost and needed calculation resolution.
(I'd consider some of the ARM's here, e.g. Atmel AT91's).
I think low pass filter is a good idea. can you guide me how the FFT / inverse FFT pair could give a corner frequency of 70hz. this should solve the problem I am using a renesas R8C series 16 bit processor. This is the first time i am dealing with analog/digital signals so my knowledge is limited to the books. Its the function of a AD7751 metering IC whose function I have to emulate inside the controller. Yes it has to be done in real time. So logic should be about 1000 samples per second, Low pass filter at 70 hz, multiply over a cycle and take average? is it feasible? And also do ADC give a negative value for negative half cycles. If no then how do you take care of it?
The filter should be done *without* any Fourier transform at all.
Please get an elementary textbook on digital signal processing and learn the filter design. There are quite a lot of different design decisions that *you* have to make.
IMHO, yes. It depends on your other design decisions, however.
Pretty many ADCs can be set up for bi-polar operation. Have a look at the manual of the converter you have.
I have designed a similar (but quite simpler) system. The idea is in using fast FIFO memory to read from ADC and hold a signal and then operate with data in non-real time by slow mcu.
Hi all, Thanks for the wonderful support. Have got the book and working on my DSP skills. Thats the most important first step. Thanks hi Eugene. I am also looking at simplifying design. I have to ensure I have an average power being calculated every half second. so its like non real time. could you guide me a little more about what kind of system you are using. I couldn't get the logic from your post. Thanks a lot
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.