デゞタル信号の平滑化

はじめに



post habrahabr.ru/post/183986によっおこの蚘事を曞くこずを䜙儀なくされたした。画像を平滑化するためのアルゎリズムが正しく䜿甚されおいたせん。



すぐにポむントを取埗したしょう。



デゞタル信号の数孊モデル—芁玠が数字であるベクトルず行列。 数倀には、バむナリバむナリ信号、10進数「通垞」信号などがありたす。 音声、画像、ビデオはすべおデゞタル信号1に倉換できたす。音声はベクトルに、画像はマトリックスに、ビデオは䞀連のマトリックスに倉換されたす。 したがっお、デゞタル信号は、情報を提瀺するための普遍的なオブゞェクトです。



平滑化タスクは、実際には、痙攣性ステップ倉化から信号をフィルタリングするタスクです。 有甚な信号にはそれらは含たれないず考えられおいたす。 倚くの鋭いが振幅が小さいレベル䜎䞋による段階的な信号には、平滑化された信号にはない高呚波成分が含たれおいたす。 したがっお、いく぀かの平滑化アルゎリズムでは、たず、さたざたな呚波数成分がどのように倧きく枛衰するかを刀断する必芁がありたす。 ぀たり、察応するフィルタヌの振幅呚波数特性を構築する必芁がありたす。そうしないず、アヌチファクトが「実行」される可胜性が高くなりたす。



平滑化タスクは、信号を間匕く堎合、぀たり、たずえば小さな画面に倧きな画像を衚瀺する必芁がある堎合に䜿甚できたす。 たたは、サりンドのサンプリング呚波数が、たずえば48000 Hzから44100 Hzに䜎䞋した堎合。 サンプリング呚波数を䞋げるこずは、予備の信号凊理ロヌパスフィルタヌ凊理を必芁ずする朜行的な操䜜ですが、これは別の議論のトピックです...



「悪い」平滑化の䟋を挙げたしょう





通垞の平均化ず出力信号は「スムヌズ」である必芁がありたす。 しかし、圌がどれくらい「スムヌザヌ」になったかをどのように刀断するのでしょうか 行き過ぎた たたは、1/3ではなく遞択するいく぀かの芁因がありたすか それずも5点以䞊の平均 信号の呚波数成分がどの皋床枛衰するかを刀断する方法は 最適な぀たり、特定のタスクに芋぀ける方法

「普通の」プログラマヌが自分のアルゎリズムを実蚌できるように、これらの質問や他のいく぀かの質問に答えようずしたす 。





信号





このセクションでは、信号はベクトル、぀たり特定の数の配列です。 たずえば、4぀の芁玠のベクトルs =2,5; 5; 0; -5。



簡単にするために、10進数の実数のみが考慮されたす。



最も䞀般的で理解可胜な信号の1぀はデゞタル化された音です。 信号サむズは、音の持続時間ずサンプルが取埗される呚波数サンプリング呚波数に䟝存したす。 芁玠信号数は、デバむスのサンプリングず保存によっお枬定される音の珟圚の振幅に䟝存したす。



すでに述べたように、スムヌズにする最も簡単な方法の1぀は

1

ここで、 sは元の信号、 vは平滑化された信号です。



方法1は、合蚈の平滑化特性に基づいおいたす。これは、倚くの乱数の合蚈ずしお蚈算される平均倀が、合蚈数の増加ずずもに、ランダム倉数2のようにどんどん少なくなるこずは誰にずっおも明らかであるためです。 。



しかし、匏1で係数を遞択する根拠は䜕ですか 平均は䜕に蚈算されたすか はいのようですが、...そしお、あなたが3぀の甚語ではなく、16の甚語を取るなら そしお、32 ??。なぜ䞭心芁玠s [i]からたすたす遠く離れたサンプルが同じ重量で取られるべきですか 結局のずころ、サンプル間の距離4が増加するず、サンプル間の接続は埐々に匱くなるこずが刀明するかもしれたせん。



「スむカ」ずいう単語の発音の䟋を10回続けお怜蚎し、蚘録された信号のサンプル間の関係を远跡しようずするず、たすたす分離されたサンプル間の関係の匱䜓化を芋぀けるこずができたす。 圓然、「長距離」を考慮するず、同じ単語の繰り返しにより音が繰り返され、䟝存関係が再び増加および枛少する、などなどです。 しかし、原則ずしお、ノむズは単語、フレヌズ、文ではなく個々の音の近くに珟れるため、平滑化するずきに「長距離」を考慮したせん。 単語たたはフレヌズのレベルでのノむズは、明らかに人工的効果音たたぱキゟチックな自然゚コヌです。 これはすでに「非ランダム」ノむズであり、別途調査が必芁です。 ここでは、「玔粋な」ノむズを考えたす。これは、簡単に蚀えば、うるさくうるさく、有甚な信号ずはたったく異なりたす。



単玔な掚論に基づいお、1の項の数フィルタヌ次数は、隣接するサンプルが互いにどれだけ密接に䟝存しおいるかに䟝存するこずが明らかになりたす。 たずえば、次々に続くサンプルが10個だけの䟝存関係がある堎合、30次のフィルタヌを䜿甚しおも意味がありたせん。 実際、それは「意味がない」ずいうこずすらありたせんが、-読み取り倀が実際に接続されおいない堎合、有甚な信号の過剰な平滑化が開始されるため音節の「食べる」䞍可胜です。 しかし、ここでの3次フィルタヌは、既に述べたように、10個の隣接サンプルの次数の䟝存性が芳察されるため、有甚な信号に関する情報の䜿甚に関しお最適ではありたせん。 したがっお、9次のフィルタヌを䜿甚しお「運を詊す」こずができたす。もちろん、プロセッサヌコンピュヌタヌの負荷が増加したす。 ここでは、おそらく実隓的に決定する必芁がありたすが、このゲヌムはキャンドルの䟡倀がありたすか..



隣接するサンプルがどの皋床密接に関連しおいるかを掚定する方法は 自己盞関関数ACFを蚈算したす。 垌望する人は、さたざたな単語、フレヌズ、フレヌズの繰り返し、およびその埌のACFの構築に関する実隓を行うよう招埅するこずができたすたずえば、Matlabプログラムを䜿甚するず、コヌドや匏をあたり考慮せずにこれを行うこずができたす。



では、1のフィルタヌ係数をどのように遞択したすか



この堎合、単䞀の効果、぀たり次の圢匏の信号に察するフィルタヌの応答を考慮するず䟿利です。





たずえば、フィルタヌ1は次の応答むンパルス応答を返したす



平滑化埌、信号の持続時間は3぀の芁玠に等しくなったず結論付けるこずができたす。 5぀の芁玠のフィルタヌを䜿甚する堎合..そうです、出力信号の持続時間は5぀の芁玠に等しくなりたす。 これがどれほど圹立぀かは、特定の状況タスクによっお決たりたす。



ずころで、埅望のアヌティファクトはすでにそこにありたす むンパルス応答1は、本質的にはたったく滑らかではない長方圢のむンパルスです..奇劙なこずですか たた、5ポむントフィルタヌを䜿甚する堎合はどうなりたすか 次に、出力ではより長い矩圢パルスを取埗したすが、振幅は小さくなりたす。 うたくいきたせん...最も単玔なテストでは、単玔な平均化は平滑化には適さないず蚀われおいたす。



フィルタヌ1を呚波数偎から芋おみたしょう既に䞀時的なフィルタヌを芋おいたす。



信号が音声の堎合、高調波信号のセット5 「正匊波」によっおかなり適切に蚘述され、特定の正匊波の枛衰の皋床はその呚波数に䟝存したす。 繰り返したすが、スムヌゞングフィルタヌを正しく遞択するず、有甚な正匊波が完党に消えるこずはありたせん。぀たり、動䜜呚波数範囲でのフィルタヌの振幅呚波数特性はかなり均䞀になるはずです。



サンプリング定理の限界を超えるこずなく、圓然ながら、特定の呚波数の1぀のシングルトヌン信号を考慮しおフィルタヌを通過させおみたしょう。 時間離散化ステップT dを1に等しくする、぀たり、サンプルを1秒単䜍で取埗したす。 呚波数f = 1 /3 T d = 1/3 Hzの信号を取埗したす。





2぀の期間に限定





フィルタヌの応答1は次のようになりたす





奇劙なこずに、ほずんどれロになりたした...有甚な信号の䞀郚の成分を倱う可胜性があるこずがわかりたした。



わずかに高い呚波数の信号に察する応答を確認したす





ご芧のずおり、波圢は倱われおいたせん。 問題は䜕ですか..



実際、フィルタヌ1の振幅呚波数特性は、動䜜呚波数垯域サンプリング呚波数の0から半分たでの垯域で単調ではなく、サンプリング呚波数の3倍䜎い呚波数で1぀のれロを持っおいたす。 芋せ方は



簡単に蚀えば、フィルタヌの呚波数応答を決定するには、フィルタヌの出力でのスペクトルず入力でのスペクトルの比を芋぀ける必芁がありたす。



入力での信号s [ i ] のスペクトルをS  f ず衚し、1クロックサむクルT dだけ遅延した信号s [ i -1]のスペクトルは、元の信号のスペクトルを通しお次のように衚されたす。

2

ここで、 jは虚数単䜍です。



高床な信号s [ i +1] のスペクトルは、次のように衚されたす。

3



虚数単䜍ずはどういう意味ですか そしお、どうすれば2ず3を正圓化できたすか

サむン、コサむン、指数の有名な[1、2]シリヌズを曞くず

4

次に、 j 2 = -1のような数倀jを遞択したす。最初の2぀を通しお最埌の行を衚珟できたす

5

぀たり、虚数指数を持぀指数を介しお、任意の耇玠数を曞き蟌むこずができたす。 数5のモゞュヌルは1虚数郚ず実数郚の平方和の平方根に等しいため、5の圢匏で耇玠数を曞き蟌むには、モゞュヌルで陀算しお乗算する必芁がありたす

6



5および6から、ある実数を掛けた虚数単䜍を指数で区別できる堎合、この数は耇玠数の匕数になりたす。



この堎合、信号が考慮されるため、耇玠数の振幅モゞュヌルは高調波信号の振幅に察応し、匕数は䜍盞に察応したす。 たずえば、次の圢匏の信号を取る堎合

7

振幅Aず䜍盞Fを区別できたす。係数 -これもフェヌズであり、堎合によっおは括匧で囲たれたせん。 たずえば、信号7が䜕らかのフィルタヌを通過する堎合、特定の呚波数fでフィルタヌが導入する入出力の信号の䜍盞差を知るこずが重芁です。



信号7がt 0の倀だけ遅延される堎合、同じ信号が取埗されたすが、䞀定倀だけ䜍盞がシフトしたす

8

぀たり、任意の信号が遅延するず、その呚波数成分はすべお、珟圚の呚波数ず遅延倀に䟝存する量だけ䜍盞シフトしたす。 これにより、匏2および3を説明できたす。 したがっお、任意のアルゎリズムを分析する堎合、 䜍盞呚波数特性も重芁です。これは、入力信号の各呚波数成分がフィルタヌアルゎリズムを遅延させる時間を瀺したす。 通垞、䜎呚波数ず高呚波数では、フィルタヌの遅延が異なりたす。



1、2、3から、フィルタヌの呚波数応答䌝達関数は次の圢匏になりたす。

9



出力信号のスペクトルは入力のスペクトルを通じお盎線的に衚珟されるため、出力9の堎合、入力信号のスペクトルは正垞に䜎枛されたす。 さらに、フィルタヌ1の呚波数応答は実数であるこずに泚意しおください。぀たり、このフィルタヌは䜍盞歪みを導入したせん6 。 匏1の察称性により、おそらく無意識にこれを達成したした。フィルタヌ出力の各サンプルは、珟圚のサンプルず2぀の隣接サンプルの合蚈に等しくなりたす。



物理的に、このようなアルゎリズムは、先頭のサンプルを䜿甚するため、ストレヌゞデバむスが存圚する堎合にのみ実装されたすサンプルs [ i ]を蚈算するには、サンプルs [ i +1]が必芁です。 これは珟圚倧きな問題ではなく、原則ずしお、察称アルゎリズムを䜿甚しおいたす。 䜍盞歪みが有甚であるこずが刀明した堎合、䞻なこずは、意識的にアルゎリズムを適甚し、異なる角床からそれを芋るこずです呚波数ず時間。



9の呚波数䟝存性をプロットするこずは難しくありたせん。 簡略化するために、正芏化された呚波数f 0 = f T dを導入したす。その倉動の有効範囲は[0 ... 0,5]です。 サンプリング定理によるサンプリング呚波数の半分よりも高い呚波数の信号成分は存圚しないはずですデゞタル化する前に、信号は察応するロヌパスフィルタヌを通過したす。 サンプリングレヌトは、デゞタルデバむスによっお1秒あたりに送信されるサンプルの数を瀺したす。 たずえば、1サむクルT dが1ミリ秒に等しい堎合、1秒間に1,000個のサンプルを発行する必芁がありたす。



9を分析するず、䞀定の間隔で、䌝送係数はれロより小さく、振幅は定矩により正の量であるこずがわかりたす...状況から抜け出す方法は、䜍盞特性のマむナス蚘号を削陀するこずで䌝達関数モゞュヌルを構築するこずですが、それでも定数ではありたせんれロ。 「マむナス1」ずいう数をずるず、匏5で衚すこずができたす。

10

぀たり、単䜍モゞュヌルず180床piの䜍盞を持぀耇玠数です。



したがっお、䞀郚の「高」呚波数に察する3点察称アルゎリズム1は、180床の䜍盞シフトを導入したす。぀たり、単に入力信号を反転させたす。 この効果は、2/5 Hzの正芏化された呚波数に察する䞊蚘の応答を分析するこずで確認できたす。





図 1. 3点察称平滑化アルゎリズムの振幅呚波数特性ず䜍盞呚波数特性 1



図から 図1では、1/3の呚波数の信号はこのアルゎリズムによっお抑制され、1/3を超える呚波数の信号は反転したす。 したがっお、有甚な動䜜呚波数範囲を[0 ... 0.5]から[0 ... 1/3]に安党に削枛できたす。 䌝達係数の急激な䜎䞋に満足できない堎合は、より矩圢の振幅呚波数特性を持぀別のアルゎリズムを決定する必芁がありたすが、同時にどの䜍盞がただ䞍明なのか...



実際、埗られた非単調な呚波数応答は、むンパルス応答の矩圢圢状の結果です...、0、0、...、1 / 3、1 / 3、1 / 3、0、0、... したがっお、むンパルス応答は、アルゎリズムの重倧な欠陥に簡単に気付く方法です。 呚波数応答は、蚈算が耇雑であるにもかかわらず、より埮劙な欠陥に気付き、陀去できるずいう点で䟿利です。



アルゎリズム1をより䞀般的な圢匏で蚘述するず

11

次に、呚波数応答の知識に基づいお、次のように係数を遞択するこずができたす。

そのため、振幅呚波数特性は、動䜜呚波数範囲0〜0.5で単調になりたす。 このためには、少なくずも、動䜜範囲内にれロがないこずが必芁です。



遅延サンプルs [i – 1]を先行s [i + 1]ず区別する理由がないため、係数a 1ずa 3を同等ず芋なしたす。 透過係数を曞き留めた埌

12



最初のれロを呚波数f 0 = 0.5に移動しおみたしょう。 このためには、等匏a 2 = 2a 1を満たす必芁がありたす。぀たり、サむドサンプルの重みは䞭倮のサンプルの半分になりたす。 次に、より最適なアルゎリズムは次のようになりたす

13



13で1぀の係数a 1を遞択する方法



パルス過枡応答の芳点からアルゎリズム13を芋おみたしょう。 これを行うには、単䞀のゞャンプに察する応答を芋぀けたす 

14



ご芧のずおり、定垞状態の出力振幅を1に維持するには、係数a 1 = 1/4を遞択する必芁がありたす。 ぀たり、すべおの係数の合蚈は1に等しくなければなりたせん。



最埌に、完成したアルゎリズムの

16

呚波数特性振幅ず䜍盞を構築するこずができたす図2。





図 2. 3点察称平滑化アルゎリズムの振幅呚波数ず䜍盞呚波数の特性16



分析図 図2は、䜍盞歪みが消え、動䜜呚波数垯域[0 ... 0.5]で振幅特性が単調になったこずを瀺しおいたす。 ある意味では、3ポむントフィルタヌからすべおを絞り出したした。



特に、倚くの平均化されたサンプルがある堎合、単玔な平均化は垞に最適ずはほど遠いこずが明らかになりたした。



画像





画像に関しおは、ある皋床たですべおが信号の堎合ず同じです。振幅ず䜍盞の歪み、むンパルス応答、信号゚ネルギヌ-䞻な違いは、ベクトルの代わりに行列が䜿甚されるこずです。 たた、画像には時間座暙はありたせんが、空間の座暙があるため、空間サンプリング呚波数があるこずに泚意しおください。 この違いは、アルゎリズムの数孊にたったく圱響しないため、かなり圢匏的なものです。



次に、隣接するポむントによっお画像を平滑化するための「最も簡単な」アルゎリズムを考えたす図3。 フィルタヌ出力でカりントv 00

17





図 3.隣接点で画像を平滑化するスキヌム



匏17では、3぀の項A 、 B、 Cが特別に区別されたす。これは、 BずCの 4぀の察応する内郚項が䞭倮参照s 00から独自の距離を持っおいるためです。 ここでは、甚語Aが最倧の重みを持ち、次にBずCが降順であるず仮定するのが自然です。



画像の堎合、スペクトルず透過係数は2次元になりたす。぀たり、2぀の呚波数に䟝存したす。最初の呚波数は氎平、2番目の呚波数は垂盎です明確にするためにすべおが条件付きです。



フィルタヌ17の透過係数は次のずおりです

18



たずえば、玄30の離散的な呚波数を䜿甚しお、呚波数応答モゞュヌル18の等高線グラフを䜜成するず図4、図4のような歪みが芋られたす。 1.巊䞋隅は最䜎呚波数に察応しおいたす。 サンプリング呚波数の1/3の呚波数で呚波数応答にディップがありたすこの堎合のサンプリング呚波数は䞡方の座暙で64です。





図 4. 9点察称平滑化アルゎリズムの振幅呚波数特性 17



図のサンプルの係数をシャッフルしたす。 3、次の平滑化アルゎリズムを取埗できたす

19



さらに、単䞀の露出が画像の䞭倮に配眮されおいる堎合、フィルタヌ19の応答は次の圢匏になりたす。

20



実際、20はフィルタヌのむンパルス応答です残りはれロなので、これらは9぀の䞻芁なカりントです。 むンパルス応答のすべおのサンプルの合蚈は1に等しくなりたす。 フィルタヌ19の呚波数応答は、図3 5。





図 5. 9点察称平滑化アルゎリズムの振幅呚波数特性 19



ここでも、通垞の平均化アルゎリズムの改善が芋られたす図4ず図5を比范。



たずめ





デゞタル信号スムヌゞングなどを凊理するアルゎリズムを開発する堎合、単玔な平均化のような盎感的なアルゎリズムを信頌するべきではありたせん。



より䞀般的なアプロヌチは、加重加算の手法ですサンプルに定数を掛けただけで、結果が加算される堎合、線圢アルゎリズムのみが考慮されたした。



重みの合蚈は、小さな重みが䞭心芁玠からより遠くに蚭定されおいる堎合、統蚈的に距離の増加に䌎う䟝存性の匱䜓化の自然な性質および機胜的に振幅-呚波数特性の単調性を確保しお、厳密に数孊的に係数を遞択するこずが可胜です正圓化されたす。



倧きな圹割は、加重和の係数によっお決定されるフィルタヌの振幅-呚波数特性によっお果たされたす。 特定のフィルタヌが特定の呚波数範囲を通過し、別の呚波数範囲をブロックするこずを蚌明できたす。 さらに、通過垯域、障害物などの䞍均䞀性を刀断するこずができたす。 フィルタヌの次数が倧きいほど、自由床が倧きくなり、振幅呚波数特性の圢状をより適切に遞択できるようになりたす。



重芁な圹割は、䞻にアルゎリズムの察称性の皋床によっお決定される䜍盞呚波数特性によっおも果たされたす。 リアルタむムアルゎリズムは、最初のサンプルが到着した瞬間にフィルタヌ出力にカりントダりンが衚瀺される堎合、察称ではないため、均䞀な䜍盞応答䞀定、倚くの堎合「れロ」を提䟛できたせん。 このようなアルゎリズムは、入力信号に遅延を導入したす。たずえば、䞀般に、平滑化された画像は䞡方の座暙でシフトしたす。 画像が耇雑な堎合぀たり、倚くの呚波数成分を持っおいる堎合、䜍盞の歪みは、座暙をシフトするだけでなく、著しく歪める可胜性がありたす。これは単玔な画像の堎合にほが圓おはたりたす。



たた、特定のアルゎリズムに察応するフィルタヌのむンパルス応答にも泚意を払う必芁がありたす。これにより、信号の時間スケヌルたたは画像の空間座暙のスケヌルで、フィルタヌを盎接芋る簡単な方法が可胜になりたす。



そしお最埌に、察応するフィルタヌの出力での信号損倱を決定するために、アルゎリズムの゚ネルギヌ分析が必芁です。この分析は、パルス過枡応答のフレヌムワヌクで䟿利に実行されたす。



脚泚



1. ,

2. ,

3. , , — , , 


4. —

5. , , «»

6. ,



゜ヌス





1. [ ], : , ru.wikipedia.org/wiki/%D2%F0%E8%E3%EE%ED%EE%EC%E5%F2%F0%E8%F7%E5%F1%EA%E8%E5_%F4%F3%ED%EA%F6%E8%E8

2. [ ], : , ru.wikipedia.org/wiki/%DD%EA%F1%EF%EE%ED%E5%ED%F2%E0



All Articles