علوم وفضاء

رفع وترشيح وخفض: لماذا لا تكفي النسبة 2/3؟

لمدخلنا 2 و−1 و4 ومعاملات 1 و3 و2، الرفع بعامل 2 يعطي 2 و0 و−1 و0 و4؛ الترشيح يعطي 2 و6 و3 و−3 و2 و12 و8؛ اختيار الفهارس 0 و3 و6 يعطي 2 و−3 و8.
قائمة مفترضة؛ اختيار القيم يأتي بعد الترشيح.

upfirdn يرفع العينات، ويرشحها بمرشح FIR، ثم يخفضها. [1] سنحسب أثر هذا الترتيب في قائمة قصيرة.

أدرج الأصفار ثم رشّح

يوثق المرجع ترتيب الرفع بإدراج أصفار، ثم ترشيح FIR، ثم الخفض. [1]

نحدد في مثالنا P=2 وQ=3، وx=[2,−1,4]، وh=[1,3,2]. جميع القيم خارج القوائم صفر، وجميع الفهارس تبدأ من صفر. لا توجد وحدة زمن أو قياسات جهاز في هذه المسألة.

في قائمة الرفع u، نضع u[2j]=x[j]، وصفرًا في الفهارس الأخرى. [1] مواضع القيم الأصلية 0 و2 و4؛ إذن u=[2,0,−1,0,4]، بلا صفر طرفي إضافي في طولها المعلن.

نعرف الترشيح هنا بالالتفاف y[n]=Σⱼ u[j]h[n−j]. عند n=0 الناتج 2×1=2، وعند n=1 الناتج 2×3=6. وعند n=2 تدخل −1 مع أول معامل و2 مع آخره، فيكون (−1)×1+2×2=3.

بعد ذلك y[3]=(−1)×3=−3، وy[4]=4×1+(−1)×2=2، وy[5]=4×3=12، وy[6]=4×2=8. إذن الناتج الكامل [2,6,3,−3,2,12,8]، وليس قائمة الرفع نفسها.

الأصفار بين القيم تحدد مواضع جديدة للحساب، ولا تمثل قراءات حصلنا عليها من حساس. هذه العملية تختلف عن إلحاق أصفار في نهاية قائمة مع إبقاء فهارسها الأصلية كما هي.

اختر الفهارس بعد الترشيح

نخفض باختيار كل ثالث قيمة بعد الترشيح، بدءًا من الفهرس صفر: v[k]=y[3k]. [1] نأخذ y[0]=2 وy[3]=−3 وy[6]=8، فنحصل على v=[2,−3,8]؛ لا نوسّط كل ثلاث قيم.

في مصدر SciPy v1.18.0، طول الخرج هو ⌊((N−1)P+L−1)/Q⌋+1، حيث N طول x وL طول h. [2]

يمكن اشتقاق العدد في نموذجنا: آخر فهرس للقائمة المرفوعة (N−1)P، وآخر فهرس للمعاملات L−1. مجموعهما هو آخر موضع مخصص للالتفاف، T=(N−1)P+L−1. نختار 0 وQ و2Q وهكذا حتى T؛ أكبر k هو ⌊T/Q⌋، وعدد القيم أكبر منه بواحد.

لمثالنا N=3 وL=3 وP=2 وQ=3؛ إذن T=2×2+2=6، وعدد القيم ⌊6/3⌋+1=3. الفهرس 6 يحمل 8، وهو أثر آخر مدخل مع آخر معامل؛ حذفه يغير القائمة.

العدد N×P/Q يساوي 2 هنا، لكنه يغفل طول المعاملات ونهاية الاستجابة. عاملان يصفان تبديل شبكة الفهارس لا يحددان وحدهما طول سجل محدود بعد الترشيح.

نتحدث عن المواضع المخصصة حتى لو كانت بعض قيمها صفرًا فعلًا. وإذا اخترت طور خفض مختلفًا، مثل البدء من الفهرس 1، فقد تغير القيم والعدد. لم نستخدم هذا البدء الآخر، كما لم نستخدم امتدادًا غير صفري عند الحافة.

لا تبدّل ترتيب المراحل

للمقارنة نطبق الخفض أولًا على x، بدءًا من الفهرس صفر أيضًا. مع Q=3 وقائمة طولها ثلاثة، يوجد عنصر مختار واحد هو x[0]=2؛ الفهرس التالي 3 خارج القائمة.

نرفع القائمة ذات العنصر الواحد بعامل 2. لا توجد قيمتان متجاورتان لنضع صفرًا بينهما، وآخر فهرس أصلي ما زال صفرًا. ثم نرشح هذا العنصر بالمعاملات [1,3,2] فنحصل على 2×[1,3,2]، أي [2,6,4].

الطول في هذا المثال ثلاثة أيضًا، لكن القيم تختلف عن [2,−3,8]. تساوي عدد عناصر الناتجين لا يثبت تساوي العمليات؛ المسار الثاني أسقط المدخلين −1 و4 قبل أن يؤثرا في الترشيح.

ويمكن رؤية اعتماد الناتج الأول عليهما مباشرة: القيمة المختارة عند n=3 تساوي −1×3، وعند n=6 تساوي 4×2. في المسار الذي خفض أولًا لم يبق أي منهما ليولد هذين الجداءين.

لا نعمم من المثال أن كل تبديل ممكن يغير كل قائمة؛ قد تتفق نتائج حالات خاصة، مثل جميع الأصفار. ما أثبتناه هو وجود قائمة ومعاملات معلنة تفشل معها مساواة غير مشروطة بين ترتيبين مختلفين.

لثلاث قيم 4 مرفوعة بعامل 2، معاملات 1/3 و1 و2/3 تعطي 4/3 و4 و4 و4 و4 و4 و8/3؛ معاملات 1 و0 و1 تعطي 4 و0 و8 و0 و8 و0 و4.
مجموع المعاملات 2 في الحالتين، لكن مجموعي الزوجية والفردية مختلفان.

افحص الأوزان في المواضع الزوجية والفردية

نختار الآن قائمة جديدة هي [4,4,4]، والرفع بعامل 2 دون خفض لاحق، أي Q=1. قائمة الرفع [4,0,4,0,4]. مع h=[1,3,2] يصبح الكامل [4,12,12,12,12,12,8]؛ الأوزان لا تحفظ الثابت 4 في الداخل.

نقسم المعاملات على 3 لنحصل على g=[1/3,1,2/3]. الناتج [4/3,4,4,4,4,4,8/3]. مجموع g يساوي 2، لا 1؛ إدراج الأصفار جعل فحص الأوزان مرتبطًا بمواضعها أيضًا.

لإثبات السبب نعلن فرضًا جديدًا: المدخل ثابت c على جميع الفهارس، وليس قائمة مبتورة. بعد الرفع بعامل 2 تصبح u[n]=c عندما n زوجي، وصفرًا عندما n فردي. في y[n]=Σᵣ g[r]u[n−r]، لا تساهم إلا المعاملات r التي لها زوجية n نفسها.

إذن الخرج الزوجي c مضروبًا في مجموع معاملات الفهارس الزوجية، والخرج الفردي c مضروبًا في مجموع معاملات الفهارس الفردية. في g، المجموعان 1/3+2/3=1، و1=1، فيبقى الخرج c عند جميع الفهارس في هذا الفرض الممتد.

أما الحافة المحدودة فتغيب عندها بعض قيم الثابت السابق أو اللاحق وفق امتدادنا الصفري؛ لذلك بقي الطرفان 4/3 و8/3 في القائمة المحسوبة. برهان الثابت الممتد لا يجعل حافة السجل المحدود مساوية للداخل.

لإظهار أن المجموع الكلي وحده لا يكفي، نؤلف b=[1,0,1]، ومجموعه 2 أيضًا. مع [4,0,4,0,4] يعطي [4,0,8,0,8,0,4]. مجموع الأوزان الزوجية 2 والفردية صفر؛ في فرض الثابت الممتد يتناوب الخرج بين 8 وصفر عندما c=4.

هذا فحص لحفظ ثابت في نموذج حسابي، وليس تصميمًا يضمن منع الطي أو استعادة إشارة مجهولة بين العينات. لم نحسب استجابة ترددية أو مقدار إضعاف، ولم نستنتج صلاحية هذه الأوزان لتطبيق صوتي.

تحققنا بكسور دقيقة، وقارنا المسار ذي الأصفار الصريحة بحساب يجمع x[j]h[kQ−jP] فقط عندما يقع فهرس h داخل معاملاته. شملت المراجعة أطوالًا من 1 إلى 4 وعوامل من 1 إلى 3 وأنماطًا محددة. لم ننفذ SciPy أو نقس زمنه، ولا تمثل فحوصنا اختبارًا للمكتبة نفسها.

المرحلة في مثالنا الأولالفهارسالقيم
الأصلية0..22,−1,4
بعد الرفع0..42,0,−1,0,4
بعد الترشيح0..62,6,3,−3,2,12,8
بعد الخفض0,3,6 من y2,−3,8

للتوسع: السعة والتردد في الموجات.

المراجع

  1. SciPy — upfirdn
  2. SciPy v1.18.0 — output length

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.