1
$\begingroup$

I have been researching effective algorithms for denoising biomedical signals (non-stationary) that can be implemented in real time either using FPGA or DSP. I can across many suggestions for algorithms and effectiveness but found DWT to be the one that can denoise most of the noises I am interested in (power line interference, surge, power dips..) I used the wavelet toolbox in matlab and performed denoising and wanted to make sure that this method had been implemented effective before as real-time. I read few papers too but want more opinions.

$\endgroup$
  • $\begingroup$ Hi! Welcome here. Asking for opinions is explicitly off-topic. However, of course you can do that. Why would you believe that's not the case? $\endgroup$ – Marcus Müller Jun 17 at 14:01
  • $\begingroup$ Thank you for the comment, sorry first question on this forum. I just wanted to make sure it is implementable before diving deep into the implementation and missing on more effective algorithms instead for this specific purpose. $\endgroup$ – Shannon Jun 17 at 14:54
  • $\begingroup$ Tim's answer suffices, but just for my self-gratification i'll add this: there are two reasons that some process is not real-time: 1. inherently non-real-time and the best example i can think of is these time-compression and time-stretching (without changing pitch) algorithms. 2. non-inherent reasons such as someone's CPU or DSP or hardware is too wimpy. $\endgroup$ – robert bristow-johnson Jun 17 at 16:47
  • $\begingroup$ Any more details needed before *deep diving"? $\endgroup$ – Laurent Duval Jun 30 at 21:33
  • $\begingroup$ If you turned this question from "Can ... be implemented in real time" to "How can I decide if my candidate wavelet transform be used for my real-time system" then it will no longer be opinion-based, and it can be opened again. $\endgroup$ – TimWescott Jul 5 at 19:52
3
$\begingroup$

Even though I'm not much of a wavelet expert, I can answer with a definitive YES!!

Now, do you have any messy details to complain about, like the size of the box, the power that it consumes, or the number of frames of delay between the taking of the image and its display? Because that's your real problem.

Take the particular wavelet transform you want to use. Sit down and with pencil and paper figure out how many calculations (floating point operations, basically multiplies and adds) that need to be performed per frame. Look to see if the transform you want to use works with the fast wavelet transform. Multiply the FLOP per frame by your frame rate -- you should have an answer in MFLOPS or GFLOPS. Now hold that up against available processors or FPGAs, and figure out what needs to be in your box. Then multiply by three, because it always takes more real estate to do a calculation than you think.

| improve this answer | |
$\endgroup$
1
$\begingroup$

Strict real-time can be complicated, but it definitely is doable with a controllable delay. Some call that practically real-time or almost real-time. You will easily find wavelet FPGA implementations for video compression or processing for instance.

I would like to underline that overcomplete or redundant wavelets can be a bit more complicated to implement, but could definitely have improved performance for denoising. An example can be found in Redundant wavelet processing on the half‐axis with applications to signal denoising with small delays: theory and experiments, and I think a related code can be found implemented in Scilab/Scicos (similar to Matlab) at Real Time De-noising with a Left Wavelet Transform.

| improve this answer | |
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.