Flowchart – While Loops Process

control flowdiagramsflowchartprogramming-logic

I'm having difficulties understanding whether or not this is the right process to use for a flow chart which illustrates the processes involved in an algorithm.

For this, assume the following:

A 1D X = [0, 1, 2, 3,........] data block is split into 2D blocks:

x = {[0 1]} 
    {[2 3]}

For each of these blocks, the total energy is counted, if the total energy is less than the threshold value the block is removed. If the energy is higher, then it is kept and the algorithm moves onto the next block.

Here's my flow-chart:

enter image description here

Now the way I look at this is that, I start the algorithm split the signal into frames, calculate the energy for each signal (2D) if the energy < theshold remove the frame AND THEN end the algorithm.

If the energy is higher than the threshold, then, it looks that the signal block (2D) is passed back into the algorithm, the energy for the signal is re-calculated.

My questions:-

1) Should there be a while loop that says "If at the end of the block"?

2) Should I specify that blocks of x[n][n] could be passed into the calculate energy?

Alternatively, does this look fine and I should apply some description of how the process works in written text?

Any help would be greatly appreciated 🙂

Best Answer

Is the algorithm done once you remove one block that does not meet the threshold? If not, you need a loop that iterates over each block. You also need an exit condition if you have no blocks that fail to meet the threshold. Maybe something like this?

         Start
          |
          V
         Split signal
          |
          V
 /------ More blocks? <----\  <----\
 | (n)    |(y)             |       |
 V        V                |       |
End      Get next block    |       |
          |                |       |
          V                |       |
         Calculate         |       |
          |                |       |
          V                |       |
         Meets threshold? -/ (y)   |
          | (n)                    |
          V                        |
         Remove frame -------------/

Note, I don't normally do flow charts for my day-to-day activities so forgive me if I'm off base here.