خوارزميات سريعة للإشارات متعددة الأبعاد

على غرار معالجة الإشارات الرقمية أحادية البعد، نجد في معالجة الإشارات متعددة الأبعاد [ 1 ] خوارزميات فعّالة . تُقاس كفاءة الخوارزمية بكمية الموارد الحاسوبية اللازمة لحساب المخرجات أو الكمية المطلوبة. في هذه الصفحة، نشرح اثنتين من الخوارزميات الفعّالة جدًا للإشارات متعددة الأبعاد. ولتبسيط الشرح، سنستخدم الإشارات ثنائية الأبعاد، مع العلم أن النظرية نفسها تنطبق على الإشارات متعددة الأبعاد. كما نوضح مقدار التوفير الحسابي لكل خوارزمية.

الدافع والتطبيقات

في حالة الأنظمة الرقمية، يمكن استخدام تعابير رياضية لوصف علاقة المدخلات والمخرجات، ويمكن استخدام خوارزمية لتنفيذ هذه العلاقة. وبالمثل، يمكن تطوير خوارزميات لتنفيذ تحويلات مختلفة مثل المرشح الرقمي ، وتحويل فورييه ، والمدرج التكراري ، وتحسينات الصور، وما إلى ذلك. ولا يُعد التنفيذ المباشر [ 2 ] لعلاقات المدخلات والمخرجات والتحويلات هذه بالضرورة الطريقة الأمثل لتنفيذها.

عندما بدأ الناس بحساب هذه المخرجات من المدخلات عبر التنفيذ المباشر، شرعوا في البحث عن طرق أكثر كفاءة. تهدف هذه الصفحة في ويكي إلى عرض خوارزميات فعالة وسريعة للإشارات والأنظمة متعددة الأبعاد. يمكن نمذجة الإشارة متعددة الأبعاد (MD) كدالة لعدد M من المتغيرات المستقلة، حيث M أكبر من أو يساوي 2. يمكن تصنيف هذه الإشارات إلى إشارات متصلة، أو منفصلة، ​​أو مختلطة. يمكن نمذجة الإشارة المتصلة كدالة لمتغيرات مستقلة تتراوح قيمها على نطاق متصل، مثل الموجة الصوتية التي تنتقل في الفضاء، أو الموجات الفضائية ثلاثية الأبعاد المقاسة في أوقات مختلفة. أما الإشارة المنفصلة، ​​فيمكن نمذجتها كدالة معرفة فقط على مجموعة من النقاط، مثل مجموعة الأعداد الصحيحة. تُعد الصورة أبسط مثال على إشارة ثنائية الأبعاد منفصلة ذات طبيعة مكانية.

في سياق الخوارزميات السريعة، انظر إلى المثال التالي:

نحتاج إلى حساب قيمة A التي تُعطى بالصيغة التالية

A = αγ + αδ + βγ + βδ حيث تكون α وβ وγ وδ متغيرات معقدة.

لحساب قيمة A، نحتاج إلى 4 عمليات ضرب أعداد مركبة و3 عمليات جمع أعداد مركبة. يمكن كتابة المعادلة أعلاه في أبسط صورة لها كما يلي:

أ = (α + β)(γ + δ)

لا يتطلب هذا الشكل سوى عملية ضرب معقدة واحدة وعمليتي جمع معقدتين.

وبالتالي، فإن الطريقة الثانية لحساب A أكثر كفاءة وسرعة بكثير مقارنةً بالطريقة الأولى. وهذا هو الدافع وراء تطوير الخوارزميات السريعة في مجال معالجة الإشارات الرقمية. ونتيجةً لذلك، تستخدم العديد من التطبيقات العملية هذه الخوارزميات الفعالة لإجراء حسابات سريعة.

بيان المشكلة والأساسيات

أبسط طريقة لتمثيل نظام خطي ثابت الإزاحة (LSI) هي من خلال استجابته النبضية. يُعطى خرج هذا النظام في المجال المنفصل من خلال عملية الالتفاف بين إشارة دخله واستجابته النبضية . ويُعبَّر عن ذلك رياضيًا كما يلي:

y(ن1،ن2)=ل1=-+ل2=+x(ل1،ل2)ح(ن1-ل1،ن2-ل2){\displaystyle y\left(n_{1},n_{2}\right)=\sum _{l_{1}=-\infty}^{+\infty }\sum _{l_{2}=\infty }^{+\infty }x(l_{1},l_{2})h(n_{1}-l_{1},n_{2}-l_{2})}

أينح(ن1،ن2){\displaystyle h(n_{1},n_{2})}هي استجابة النظام النبضية.

الشكل 1: تمثيل مخطط الكتلة لنظام ثنائي الأبعاد مع استجابة نبضية h(n1,n2)

وفقًا للمعادلة أعلاه، للحصول على قيمة المخرجات عند نقطة معينة (مثلاًy(0،0){\displaystyle y(0,0)}نحتاج إلى ضرب عدة قيم للمدخلاتx(ل1،ل2){\displaystyle x(l_{1},l_{2})}والاستجابة النبضيةح(-ل1،-ل2){\displaystyle h(-l_{1},-l_{2})}بالطبع، يعتمد هذا على نطاق دعم الإشارة المدخلة، بالإضافة إلى استجابة النبضة. والنقطة الأساسية التي يجب ملاحظتها هنا هي أننا نحتاج إلى إجراء العديد من عمليات الضرب والجمع المعقدة للحصول على قيمة خرج واحدة.

بافتراض أن إشارة الإدخال ثنائية الأبعاد لها طولم×م{\displaystyle M\times M}وتكون استجابة النظام النبضية بطولشمال×شمال{\displaystyle N\times N}نحن بحاجة إلى الأداءم2شمال2{\displaystyle M^{2}N^{2}}عدد عمليات الضرب اللازمة للحصول على جميع قيم المخرجات. يمكن حساب المخرجات بكفاءة إذا أمكن استغلال بعض خصائص النظام.

نواجه سيناريو مشابهًا عندما يتعين علينا حساب تحويلات فورييه المنفصلة لإشارة ذات أهمية.

إن الحساب المباشر لـ DFT ثنائي الأبعاد هو ببساطة تقييم المجموع المزدوج [ 3 ]

X(ك1،ك2)=ن1=0شمال1-1ن2=0شمال2-1x(ن1،ن2)دبليوشمال1ن1ك1دبليوشمال2ن2ك2{\displaystyle X\left(k_{1},k_{2}\right)=\sum _{n_{1}=0}^{N_{1}-1}\sum _{n_{2}=0}^{N_{2}-1}x(n_{1},n_{2})W_{N_{1}}^{n_{1}k_{1}}W_{N_{2}}^{n_{2}k_{2}}} ل 0ك1شمال1-1 و 0ك2شمال2-1{\displaystyle {\text{ لـ }}0\leq k_{1}\leq N_{1}-1{\text{ و }}0\leq k_{2}\leq N_{2}-1}

 أين دبليوشمالخبرة(-ج2πشمال){\displaystyle {\text{ حيث }}W_{N}\equiv {\text{exp}}\left(-j{\frac {2\pi }{N}}\right)}

إجمالي عدد عمليات الضرب والجمع المعقدة اللازمة لتقييم نظرية الكثافة الوظيفية ثنائية الأبعاد هذه عن طريق الحساب المباشر هوشمال12شمال22{\displaystyle N_{1}^{2}N_{2}^{2}}هذا نهج ساذج، ومع ذلك، نعلم بالفعل أنه يمكن حساب نظرية الكثافة الوظيفية أحادية البعد ذات N نقطة باستخدام عدد أقل بكثير منشمال2{\displaystyle N^{2}}يمكن إجراء عمليات الضرب باستخدام خوارزمية تحويل فورييه السريع (FFT). وكما هو موضح في القسم التالي، يمكننا تطوير تحويلات فورييه السريعة لحساب تحويلات فورييه المنفصلة ثنائية الأبعاد أو ذات الأبعاد الأعلى أيضًا [ 3 ].

خوارزميات سريعة للإشارات متعددة الأبعاد

نهج تحليل الصفوف والأعمدة لتقييم نظرية الكثافة الوظيفية

المصدر: [ 3 ]

مجموع DFTX(ك1،ك2){\displaystyle X\left(k_{1},k_{2}\right)}يمكن كتابة المعادلة السابقة أيضًا بالشكل التالي

X(ك1،ك2)=ن1=0شمال1-1[ن2=0شمال2-1x(ن1،ن2)دبليوشمال2ن2ك2]دبليوشمال1ن1ك1{\displaystyle X\left(k_{1},k_{2}\right)=\sum _{n_{1}=0}^{N_{1}-1}\left[\sum _{n_{2}=0}^{N_{2}-1}x(n_{1},n_{2})W_{N_{2}}^{n_{2}k_{2}}\right]W_{N_{1}}^{n_{1}k_{1}}}

يترك جي(ن1،ك2){\displaystyle G\left(n_{1},k_{2}\right)}تشير إلى الكمية الموجودة داخل الأقواس ويتم تحديدها بواسطة:

جي(ن1،ك2)=ن2=0شمال2-1x(ن1،ن2)دبليوشمال2ن2ك2{\displaystyle G\left(n_{1},k_{2}\right)=\sum _{n_{2}=0}^{N_{2}-1}x(n_{1},n_{2})W_{N_{2}}^{n_{2}k_{2}}}

X(ك1،ك2)=ن1=0شمال1-1جي(ن1،ك2)دبليوشمال1ن1ك2{\displaystyle X\left(k_{1},k_{2}\right)=\sum _{n_{1}=0}^{N_{1}-1}G\left(n_{1},k_{2}\right)W_{N_{1}}^{n_{1}k_{2}}}

باستخدام هذه الطريقة، يتم تطبيق DFTX{\displaystyle X}يمكن حسابها على شكل تحويلات متعددة أحادية البعد (DFT). أي أن كل عمود منجي{\displaystyle G}يمكن اعتبارها بمثابة تحويل فورييه أحادي البعد للعمود المقابل منx{\displaystyle x}(ن1{\displaystyle n_{1}}= ثابت). وكل صف منX{\displaystyle X}هو تحويل فورييه أحادي البعد للصف المقابل من جي{\displaystyle G}(ن2{\displaystyle n_{2}}= ثابت). لذا، نقوم بحساب تحويل فورييه المنفصل ثنائي الأبعاد عن طريق تقسيمه إلى تحويل فورييه المنفصل للصفوف والأعمدة.

يتم استخدام نفس المبدأ لتقييم تحويل فورييه المنفصل متعدد الأبعاد لإشارة ذات أبعاد M.

والآن دعونا نتحدث عن التوفير الحسابي الذي نحصل عليه باستخدام هذا النهج. يُلاحظ أننا نحتاج إلىشمال1شمال2(شمال1+شمال2){\displaystyle N_{1}N_{2}(N_{1}+N_{2})}عمليات الجمع والضرب المعقدة. علاوة على ذلك، إذا تم حساب كل من هذه التحويلات المنفصلة أحادية البعد باستخدام تحويل فورييه السريع أحادي البعد، فيمكن تقليل عدد عمليات الضرب المعقدة إلى شمال1شمال2سجل2شمال1شمال22{\displaystyle N_{1}N_{2}{\frac {\log _{2}N_{1}N_{2}}{2}}}

تحويل فورييه السريع ذو الجذر المتجهي

المصدر: [ 3 ]

كما هو الحال في تحويل فورييه السريع أحادي البعد، يمكن تحقيق تقليل عدد العينات في الوقت نفسه في حالة الإشارات ثنائية الأبعاد. يمكن التعبير عن تحويل فورييه المنفصل أحادي البعد لإشارة طولها قوة من قوى العدد 2، بدلالة تحويلين من نوع DFT بنصف الطول، ويمكن التعبير عن كل منهما بدوره كمزيج من تحويلات DFT بربع الطول، وهكذا.

في حالة الإشارات ثنائية الأبعاد، يمكننا التعبير عن(شمال1 x شمال2){\displaystyle (N_{1}{\text{ x }}N_{2})}DFT من حيث أربعةشمال12 x شمال22{\displaystyle {\frac {N_{1}}{2}}{\text{ x }}{\frac {N_{2}}{2}}}تحويلات فورييه المنفصلة (بافتراضشمال1{\displaystyle N_{1}}وشمال2{\displaystyle N_{2}}(قوى العدد 2). ولتبسيط الأمر، لنفترض أنشمال1=شمال2=شمال{\displaystyle N_{1}=N_{2}=N}يمكن تقسيم مجموع DFT المزدوج إلى أربعة مجاميع منفصلة، ​​واحد منها على عينات منx{\displaystyle x}والتي من أجلها كلاهمان1{\displaystyle n_{1}}ون2{\displaystyle n_{2}}زوجية، واحدة منهان1{\displaystyle n_{1}}زوجي ون2{\displaystyle n_{2}}أمر غريب، وهو أمرن1{\displaystyle n_{1}}غريب ون2{\displaystyle n_{2}}زوجي وآخر واحد لهن1{\displaystyle n_{1}}ون2{\displaystyle n_{2}}غريب.

يُكتب هذا على النحو التالي  :

X(ك1،ك2)=S٠٠(ك1،ك2)+S01(ك1،ك2)دبليوشمالك2+S10(ك1،ك2)دبليوشمالك1+S11(ك1،ك2)دبليوشمالك1+ك2{\displaystyle X\left(k_{1},k_{2}\right)=S_{00}(k_{1},k_{2})+S_{01}(k_{1},k_{2})W_{N}^{k_{2}}+S_{10}(k_{1},k_{2})W_{N}^{k_{1}}+S_{11}(k_{1},k_{2})W_{N}^{k_{1}+k_{2}}}

أين

S٠٠(ك1،ك2)م1=0شمال/2-1م2=0شمال/2-1x(2م1،2م2)دبليوشمال2م1ك1+2م2ك2{\displaystyle S_{00}(k_{1},k_{2})\equiv \sum _{m_{1}=0}^{N/2-1}\sum _{m_{2}=0}^{N/2-1}x(2m_{1},2m_{2})W_{N}^{2m_{1}k_{1}+2m_{2}k_{2}}}

S01(ك1،ك2)م1=0شمال/2-1م2=0شمال/2-1x(2م1،2م2+1)دبليوشمال2م1ك1+2م2ك2{\displaystyle S_{01}(k_{1},k_{2})\equiv \sum _{m_{1}=0}^{N/2-1}\sum _{m_{2}=0}^{N/2-1}x(2m_{1},2m_{2}+1)W_{N}^{2m_{1}k_{1}+2m_{2}k_{2}}}

S10(ك1،ك2)م1=0شمال/2-1م2=0شمال/2-1x(2م1+1،2م2)دبليوشمال2م1ك1+2م2ك2{\displaystyle S_{10}(k_{1},k_{2})\equiv \sum _{m_{1}=0}^{N/2-1}\sum _{m_{2}=0}^{N/2-1}x(2m_{1}+1,2m_{2})W_{N}^{2m_{1}k_{1}+2m_{2}k_{2}}}

S11(ك1،ك2)م1=0شمال/2-1م2=0شمال/2-1x(2م1+1،2م2+1)دبليوشمال2م1ك1+2م2ك2{\displaystyle S_{11}(k_{1},k_{2})\equiv \sum _{m_{1}=0}^{N/2-1}\sum _{m_{2}=0}^{N/2-1}x(2m_{1}+1,2m_{2}+1)W_{N}^{2m_{1}k_{1}+2m_{2}k_{2}}}

جميع المصفوفاتS٠٠S01S10{\displaystyle S_{00}S_{01}S_{10}}و S11{\displaystyle S_{11}}كل منها دوري في(ك1،ك2){\displaystyle (k_{1},k_{2})}بفترات أفقية ورأسيةشمال2{\displaystyle {\frac {N}{2}}}باستخدام هذه الحقيقة، وكذلك حقيقة أندبليوشمالشمال/2=-1،{\displaystyle W_{N}^{N/2}=-1,}يمكننا الحصول على المتطابقات التالية  :

X(ك1،ك2)=S٠٠(ك1،ك2)+S01(ك1،ك2)دبليوشمالك2+S10(ك1،ك2)دبليوشمالك1+S11(ك1،ك2)دبليوشمالك1+ك2{\displaystyle X\left(k_{1},k_{2}\right)=S_{00}(k_{1},k_{2})+S_{01}(k_{1},k_{2})W_{N}^{k_{2}}+S_{10}(k_{1},k_{2})W_{N}^{k_{1}}+S_{11}(k_{1},k_{2})W_{N}^{k_{1}+k_{2}}}

X(ك1+شمال2،ك2)=S٠٠(ك1،ك2)+S01(ك1،ك2)دبليوشمالك2-S10(ك1،ك2)دبليوشمالك1-S11(ك1،ك2)دبليوشمالك1+ك2{\displaystyle X\left(k_{1}+{\frac {N}{2}},k_{2}\right)=S_{00}(k_{1},k_{2})+S_{01}(k_{1},k_{2})W_{N}^{k_{2}}-S_{10}(k_{1},k_{2})W_{N}^{k_{1}}-S_{11}(k_{1},k_{2})W_{N}^{k_{1}+k_{2}}}

X(ك1،ك2+شمال2)=S٠٠(ك1،ك2)-S01(ك1،ك2)دبليوشمالك2+S10(ك1،ك2)دبليوشمالك1-S11(ك1،ك2)دبليوشمالك1+ك2{\displaystyle X\left(k_{1},k_{2}+{\frac {N}{2}}\right)=S_{00}(k_{1},k_{2})-S_{01}(k_{1},k_{2})W_{N}^{k_{2}}+S_{10}(k_{1},k_{2})W_{N}^{k_{1}}-S_{11}(k_{1},k_{2})W_{N}^{k_{1}+k_{2}}}

X(ك1+شمال2،ك2+شمال2)=S٠٠(ك1،ك2)-S01(ك1،ك2)دبليوشمالك2-S10(ك1،ك2)دبليوشمالك1+S11(ك1،ك2)دبليوشمالك1+ك2{\displaystyle X\left(k_{1}+{\frac {N}{2}},k_{2}+{\frac {N}{2}}\right)=S_{00}(k_{1},k_{2})-S_{01}(k_{1},k_{2})W_{N}^{k_{2}}-S_{10}(k_{1},k_{2})W_{N}^{k_{1}}+S_{11}(k_{1},k_{2})W_{N}^{k_{1}+k_{2}}}

توضح لنا المعادلة أعلاه كيفية حساب نقاط DFT الأربعX(ك1،ك2)X(ك1+شمال2،ك2)X(ك1،ك2+شمال2) و X(ك1+شمال2،ك2+شمال2){\displaystyle X\left(k_{1},k_{2}\right)X\left(k_{1}+{\frac {N}{2}},k_{2}\right)X\left(k_{1},k_{2}+{\frac {N}{2}}\right){\text{ and }}X\left(k_{1}+{\frac {N}{2}},k_{2}+{\frac {N}{2}}\right)}لقيمة معينة من(ك1،ك2){\displaystyle (k_{1},k_{2})}من النقاط الأربع S٠٠(ك1،ك2)S01(ك1،ك2)S10(ك1،ك2) و S11(ك1،ك2){\displaystyle S_{00}(k_{1},k_{2})S_{01}(k_{1},k_{2})S_{10}(k_{1},k_{2}){\text{ and }}S_{11}(k_{1},k_{2})}.S٠٠(ك1،ك2){\displaystyle S_{00}(k_{1},k_{2})}يمكن الحصول عليها من خلال تقييم أ(شمال2×شمال2){\displaystyle \left({\frac {N}{2}}\times {\frac {N}{2}}\right)}-نقطة DFT (وبالمثل غيرها)Sأناج{\displaystyle S_{ij}}(يمكن الحصول عليها).

وهكذا نرى أنشمال×شمال{\displaystyle N\times N}يمكن التعبير عن DFT بدلالة أربعةشمال2×شمال2{\displaystyle {\frac {N}{2}}\times {\frac {N}{2}}}DFTs.

قياسًا على الحالة أحادية البعد، تُسمى العملية الحسابية الموضحة في الشكل أدناه بـفراشة{\displaystyle {\text{butterfly}}}أو بتعبير أدقرأدأناx-(2×2) فراشة{\displaystyle radix-(2\times 2){\text{ butterfly}}}.

تتطلب كل فراشة ثلاث عمليات ضرب معقدة وثماني عمليات جمع معقدة لحساب المخرجات من المدخلات. ولحساب جميع عيناتX{\displaystyle X}منS٠٠(ك1،ك2)،S01(ك1،ك2)،S10(ك1،ك2) و S11(ك1،ك2){\displaystyle S_{00}(k_{1},k_{2}),S_{01}(k_{1},k_{2}),S_{10}(k_{1},k_{2}){\text{ and }}S_{11}(k_{1},k_{2})}يتطلب ذلك حسابات لـشمال24{\displaystyle {\frac {N^{2}}{4}}}الفراشات.

يتم تنفيذ عملية التخفيض هذه سجل2شمال{\displaystyle \log _{2}N}أوقات عندماشمال{\displaystyle N}هو قوة للعدد 2. تتكون كل مرحلة من مراحل الإبادة منشمال24{\displaystyle {\frac {N^{2}}{4}}}الفراشات، وكل فراشة تتضمن ثلاث عمليات ضرب معقدة وثماني عمليات جمع معقدة، ومن ثم عدد عمليات الضرب المعقدة التي يجب إجراؤها أثناء حساب(شمال×شمال){\displaystyle (N\times N)}-جذر النقطة(2×2){\displaystyle (2\times 2)}يُعطى تحويل فورييه السريع (FFT) بواسطة

جvهـجتoرRأدأناx(2×2)=3شمال24سجل2شمال{\displaystyle C_{vectorRadix(2\times 2)}={\frac {3N^{2}}{4}}\log _{2}N}

انظر أيضاً

مراجع

  1. بوز، ن.ك.، محرر. (1985). نظرية الأنظمة متعددة الأبعاد، التقدم، والاتجاهات، والمشاكل المفتوحة في الأنظمة متعددة الأبعاد . دوردريخت، هولندا: شركة دي. ريدل للنشر.
  2. خوارزميات سريعة لمعالجة الإشارات، تأليف ريتشارد إي. بلاهوت، مطبعة جامعة كامبريدج، 2010
  3. 1 2 3 4 دان إي. ديدجون، راسل إم. ميرسيرو، "معالجة الإشارات الرقمية متعددة الأبعاد"، سلسلة برنتيس هول لمعالجة الإشارات، ISBN 01360495911983.