خوارزمية غورتزل

خوارزمية غورتزل هي تقنية في معالجة الإشارات الرقمية (DSP) لتقييم حدود تحويل فورييه المنفصل (DFT) بكفاءة. وهي مفيدة في بعض التطبيقات العملية، مثل التعرف على نغمات الإشارة متعددة الترددات ثنائية النغمة (DTMF) الصادرة عن أزرار لوحة مفاتيح الهاتف التناظري التقليدي. وقد وصف جيرالد غورتزل هذه الخوارزمية لأول مرة عام 1958. [ 1 ]

على غرار تحويل فورييه المنفصل (DFT)، تحلل خوارزمية غورتزل مكونًا تردديًا واحدًا قابلًا للتحديد من إشارة منفصلة . [ 2 ] [ 3 ] [ 4 ] وعلى عكس حسابات DFT المباشرة، تطبق خوارزمية غورتزل معاملًا واحدًا ذا قيمة حقيقية في كل تكرار، مستخدمةً العمليات الحسابية ذات القيم الحقيقية لتسلسلات الإدخال ذات القيم الحقيقية. ولتغطية طيف كامل (باستثناء استخدام تدفق البيانات المستمر حيث يُعاد استخدام المعاملات في الحسابات اللاحقة، والتي يكون تعقيدها الحسابي مكافئًا لـ DFT المنزلق )، فإن خوارزمية غورتزل تتميز برتبة تعقيد أعلى من خوارزميات تحويل فورييه السريع (FFT)، ولكنها أكثر كفاءة عددية عند حساب عدد قليل من المكونات الترددية المختارة. ويجعلها هيكلها البسيط مناسبة تمامًا للمعالجات الصغيرة والتطبيقات المدمجة.

يمكن أيضًا استخدام خوارزمية جورتزل "بشكل عكسي" كدالة توليف جيبية، والتي تتطلب عملية ضرب واحدة وطرح واحد فقط لكل عينة مُولَّدة. [ 5 ]

الخوارزمية

تتخذ العملية الحسابية الرئيسية في خوارزمية غورتزل شكل مرشح رقمي ، ولهذا السبب تُسمى الخوارزمية غالبًا بمرشح غورتزل . يعمل المرشح على سلسلة إدخال.x[ن]{\displaystyle x[n]}في سلسلة من مرحلتين مع معلمةω0{\displaystyle \omega _{0}}، مما يعطي التردد المراد تحليله، مع تعديله إلى راديان لكل عينة.

تقوم المرحلة الأولى بحساب تسلسل وسيط،s[ن]{\displaystyle s[n]}:

تُطبّق المرحلة الثانية الفلتر التالي علىs[ن]{\displaystyle s[n]}، مما ينتج عنه تسلسل الإخراجy[ن]{\displaystyle y[n]}:

يمكن ملاحظة أن مرحلة الترشيح الأولى هي مرشح IIR من الدرجة الثانية ذو بنية مباشرة . تتميز هذه البنية تحديدًا بأن متغيرات حالتها الداخلية تساوي قيم الخرج السابقة من تلك المرحلة. قيم الإدخالx[ن]{\displaystyle x[n]}لن<0{\displaystyle n<0}يُفترض أن جميع القيم تساوي صفرًا. وذلك لتحديد حالة المرشح الأولية بحيث يمكن بدء التقييم عند العينة.x[0]{\displaystyle x[0]}يتم تعيين القيم الأولية لحالات المرشحs[-2]=s[-1]=0{\displaystyle s[-2]=s[-1]=0}لتجنب مخاطر التداخل ، الترددω0{\displaystyle \omega _{0}}غالبًا ما يقتصر النطاق على القيم من 0 إلى π (انظر نظرية نايكويست-شانون لأخذ العينات )؛ استخدام قيمة خارج هذا النطاق ليس بلا معنى، ولكنه يُكافئ استخدام تردد مُستعار داخل هذا النطاق، لأن الدالة الأسية دورية بفترة 2π فيω0{\displaystyle \omega _{0}}.

يمكن ملاحظة أن مرشح المرحلة الثانية هو مرشح FIR ، حيث أن حساباته لا تستخدم أيًا من مخرجاته السابقة.

يمكن تطبيق طرق تحويل Z لدراسة خصائص سلسلة المرشحات. تحويل Z للمرحلة الأولى من المرشحات الموضحة في المعادلة (1) هو

التحويل Z لمرحلة الترشيح الثانية الموضحة في المعادلة (2) هو

تكون دالة النقل المجمعة لتسلسل مرحلتي الترشيح هي

يمكن تحويل هذا مرة أخرى إلى متتالية مكافئة في المجال الزمني، ويتم فك الحدود وصولاً إلى حد الإدخال الأول عند الفهرسن=0{\displaystyle n=0}:

الاستقرار العددي

يمكن ملاحظة أن أقطاب تحويل Z للمرشح تقع عندهـ+جω0{\displaystyle e^{+j\أوميغا _{0}}}وهـ-جω0{\displaystyle e^{-j\أوميغا _{0}}}، على دائرة نصف قطرها وحدة واحدة، مركزها نقطة الأصل في مستوى التحويل Z المركب. تشير هذه الخاصية إلى أن عملية الترشيح مستقرة بشكل هامشي وعرضة لتراكم الأخطاء العددية عند حسابها باستخدام حسابات منخفضة الدقة ومتواليات إدخال طويلة. [ 6 ] وقد اقترح كريستيان راينش نسخة مستقرة عدديًا . [ 7 ]

حسابات نظرية الكثافة الوظيفية

في الحالة المهمة لحساب مصطلح DFT، يتم تطبيق القيود الخاصة التالية.

  • تنتهي عملية التصفية عند الفهرسن=شمال{\displaystyle n=N}، أينشمال{\displaystyle N}يمثل عدد الحدود في تسلسل الإدخال لتحويل فورييه المنفصل (DFT).
  • تقتصر الترددات المختارة لتحليل غورتزل على الشكل الخاص
  • رقم الفهرسك{\displaystyle k}يشير هذا إلى اختيار "نطاق التردد" الخاص بتحويل فورييه المنفصل من مجموعة أرقام الفهرس

بإجراء هذه التعويضات في المعادلة (6) وملاحظة أن الحدهـ+ج2πك=1{\displaystyle e^{+j2\pi k}=1}وبالتالي، تأخذ المعادلة (6) الشكل التالي:

يمكننا أن نلاحظ أن الجانب الأيمن من المعادلة (9) مشابه للغاية للصيغة التعريفية لمصطلح DFTX[ك]{\displaystyle X[k]}مصطلح DFT لرقم الفهرسك{\displaystyle k}لكن ليس تمامًا. يتطلب الجمع الموضح في المعادلة (9)شمال+1{\displaystyle N+1}مصطلحات الإدخال، ولكن فقطشمال{\displaystyle N}تتوفر حدود الإدخال عند تقييم تحويل فورييه المنفصل (DFT). ومن الحلول البسيطة، وإن كانت غير أنيقة، توسيع تسلسل الإدخال.x[ن]{\displaystyle x[n]}مع قيمة اصطناعية أخرىx[شمال]=0{\displaystyle x[N]=0}[ 8 ] يمكننا أن نرى من المعادلة ( 9) أن التأثير الرياضي على النتيجة النهائية هو نفسه تأثير حذف الحدx[شمال]{\displaystyle x[N]}من المجموع، وبالتالي تقديم قيمة DFT المقصودة.

مع ذلك، توجد طريقة أكثر أناقة تتجنب تمريرة التصفية الإضافية. من المعادلة (1)، يمكننا ملاحظة أنه عندما يكون حد الإدخال الموسعx[شمال]=0{\displaystyle x[N]=0}يتم استخدامه في الخطوة الأخيرة،

وبالتالي، يمكن إكمال الخوارزمية على النحو التالي:

  • قم بإنهاء مرشح IIR بعد معالجة مصطلح الإدخالx[شمال-1]{\displaystyle x[N-1]}،
  • قم بتطبيق المعادلة (10) لإنشاءs[شمال]{\displaystyle s[N]}من المخرجات السابقةs[شمال-1]{\displaystyle s[N-1]}وs[شمال-2]{\displaystyle s[N-2]}،
  • قم بتطبيق المعادلة (2) مع القيم المحسوبةs[شمال]{\displaystyle s[N]}قيمة ومعs[شمال-1]{\displaystyle s[N-1]}تم إنتاجه من خلال الحساب المباشر النهائي للمرشح.

يتم تبسيط العمليتين الرياضيتين الأخيرتين من خلال دمجهما جبرياً:

لاحظ أن إيقاف تحديثات الفلتر عند نهاية المدةشمال-1{\displaystyle N-1}وتطبيق المعادلة (2) مباشرة بدلاً من المعادلة (11) يؤدي إلى تفويت تحديثات حالة المرشح النهائية، مما ينتج عنه نتيجة ذات طور غير صحيح. [ 9 ]

يُعدّ هيكل الترشيح المُختار لخوارزمية غورتزل مفتاحًا لحسابات DFT الفعّالة. نلاحظ وجود قيمة خرج واحدة فقط.y[شمال]{\displaystyle y[N]}يُستخدم لحساب تحويل فورييه المنفصل (DFT)، لذا تُحذف حسابات جميع حدود الإخراج الأخرى. وبما أن مرشح FIR غير محسوب، فإن حسابات مرحلة IIR تُجرى تلقائيًا.s[0]،s[1]{\displaystyle s[0],s[1]}يمكن التخلص من العناصر الأخرى فور تحديث الحالة الداخلية للمرحلة الأولى.

يبدو هذا وكأنه يُثير مفارقة: لإكمال الخوارزمية، يجب تقييم مرحلة مرشح FIR مرة واحدة باستخدام آخر مُخرجين من مرحلة مرشح IIR، بينما تُهمل تكرارات مرشح IIR قيم مُخرجاته لتحسين الكفاءة الحسابية. هنا تبرز خصائص بنية المرشح ذات الشكل المباشر. يُوفر متغيرا الحالة الداخليان لمرشح IIR آخر قيمتين لمُخرج مرشح IIR، وهما الحدّان المطلوبان لتقييم مرحلة مرشح FIR.

التطبيقات

مصطلحات طيف القدرة

بفحص المعادلة (6)، يتم تمرير مرشح IIR نهائي لحساب الحدy[شمال]{\displaystyle y[N]}باستخدام قيمة إدخال تكميليةx[شمال]=0{\displaystyle x[N]=0}يطبق مضاعفًا مركبًا مقداره 1 على الحد السابقy[شمال-1]{\displaystyle y[N-1]}. بالتالي،y[شمال]{\displaystyle y[N]}وy[شمال-1]{\displaystyle y[N-1]}يمثل هذا الحد قدرة الإشارة المكافئة. ومن الصحيح أيضاً تطبيق المعادلة (11) وحساب قدرة الإشارة من الحد المذكور.y[شمال]{\displaystyle y[N]}أو لتطبيق المعادلة (2) وحساب قدرة الإشارة من الحدy[شمال-1]{\displaystyle y[N-1]}تؤدي كلتا الحالتين إلى التعبير التالي لقدرة الإشارة المُمثلة بمصطلح DFTX[ك]{\displaystyle X[k]}:

في الشفرة الزائفة أدناه، تُخزَّن بيانات الإدخال ذات القيم المركبة في المصفوفة ، وتُخزَّن xالمتغيرات مؤقتًا سجل الإخراج من مرشح IIR. يُمثِّل عدد العينات في المصفوفة، ويُقابل التردد المطلوب مضروبًا في فترة أخذ العينات.sprevsprev2NtermsKterm

المصطلحات المحددة هنا تم اختيار Kterm هنا ω = 2 × π × Kterm / Nterms؛ coeff := 2 × cos(ω) sprev := 0 sprev2 := 0 لكل فهرس n في النطاق من 0 إلى Nterms-1، قم بما يلي: s := x[n] + coeff × sprev - sprev2 sprev2 := sprev sprev := s نهاية القوة := sprev 2 + sprev2 2 - (المعامل × sprev × sprev2)

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

مصطلح واحد من مصطلحات تحويل فورييه المنفصلة (DFT) مع حسابات ذات قيم حقيقية

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

بعد إجراء العمليات الحسابية باستخدام مصطلح الإدخالx[شمال-1]{\displaystyle x[N-1]}وبعد انتهاء تكرارات التصفية، يجب تطبيق المعادلة (11) لتقييم حد تحويل فورييه المنفصل (DFT). تستخدم العملية الحسابية النهائية حسابات ذات قيم مركبة، ولكن يمكن تحويلها إلى حسابات ذات قيم حقيقية بفصل الحدود الحقيقية عن التخيلية.

بالمقارنة مع تطبيق طيف القدرة، فإن الاختلاف الوحيد هو الحساب المستخدم للإنهاء:

(نفس حسابات مرشح IIR كما في تطبيق قدرة الإشارة) XKreal = sprev * cr - sprev2; XKimag = sprev * ci; 

الكشف الطوري

يتطلب هذا التطبيق نفس تقييم مصطلح DFTX[ك]{\displaystyle X[k]}كما نوقش في القسم السابق، باستخدام تيار إدخال ذي قيمة حقيقية أو مركبة. عندئذٍ يمكن تقييم طور الإشارة على النحو التالي:

مع اتخاذ الاحتياطات المناسبة للحالات الشاذة، والربع، وما إلى ذلك عند حساب دالة الظل العكسي.

الإشارات المركبة في الحساب الحقيقي

بما أن الإشارات المركبة تتحلل خطيًا إلى أجزاء حقيقية وخيالية، يمكن حساب خوارزمية جورتزل في الحساب الحقيقي بشكل منفصل على سلسلة الأجزاء الحقيقية، مما ينتج عنهyر[ن]{\displaystyle y_{\text{r}}[n]}وعلى امتداد سلسلة الأجزاء التخيلية، ينتجyأنا[ن]{\displaystyle y_{\text{i}}[n]}بعد ذلك، يمكن إعادة دمج النتيجتين الجزئيتين ذواتي القيم المركبة:

التعقيد الحسابي

  • وفقًا لنظرية التعقيد الحسابي ، فإن حساب مجموعة منم{\displaystyle M}مصطلحات DFT باستخدامم{\displaystyle M}تطبيقات خوارزمية جورتزل على مجموعة بيانات معشمال{\displaystyle N}القيم التي تبلغ "تكلفة العملية الواحدة"ك{\displaystyle K}تتسم بالتعقيديا(كشمالم){\displaystyle O(KNM)}.
لحساب خانة DFT واحدةX(و){\displaystyle X(f)}بالنسبة لتسلسل إدخال معقد بطولشمال{\displaystyle N}، تتطلب خوارزمية غورتزل2شمال{\displaystyle 2N}الضرب و4 شمال{\displaystyle 4\ N}عمليات الجمع/الطرح داخل الحلقة، بالإضافة إلى 4 عمليات ضرب و4 عمليات جمع/طرح نهائية، ليصبح المجموع2شمال+4{\displaystyle 2N+4}الضرب و4شمال+4{\displaystyle 4N+4}عمليات الجمع/الطرح. يتم تكرار ذلك لكل منهام{\displaystyle M}الترددات.
  • في المقابل، استخدام تحويل فورييه السريع على مجموعة بيانات معشمال{\displaystyle N}تتسم القيم بالتعقيديا(كشمالسجل2(شمال)){\displaystyle O(KN\log _{2}(N))}.
يصعب تطبيق ذلك بشكل مباشر لأنه يعتمد على خوارزمية تحويل فورييه السريع المستخدمة، ولكن المثال النموذجي هو تحويل فورييه السريع ذو الأساس 2، والذي يتطلب2سجل2(شمال){\displaystyle 2\log _{2}(N)}الضرب و3سجل2(شمال){\displaystyle 3\log _{2}(N)}عمليات الجمع/الطرح لكل خانة من خانات DFT ، لكل منهاشمال{\displaystyle N}صناديق القمامة.

في تعابير ترتيب التعقيد، عندما يكون عدد الحدود المحسوبةم{\displaystyle M}أصغر منسجلشمال{\displaystyle \log N}تتضح ميزة خوارزمية غورتزل. ولكن نظرًا لأن كود FFT معقد نسبيًا، فإن عامل "تكلفة وحدة العمل"ك{\displaystyle K}غالبًا ما يكون حجم البيانات أكبر بالنسبة لخوارزمية تحويل فورييه السريع (FFT)، والميزة العملية ترجح كفة خوارزمية جورتزل حتى بالنسبة لـم{\displaystyle M}أكبر بعدة مرات منسجل2(شمال){\displaystyle \log _{2}(N)}.

كقاعدة عامة لتحديد ما إذا كانت خوارزمية تحويل فورييه السريع ذات الأساس 2 أو خوارزمية جورتزل أكثر كفاءة، قم بتعديل عدد الحدود.شمال{\displaystyle N}في مجموعة البيانات، قم بتقريبها إلى أقرب قوة دقيقة للعدد 2، وأطلق على هذا اسمشمال2{\displaystyle N_{2}}ومن المرجح أن تكون خوارزمية جورتزل أسرع إذا

م5شمال26شمالسجل2(شمال2){\displaystyle M\leq {\frac {5N_{2}}{6N}}\log _{2}(N_{2})}

تؤثر تطبيقات تحويل فورييه السريع (FFT) ومنصات المعالجة بشكل كبير على الأداء النسبي. تقوم بعض تطبيقات FFT [ 11 ] بإجراء حسابات داخلية للأعداد المركبة لتوليد المعاملات أثناء التنفيذ، مما يزيد بشكل ملحوظ من "تكلفة K لكل وحدة عمل". يمكن لخوارزميات FFT وDFT استخدام جداول قيم المعاملات المحسوبة مسبقًا لتحسين الكفاءة العددية، ولكن هذا يتطلب المزيد من عمليات الوصول إلى قيم المعاملات المخزنة مؤقتًا في الذاكرة الخارجية، مما قد يؤدي إلى زيادة التنازع على الذاكرة المؤقتة، الأمر الذي يقلل من بعض المزايا العددية.

يحقق كلا الخوارزميتين زيادة في الكفاءة بمقدار الضعف تقريبًا عند استخدام بيانات إدخال ذات قيم حقيقية بدلًا من بيانات إدخال ذات قيم مركبة. مع ذلك، تُعد هذه الزيادة طبيعية لخوارزمية غورتزل، لكنها لن تتحقق لخوارزمية تحويل فورييه السريع (FFT) إلا باستخدام متغيرات خوارزمية مُخصصة لتحويل البيانات ذات القيم الحقيقية .

انظر أيضاً

مراجع

  1. غورتزل، ج. (يناير 1958)، "خوارزمية لتقييم المتسلسلات المثلثية المنتهية"، المجلة الرياضية الأمريكية الشهرية ، 65 (1): 34-35 ، doi : 10.2307/2310304 ، JSTOR 2310304 
  2. موك، ب. (21 مارس 1985)، "إضافة توليد وفك تشفير DTMF إلى تصميمات DSP-μP" (ملف PDF) ، EDN ، ISSN 0012-7515 ; موجود أيضًا في تطبيقات معالجة الإشارات الرقمية مع عائلة TMS320، المجلد 1، شركة تكساس إنسترومنتس، 1989.
  3. تشين، شيوغي ج. (يونيو 1996)، خوارزمية غورتزل المعدلة في الكشف عن DTMF باستخدام معالج الإشارات الرقمية TMS320C80 (ملف PDF) ، تقرير تطبيقي، شركة تكساس إنسترومنتس، SPRA066
  4. شمر، غونتر (مايو 2000)، توليد وكشف نغمات DTMF: تطبيق باستخدام TMS320C54x (ملف PDF) ، تقرير تطبيقي، شركة تكساس إنسترومنتس، SPRA096a
  5. تشنغ، إريك؛ هوداك، بول (يناير 2009)، معالجة الصوت وتوليف الصوت في هاسكل (ملف PDF) ، مؤرشف من الأصل (ملف PDF) بتاريخ 28-03-2017
  6. جنتلمان، دبليو إم (1 فبراير 1969). "تحليل خطأ طريقة غورتزل (وات) لحساب معاملات فورييه" . مجلة الكمبيوتر . 12 (2): 160-164 . doi : 10.1093/comjnl/12.2.160 .
  7. ستوير، ج.؛ بوليرش، ر. (2002)، مقدمة في التحليل العددي ، سبرينغر، ISBN 9780387954523
  8. "خوارزمية غورتزل" . Cnx.org. 12-09-2006 . تم الاطلاع عليه بتاريخ 03-02-2014 .
  9. "مجلة الهندسة الإلكترونية | ربط مجتمع الإلكترونيات العالمي" . مجلة الهندسة الإلكترونية . تم الاطلاع عليه بتاريخ 3 فبراير 2014 .
  10. إلمنرايش، ويلفريد (25 أغسطس 2011). "الكشف الفعال عن التردد باستخدام مرشح غورتزل" . تم الاطلاع عليه بتاريخ 16 سبتمبر 2014 .
  11. بريس؛ فلاني؛ تيوكولسكي؛ فيترلنج (2007)، "الفصل 12"، وصفات عددية، فن الحوسبة العلمية ، مطبعة جامعة كامبريدج

للمزيد من القراءة

  • بروكيس، جي جي؛ مانولاكيس، دي جي (1996)، معالجة الإشارات الرقمية: المبادئ والخوارزميات والتطبيقات ، أبر سادل ريفر، نيوجيرسي: برنتيس هول، ص 480-481 ، رمز Bibcode : 1996dspp.book.....P