これが、アルゴリズムに含まれるプロセスを示すフローチャートに使用する適切なプロセスであるかどうかを理解するのが困難です。
このため、以下を想定します。
1D X = [0, 1, 2, 3,........]
データブロックは2Dブロックに分割されます。
x = {[0 1]}
{[2 3]}
これらの各ブロックについて、総エネルギーがカウントされます。総エネルギーがしきい値よりも小さい場合、ブロックは削除されます。エネルギーが高い場合、それは維持され、アルゴリズムは次のブロックに移動します。
これが私のフローチャートです:
ここで私がこれを見る方法は、アルゴリズムを開始して信号をフレームに分割し、エネルギー<しきい値がフレームを削除し、その後アルゴリズムを終了する場合、各信号のエネルギーを計算します(2D)。
エネルギーがしきい値より高い場合、信号ブロック(2D)がアルゴリズムに戻され、信号のエネルギーが再計算されているように見えます。
私の質問:-
1)「ブロックの終わりにある場合」というwhileループが必要ですか?
2)x[n][n]
のブロックがエネルギー計算に渡されるように指定する必要がありますか?
あるいは、これはうまく見えますか、そしてプロセスが書かれたテキストでどのように機能するかのいくつかの説明を適用する必要がありますか?
どんな助けでも大歓迎です:)
しきい値を満たさないブロックを1つ削除すると、アルゴリズムは実行されますか?そうでない場合は、各ブロックを反復するループが必要です。しきい値を満たさないブロックがない場合も、終了条件が必要です。たぶんこんな感じ?
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 -------------/
注、私は通常、日常のアクティビティのフローチャートを実行しないので、ここでベースから外れている場合は許してください。