Forum Discussion
Altera_Forum
Honored Contributor
12 years agosignal power estimation
Hello guys.. I'm trying to implement a block that evaluates the signal rms value along n samples. So, using the std definition one must do (x_k is a complex number so I have to take in acc...
Altera_Forum
Honored Contributor
12 years ago --- Quote Start --- Hello guys.. I'm trying to implement a block that evaluates the signal rms value along n samples. So, using the std definition one must do (x_k is a complex number so I have to take in account |x_k|): http://upload.wikimedia.org/math/0/1/4/014a453df92ed77eca97b228f0624d9f.png The simplier way I have in mind is to use an accumulator. By the way it will indroduce some overflow issues. There is a good way in doing this ?? Thank you ! --- Quote End --- since your input is complex then square Re(Re*Re) + square Im(Im*Im) then accumulate this result over say 2^20 samples. The accumulator will need 20 bits extra(over that of adder result) to avoid overflow. For 1/n Discard 20 LSBs when you read final result before clearing it to restart. for square root, avoid it if you don't need it else use LUT or ip