أنا بحاجة إلى تصميم مرشح المتوسط المتحرك الذي لديه تردد قطع 7.8 هرتز. لقد استخدمت الفلاتر المتوسطة المتحركة من قبل، ولكن بقدر إم علم، المعلمة الوحيدة التي يمكن أن تتغذى في هو عدد من النقاط التي يتم متوسطها. كيف يمكن أن يتعلق ذلك بتكرار قطع هو معكوس 7.8 هرتز هو 130 مللي ثانية، و إم تعمل مع البيانات التي يتم أخذ عينات في 1000 هرتز. هل يعني هذا أنه يجب أن أستخدم متوسط حجم نافذة مرشح متحرك من 130 عينة أم أن هناك شيء آخر مفقود هنا طلب 18 يوليو 13 في 9:52 مرشح المتوسط المتحرك هو الفلتر المستخدم في المجال الزمني المطلوب إزالته والضجيج المضاف وأيضا لتمهيد الغرض ولكن إذا كنت تستخدم نفس المرشح المتوسط المتحرك في مجال التردد لفصل التردد ثم الأداء سيكون أسوأ. حتى في هذه الحالة استخدام مرشحات نطاق التردد نداش user19373 فب 3 16 في 5:53 المرشح المتوسط المتحرك (المعروف أحيانا بالعامية كمرشح صندوقي) لديه استجابة مستطيلة النبض: أو ذكر بشكل مختلف: تذكر أن استجابة الترددات أنظمة منفصلة يساوي تحويل فورييه المنفصل من وقت الاستجابة، ويمكننا حسابه على النحو التالي: ما كان الأكثر اهتماما في قضيتك هو استجابة حجم مرشح، H (أوميجا). باستخدام اثنين من التلاعب بسيطة، يمكننا الحصول على ذلك في شكل أسهل لفهم: هذا قد لا تبدو أسهل للفهم. ومع ذلك، بسبب هوية يولرز. أذكر ما يلي: لذلك، يمكننا كتابة ما سبق على النحو التالي: كما ذكرت من قبل، ما كنت قلقة حقا حول هو حجم استجابة التردد. لذلك، يمكننا أن نأخذ حجم ما سبق لتبسيط ذلك أبعد من ذلك: ملاحظة: نحن قادرون على إسقاط المصطلحات الأسية بها لأنها لا تؤثر على حجم النتيجة ه 1 لجميع قيم أوميغا. منذ زي زي لأي اثنين من الأعداد المعقدة محدودة x و y، يمكننا أن نخلص إلى أن وجود الأسي لا تؤثر على استجابة حجم الشاملة (بدلا من ذلك، فإنها تؤثر على استجابة مرحلة النظم). الدالة الناتجة داخل الأقواس حجم هو شكل من نواة ديريشليت. ويسمى أحيانا وظيفة المزامنة الدورية، لأنها تشبه وظيفة المخلوق إلى حد ما في المظهر، ولكن هو الدوري بدلا من ذلك. على أي حال، حيث أن تعريف تردد القطع غير محدد إلى حد ما (نقطة دب 3- نقطة دب -6 أول صف جانبي خالي)، يمكنك استخدام المعادلة المذكورة أعلاه لحل كل ما تحتاجه. على وجه التحديد، يمكنك القيام بما يلي: تعيين H (أوميجا) إلى القيمة المقابلة لاستجابة المرشح الذي تريده في تردد قطع. تعيين أوميغا يساوي تردد قطع. لتعيين تردد مستمر الوقت إلى المجال الوقت المنفصل، تذكر أن أوميغا 2pi فراك، حيث فس هو معدل العينة الخاصة بك. العثور على قيمة N التي تمنحك أفضل اتفاق بين الجانبين الأيسر والأيمن من المعادلة. يجب أن يكون طول المتوسط المتحرك. إذا كان N هو طول المتوسط المتحرك، فإن التردد التقريبي F (صالح لل N غ 2) في التردد المعتاد ففس هو: عكس هذا هو هذه الصيغة صحيحة بشكل غير صحيح بالنسبة إلى N كبيرة، ولها حوالي 2 خطأ ل N2، وأقل من 0.5 ل N4. ملاحظة بعد عامين، هنا أخيرا ما كان النهج الذي اتبع. واستندت النتيجة إلى تقريب طيف السعة ما حول f0 كمقطع مكافئ (سلسلة الترتيب الثاني) وفقا لما (أوميغا) تقريبا 1 (فراك - frac) Omega2 التي يمكن جعلها أكثر دقة بالقرب من عبور الصفر من ما (أوميغا) - فراك عن طريق ضرب أوميغا بواسطة معامل الحصول على ما (أوميغا) تقريبا 10.907523 (فراك - frac) Omega2 حل ما (أوميغا) - frac 0 يعطي النتائج أعلاه، حيث 2pi F أوميغا. كل ما سبق يتعلق 3dB قطع تردد، موضوع هذا المنصب. في بعض الأحيان على الرغم من أنه من المثير للاهتمام الحصول على ملف التوهين في نطاق التوقف الذي يمكن مقارنته مع مرشح إر منخفض التصفية المنخفض الأول (ليد القطب الواحد) مع تردد معين 3dB قطع (ويسمى هذا ليف أيضا تكامل تسرب، وجود قطب ليس بالضبط في العاصمة ولكن بالقرب منه). في الواقع على حد سواء ما و 1 النظام إير إر يكون ديك -20dBdecade المنحدر في وقف الفرقة (واحد يحتاج إلى أكبر N من واحد المستخدمة في الشكل، N32، لمعرفة هذا)، ولكن في حين أن ما لديه نول الطيفية في فن و 1F إيفيلوب، مرشح إير لديه ملف تعريف 1f فقط. إذا كان المرء يريد الحصول على مرشح ما مع قدرات مماثلة تصفية الضوضاء مثل هذا المرشح إير، ويطابق قطع 3DB قطع الترددات لتكون هي نفسها، عند مقارنة اثنين من أطياف، وقال انه يدرك أن تموج الفرقة توقف مرشح ما ينتهي 3DB أدناه من مرشح إير. من أجل الحصول على نفس تموج وقف الفرقة (أي نفس التوهين قوة الضوضاء) كما مرشح إير يمكن تعديل الصيغ على النحو التالي: لقد عثرت على السيناريو ماثيماتيكا حيث احسبت قطع لعدة مرشحات، بما في ذلك واحد ما. واستندت النتيجة على تقريب الطيف ما حول f0 كما القطع المكافئ وفقا لما (أوميغا) سين (OmegaN2) سين (Omega2) أوميغا 2PF ما (F) تقريبا N16F2 (N-N3) pi2. واستخلاص المعبر مع 1sqrt من هناك. نداش ماسيمو يناير 17 16 في 2: 08 ومن المعروف جيدا أن خوارزمية المتوسط المتحرك القيام به في المجال الزمني ما يعادل مرشح مع استجابة التردد ماثرم (أوميغاتاو) حيث تاو هو متوسط الوقت. (انظر هذه الإجابة ذات الصلة) هذا له الخاصية المفيدة التالية: كنت تدفق سلسلة زمنية من البيانات، والمتوسط في أي نقطة (أ) هو مجرد: فراك فراك. وبالتالي يمكنك تطبيق خوارزمية عودية أعلاه لفترة تعسفية من الزمن (تاو)، وعندما تتوقف، يتم تصفية القيمة لديك من قبل ماثرم (أوميغاتاو)، ولها التباين انخفاض المقابلة. الآن وظيفة ماثرم هو تمرير منخفض من الدرجة الأولى، التضمين من قبل المغلف الخطيئة. لذلك في الواقع كنت قد فعلت تمريرة منخفضة من الدرجة الأولى حيث مميزة انخفاض الوقت تمرير ثابت تاو يساوي طول تدفق البيانات، وكان تاو لا يعرف بالضرورة قبل أن تبدأ. سؤالي هو: هل هناك بعض الإجراءات المماثلة التي تسمح بتمرير منخفض من الدرجة الثانية (تقريبية) حيث لا يعرف الوقت الثابت بشكل مسبق امكانية متوسط المتوسطات ولكن ذلك يتطلب الحفاظ على جميع المتوسطات في الذاكرة. هل هناك بعض القوانين التي تمنع مثل هذا الإجراء مع متطلبات الذاكرة الصغيرة طلب مارس 26 14 في 17:38 يمكنك متوسط المتوسطات بنفس الطريقة كما كنت متوسط إشارة الإدخال الخاص بك. ويمكن أن يتم ذلك من خلال نفس الإجراء العودية دون تخزين جميع المتوسطات. الشيء الوحيد الذي عليك القيام به هو تخزين رقمين بدلا من واحد. اسمحوا أن يكون شن البيانات التي يجب أن يكون متوسط والسماح ين يكون الناتج من أول عملية المتوسط: ينالفا y (1-ألفا) شن، رباعية 0ltalpha lt1 تطبيق نفس النوع من العودية مرة أخرى (فقط مع ربما مختلفة الوقت ثابت) النتائج في الناتج النهائي زن: زنبيتا z (1 بيتا) ين، كواد 0ltbeta lt1 يمكنك أيضا كتابة الإجراء الكلي كترتيب واحد من الدرجة الثانية (القضاء ين): لذلك يكون لديك ترتيب الثاني العاكسة التي تحتاج فقط لتخزين اثنين من الانتاج الماضي القيم. إذا كنت ترغب في نظام الدرجة الثانية، وهذا هو الحد الأدنى من التخزين ممكن. أجاب مار 27 14 في 13:11 هذه الإجابة لم تكن ممكنة دون مات L. s الجواب. فضلا عن بعض الاتصالات خارج النطاق مع نيبوت. دعونا نرى طريقة واحدة لاستخلاص صيغة لحساب المتوسط الذي يرد في السؤال. بدءا من مجموعة من الأرقام، لدينا تعريف متوسط يصل إلى عينة نث: فراك سوم n شي فراك سن، و سن هو مجموع جميع العينات تصل إلى n. الآن، يمكن تعريف سن بشكل متكرر: سنز شن، وبالنظر إلى أن نانسن، لدينا: أنفراك فراك. ولدينا صيغة المتوسط من السؤال. الآن نحن نريد أن تؤدي أساسا هذه العملية المتوسط مرة أخرى على عينات. لذلك نحن مجرد تكرار نفس الصيغة، ولكن الآن لمتوسطات من. ولكن يمكننا استبدال من حيث d و d. وأخيرا بعد التبسيط الآن هذه المجموعة من الأرقام تعادل متوسط المتوسطات وتتطلب فقط اثنين من القيم المخزنة أدناه أنا مؤامرة إشارة التي هي الضوضاء العشوائية حيث رمز هو 20 أضعاف القيمة المتوسطة. كما تظهر متوسطات الترتيب الأول والثاني. كما يمكن للمرء أن يرى، فإن متوسط النظام الثاني يستغرق وقتا أطول للاقتراب من القيمة المتوسطة الحقيقية، ولكن لديها تقلبات أصغر بالنسبة للمتوسط. تقلبات تصبح أصغر كما يتم تسجيل المزيد والمزيد من العينات، لذلك لديه فائدة إضافية أن الجدول الزمني للمرشح تمرير منخفض فعال يتزايد دائما. إذا كان هذا هو مرشح تمرير منخفض بسيط مع تردد قطب ثابت، ثم في مرحلة ما سوف يكون رمي المعلومات من عينات قديمة جدا. يستخدم هذا الفلتر المعلومات من جميع العينات، بغض النظر عن عمرها. وأخيرا، وأعتقد أن هذه الوصفة يمكن أن يتكرر ويمكن أن يتم المتوسط لأي أمر. نعم، يمكنك إجراء فلتر تمرير منخفض من الدرجة الثانية بدون استخدام الكثير من الذاكرة. والمفتاح هو استخدام حقيقة أن الالتفاف هو عملية خطية. تريد أن تقوم بما يلي: y (t) (x (t) f1 (t)) f2 (t) حيث f1 (t) و f2 (t) هما مرشحي متوسط متحركين من العرض المجهول غير المسبوق. إذا استخدمنا الخاصية الارتباطية للخطي يمكننا القيام بما يلي: y (t) (x (t) f1 (t)) f2 (t) x (t) (f1 (t) f2 (t) تصفية عن طريق تحويل مرشحين المتوسط المتوسط، ومن ثم استخدام هذا المرشح المركب لتصفية البيانات الخاصة بك. أجاب مار 26 14 في 18:23 كوتاسوسياتيف الملكية كونفولوتيونوت أفترض. نداش مات L. مار 26 14 في 21:06 ماتل. أفهم أن الخطية تعني ضمانية. أليس هذا هو الحال ندش جيم كلاي مار 26 14 في 21:50 عندما قرأت إجابتك، وكنت على يقين من أن كنت في الواقع يعني أن أقول الملكية كوتاسوسياتيف كونفولوتيونكوت، لأنه دائما نوع من العملية الثنائية التي هي إما ارتباطية أو لا ، واستخدمت الترابطية للانسجام. أعتقد أننا لا نستطيع أن نتحدث عن الملكية 39associative من الخطية 39، لأن 39 الخطي 39 ليس عملية ثنائية. أنا لم يعني أن يكون من الصعب إرضاءه، ولكن ربما كنت. ولكن على أي حال، سؤالك مثيرة للاهتمام (فيما يتعلق بالعلاقة بين الخطية و أسوسياتيفيتي) ويجب أن أعترف بأن ليس لدي إجابة مرضية عليه. نداش مات L. مارس 27 14 في 11: 33 كما ذكر آخرون، يجب عليك النظر في إير (استجابة الاندفاع لانهائي) مرشح بدلا من فير (استجابة النبض الاستجابة) مرشح كنت تستخدم الآن. هناك أكثر من ذلك، ولكن للوهلة الأولى يتم تنفيذ مرشحات فير كتحويلات واضحة ومرشحات إير مع المعادلات. مرشح إير معين يمكنني استخدام الكثير في ميكروكنترولر هو مرشح واحد مرشح تمرير منخفض. هذا هو المعادل الرقمي لمرشح التناظرية R-C بسيط. بالنسبة لمعظم التطبيقات، سيكون لها خصائص أفضل من فلتر المربع الذي تستخدمه. ومعظم استخدامات فلتر الصندوق الذي واجهته هي نتيجة لشخص لا يولي اهتماما في فئة معالجة الإشارات الرقمية، وليس نتيجة لخصائصها الخاصة. إذا كنت ترغب فقط في تخفيف الترددات العالية التي تعرفها هي الضوضاء، مرشح واحد مرشح تمرير منخفض أفضل. أفضل طريقة لتنفيذ واحد رقميا في متحكم هو عادة: فيلت lt-- فيلت فف (نيو - فيلت) فيلت هو قطعة من حالة بيرسيستانت. هذا هو المتغير الثابت الوحيد الذي تحتاجه لحساب هذا الفلتر. نيو هو القيمة الجديدة التي يتم تحديث الفلتر مع هذا التكرار. فف هو جزء التصفية. الذي يضبط ثقل المرشح. ننظر إلى هذه الخوارزمية ونرى أن ل فف 0 مرشح هو بلا حدود الثقيلة منذ الإخراج لا يتغير أبدا. ل فف 1، لها حقا أي مرشح على الإطلاق منذ الإخراج فقط يتبع المدخلات. القيم المفيدة في ما بين. على الأنظمة الصغيرة التي تختار فف لتكون 12 N بحيث يمكن مضاعفة بواسطة فف يمكن أن يتحقق كما تحول الصحيح من قبل N بت. فعلى سبيل المثال، يمكن أن يكون فف 116 وأن يتضاعف من خلال فف نقلا سليما قدره 4 بتات. وإلا فإن هذا الفلتر يحتاج إلى طرح واحد وإضافة واحدة فقط، على الرغم من أن الأرقام عادة ما تحتاج إلى أن تكون أوسع من قيمة المدخلات (المزيد عن الدقة العددية في قسم منفصل أدناه). وعادة ما تأخذ قراءات أد أسرع بكثير من الحاجة إليها وتطبيق اثنين من هذه المرشحات تتالي. هذا هو المعادل الرقمي لمرشحين R-C في السلسلة، ويخفف بنسبة 12 ديوكتاف فوق تردد لفة. ومع ذلك، لقراءات أد يقابل عادة أكثر ملاءمة للنظر في عامل التصفية في المجال الزمني من خلال النظر في ردها خطوة. هذا يخبرك مدى سرعة النظام الخاص بك سوف نرى تغيير عندما الشيء الذي يقيس التغييرات. لتسهيل تصميم هذه المرشحات (وهو ما يعني فقط اختيار فف وتحديد عدد منهم لتتالي)، يمكنني استخدام فلتبيتس برنامجي. يمكنك تحديد عدد بتات التحول لكل فف في سلسلة المتتالية من المرشحات، ويحسب استجابة الخطوة والقيم الأخرى. في الواقع أنا عادة تشغيل هذا عن طريق بلدي السيناريو المجمع بلوتفيلت. يعمل هذا فيلتبيتس، مما يجعل ملف كسف، ثم مؤامرات ملف كسف. على سبيل المثال، هنا نتيجة بلوتفيلت 4 4: المعلمتان إلى بلوتفيلت يعني أنه سيكون هناك مرشحين تتالي من النوع الموصوف أعلاه. وتشير قيم 4 إلى عدد بتات التحول لتحقيق المضاعفة بواسطة فف. وبالتالي فإن قيمتي فف هي 116 في هذه الحالة. تتبع الأحمر هو استجابة خطوة الوحدة، وهو الشيء الرئيسي للنظر في. على سبيل المثال، هذا يخبرك أنه إذا تغيرت الإدخال على الفور، فإن إخراج المرشح المجمع يستقر إلى 90 من القيمة الجديدة في 60 تكرارا. إذا كنت تهتم حوالي 95 تسوية الوقت ثم عليك أن تنتظر حوالي 73 التكرار، و 50 وقت التسوية فقط 26 التكرارات. يظهر التتبع الأخضر الناتج من ارتفاع السعة الكاملة واحد. هذا يعطيك فكرة عن قمع الضوضاء العشوائية. يبدو أن أي عينة واحدة سوف يسبب أكثر من 2.5 تغيير في الإخراج. التتبع الأزرق هو إعطاء شعور شخصي لما يفعله هذا الفلتر مع الضوضاء البيضاء. هذا ليس اختبار صارم لأنه لا يوجد ضمان ما بالضبط المحتوى كان من الأرقام العشوائية التقطت كما المدخلات الضوضاء البيضاء لهذا المدى من بلوتفيلت. لها فقط لتعطيك شعور الخام من كم سوف تكون سحق وكيف سلاسة هو. بلوتفيلت، فلبيتبيتس ربما، والكثير من الاشياء المفيدة الأخرى، وخاصة بالنسبة لتطوير البرامج الثابتة الموافقة المسبقة عن علم هو متاح في إصدار برنامج تطوير أدوات الموافقة المسبقة عن علم في بلدي التنزيلات البرمجيات الصفحة. وأضاف حول الدقة العددية أرى من التعليقات والآن إجابة جديدة أن هناك مصلحة في مناقشة عدد البتات اللازمة لتنفيذ هذا الفلتر. ويلاحظ أن المضاعفة بواسطة فف ستؤدي إلى إنشاء بتات لوغ 2 (فف) جديدة تحت النقطة الثنائية. وفيما يتعلق بالنظم الصغيرة، يختار عادة التردد فف ليكون 12 N بحيث تتحقق هذه المضاعفة فعليا بواسطة نوبة صحيحة من البتات N. وبالتالي فإن فيلت عادة ما يكون عددا صحيحا من النقاط الثابتة. لاحظ أن هذا لا يغير أي من الرياضيات من وجهة المعالجات للعرض. على سبيل المثال، إذا كنت تقوم بتصفية قراءات أد 10 بت و N 4 (فف 116)، فأنت بحاجة إلى 4 أجزاء بت أقل من 10 بت عدد صحيح قراءات أد. واحد معظم المعالجات، يود أن تفعل 16 بت عدد صحيح العمليات بسبب قراءات م 10 بت. في هذه الحالة، لا يزال بإمكانك القيام بالضبط نفس 16 بت عدد صحيح أوبيرتيونس، ولكن تبدأ بقراءات أد اليسار تحولت 4 بت. المعالج لا يعرف الفرق ولا تحتاج إلى. القيام بالرياضيات على كامل عدد صحيح 16 بت يعمل ما إذا كنت تعتبرها لتكون 12.4 نقطة ثابتة أو صحيح 16 بت الأعداد الصحيحة (16.0 نقطة ثابتة). بشكل عام، تحتاج إلى إضافة N بت كل مرشح القطب إذا كنت لا تريد إضافة الضوضاء بسبب التمثيل العددي. في المثال أعلاه، المرشح الثاني من اثنين يجب أن يكون 1044 18 بت لا تفقد المعلومات. في الممارسة العملية على جهاز 8 بت يعني أنك تستخدم قيم 24 بت. من الناحية الفنية فقط القطب الثاني من اثنين سوف تحتاج إلى قيمة أوسع، ولكن لبساطة البرامج الثابتة وعادة ما تستخدم نفس التمثيل، وبالتالي نفس الرمز، لجميع أقطاب مرشح. وعادة ما أكتب روتين فرعي أو ماكرو لتنفيذ عملية قطب فلتر واحد، ثم تطبيق ذلك على كل قطب. ما إذا كان الروتين الفرعي أو الماكرو يعتمد على ما إذا كانت الدورات أو ذاكرة البرنامج أكثر أهمية في هذا المشروع بالذات. في كلتا الحالتين، وأنا استخدم بعض الدولة الصفر لتمرير جديد في سوبروتينيماكرو، الذي يقوم بتحديث فيلت، ولكن أيضا الأحمال التي في نفس حالة الصفر كان جديد في. وهذا يجعل من السهل تطبيق أقطاب متعددة منذ تحديث فيلت من قطب واحد هو الجديد من القادم. عند روتين فرعي، من المفيد أن يكون مؤشر يشير إلى فيلت على الطريق في، والتي يتم تحديثها فقط بعد فيلت على الطريق للخروج. وبهذه الطريقة يعمل الروتين الفرعي تلقائيا على فلاتر متتالية في الذاكرة إذا تم استدعاؤها عدة مرات. مع ماكرو كنت لا تحتاج إلى مؤشر منذ كنت تمر في العنوان للعمل على كل التكرار. أمثلة التعليمات البرمجية هنا مثال على ماكرو كما هو موضح أعلاه ل بيك 18: وهنا ماكرو مماثل ل بيك 24 أو دسبيك 30 أو 33: يتم تنفيذ كل من هذه الأمثلة وحدات الماكرو باستخدام المعالج المسبق المجمع المجمع بيك. التي هي أكثر قدرة من أي من مرافق الماكرو المدمج. كلاباشيو: قضية أخرى كان ينبغي أن أذكر هو تنفيذ البرامج الثابتة. يمكنك كتابة قطب واحد مرشح تمرير منخفض روتين مرة واحدة، ثم تطبيقه عدة مرات. في الواقع أنا عادة كتابة مثل هذا الروتين الفرعي لاتخاذ مؤشر في الذاكرة إلى حالة التصفية، ثم يكون ذلك مقدما المؤشر بحيث يمكن أن يسمى في الخلافة بسهولة لتحقيق مرشحات متعددة القطب. نداش أولين لاثروب أبر 20 12 في 15:03 1. شكرا جزيلا على إجاباتك - كل منهم. قررت استخدام هذا المرشح إير، ولكن لا يتم استخدام هذا الفلتر كمرشح لوباس القياسية، لأنني بحاجة إلى متوسط القيم العداد ومقارنتها للكشف عن التغييرات في نطاق معين. لأن هذه القيم فان تكون من أبعاد مختلفة جدا اعتمادا على الأجهزة أردت أن تأخذ في المتوسط من أجل أن تكون قادرة على الاستجابة لهذه التغييرات محددة الأجهزة تلقائيا. نداش سينسلن 21 مايو 12 في 12:06 إذا كنت تستطيع أن تعيش مع تقييد قوة عددين من العناصر إلى المتوسط (أي 2،4،8،16،32 الخ) ثم الفجوة يمكن بسهولة وكفاءة القيام به على وانخفاض الأداء الجزئي مع عدم وجود تقسيم مخصص لأنه يمكن القيام به كما تحول قليلا. كل حق التحول هو قوة واحدة من اثنين على سبيل المثال: يعتقد أوب كان لديه مشكلتين، وتقسيم في PIC16 والذاكرة لعزله حلقة. وتبين هذه الإجابة أن التقسيم ليس صعبا. ومن المسلم به أنه لا يعالج مشكلة الذاكرة ولكن نظام سي يسمح إجابات جزئية، ويمكن للمستخدمين اتخاذ شيء من كل إجابة لأنفسهم، أو حتى تحرير والجمع بين الأجوبة الأخرى 39s. وبما أن بعض الإجابات الأخرى تتطلب عملية تقسيم، فإنها غير مكتملة بالمثل لأنها لا تظهر كيفية تحقيق ذلك بكفاءة على PIC16. نداش مارتن أبر 20 12 في 13:01 هناك جواب لمرشح متوسط متحرك صحيح (الملقب فلتر بوكسكار) مع متطلبات الذاكرة أقل، إذا كنت لا تمانع في الامتصاص. تسمى مرشح المتكامل التكامل مشط (سيك). والفكرة هي أن لديك تكامل التي تأخذ الاختلافات على مدى فترة زمنية، والجهاز الرئيسي لحفظ الذاكرة هو أنه من خلال تقليص، لم يكن لديك لتخزين كل قيمة التكامل. ويمكن تنفيذه باستخدام بسيودوكود التالية: الخاص بك المتوسط المتوسط المتحرك الفعال هو ديسيماتيونفاكتورستاتيز ولكن تحتاج فقط للحفاظ على عينات ستاتيزيز. من الواضح أنك يمكن أن تحصل على أداء أفضل إذا كان لديك ستيزيز و ديسيماتيونفاكتور هي صلاحيات 2، بحيث يتم استبدال الشعبة والباقي مشغلي التحولات والقناع-أندس. بوستسكريبت: أنا أتفق مع أولين أنه يجب عليك دائما النظر في مرشحات إير بسيطة قبل مرشح المتوسط المتحرك. إذا كنت لا تحتاج إلى ترددات خالية من فلتر علبة التصفية، فإن فلتر تمرير منخفض ذو عمود واحد أو عمودين قد يعمل بشكل جيد. من ناحية أخرى، إذا كنت ترشيح لأغراض الإفساد (أخذ مدخلات عالية معدل العينة ومتوسطها لاستخدامها من قبل عملية معدل منخفض) ثم مرشح سيك قد يكون مجرد ما كنت تبحث عنه. (خاصة إذا كان يمكنك استخدام stateize1 وتجنب رينغبوفر تماما مع مجرد واحد قيمة التكامل السابقة) ثيريس بعض تحليل متعمق من الرياضيات وراء استخدام أول مرشح إيير النظام الذي أولين لاثروب قد وصفت بالفعل على تبادل الإشارات الرقمية مكدس معالجة (يتضمن الكثير من الصور الجميلة). معادلة هذا المرشح إير هو: يمكن تنفيذ هذا باستخدام الأعداد الصحيحة فقط ولا تقسيم باستخدام التعليمات البرمجية التالية (قد تحتاج إلى بعض التصحيح كما كنت أكتب من الذاكرة.) هذا المرشح يقترب متوسط متحرك من عينات K الأخيرة عن طريق تحديد قيمة ألفا إلى 1K. قم بذلك في التعليمات البرمجية السابقة من خلال تحديد بيتس ل LOG2 (K)، أي ل K 16 مجموعة بيتس إلى 4، ل K 4 مجموعة بيتس إلى 2، الخ (إل التحقق من التعليمات البرمجية المدرجة هنا في أقرب وقت وأنا الحصول على تغيير و تحرير هذه الإجابة إذا لزم الأمر.) أجاب يونيو 23 12 في 4:04 هيريس مرشح تمرير منخفض القطب واحد (المتوسط المتحرك، مع قطع تردد كوتوفريكنسي). بسيطة جدا، سريع جدا، يعمل كبيرة، وتقريبا لا الذاكرة العامة. ملاحظة: كافة المتغيرات لها نطاق خارج وظيفة التصفية، باستثناء ما تم تمريره في نيو إنبوت ملاحظة: هذا هو مرشح مرحلة واحدة. مراحل متعددة يمكن أن تتعاقب معا لزيادة حدة الفلتر. إذا كنت تستخدم أكثر من مرحلة واحدة، سيكون لديك لضبط ديكايفاكتور (كما يتعلق قطع التردد) للتعويض. ومن الواضح أن كل ما تحتاجه هو أن هذين الخطين وضعت في أي مكان، وأنها لا تحتاج إلى وظيفة خاصة بهم. ويوجد في هذا المرشح وقت تصاعدي قبل أن يمثل المتوسط المتحرك إشارة الدخل. إذا كنت بحاجة إلى تجاوز هذا الوقت المنحدر، يمكنك فقط تهيئة موفينغافيراج إلى القيمة الأولى من نيو إنبوت بدلا من 0، ونأمل أن أولينبوت الأول ليس خارجا. (كوتوفريكنسيزامبليرات) تتراوح بين 0 و 0.5. ديكايفاكتور هو قيمة بين 0 و 1، وعادة ما تكون قريبة من 1. العائمة واحدة الدقة جيدة بما فيه الكفاية لمعظم الأشياء، وأنا فقط تفضل الزوجي. إذا كنت بحاجة إلى التمسك مع الأعداد الصحيحة، يمكنك تحويل ديكيفاكتور والعامل السعة إلى أعداد صحيحة كسور، حيث يتم تخزين البسط كما العدد الصحيح، والمقام هو عدد صحيح من 2 (حتى تتمكن من التحول قليلا إلى اليمين كما القاسم بدلا من الاضطرار إلى تقسيم خلال حلقة مرشح). على سبيل المثال، إذا ديكايفاكتور 0.99، وتريد استخدام الأعداد الصحيحة، يمكنك تعيين ديكايفاكتور 0.99 65536 64881. ثم في أي وقت تتضاعف من قبل ديكايفاكتور في حلقة تصفية الخاص بك، مجرد تحويل النتيجة 16. لمزيد من المعلومات حول هذا، كتاب ممتاز أن أونلين، الفصل 19 على الفلاتر التكرارية: dspguidech19.htm بس بالنسبة لنموذج المتوسط المتحرك، هناك طريقة مختلفة لتحديد ديكاي فاكتور و أمبليتيودفاكتور التي قد تكون أكثر ملاءمة لاحتياجاتك، فترى أنك تريد السابق، حوالي 6 بنود متوسطها معا، والقيام بها بحذر، يود إضافة 6 عناصر وتقسيمها 6، لذلك يمكنك تعيين أمبليتيودفاكتور إلى 16، و ديكايفاكتور إلى (1.0 - أمبليتيودفاكتور). أجاب 14 مايو 12 في 22:55 وقد علق الجميع آخر بدقة على فائدة إير مقابل فير، وعلى السلطة من اثنين من الانقسام. معرف فقط لإعطاء بعض التفاصيل التنفيذ. أدناه يعمل بشكل جيد على ميكروكنترولر صغيرة مع أي فبو. ثيريز لا الضرب، وإذا كنت تبقي N قوة اثنين، كل تقسيم هو دورة واحدة بت التحول. المخزن المؤقت الدائري حلقة معلومات أساسية: إبقاء المخزن مؤقت قيد التشغيل من القيم N الماضية، و سوم قيد التشغيل من كافة القيم في المخزن المؤقت. في كل مرة تأتي عينة جديدة في طرح أقدم قيمة في المخزن المؤقت من سوم، استبداله مع العينة الجديدة، إضافة عينة جديدة إلى سوم، والإخراج سومن. تعديل إر حلقة عازلة: الحفاظ على سوم تشغيل القيم N الماضية. في كل مرة تأتي عينة جديدة في، سوم - سومن، إضافة في العينة الجديدة، والإخراج سومن. أجاب 28 أغسطس 13 في 13:45 إذا I39m قراءة لك الحق، you39re تصف مرشح من الدرجة الأولى إر قيمة you39re طرح isn39t أقدم قيمة التي تسقط، ولكن بدلا من ذلك متوسط القيم السابقة. يمكن أن تكون مرشحات إر من الدرجة الأولى مفيدة بالتأكيد، ولكن I39m غير متأكد ما تقصد عندما تقترح أن الإخراج هو نفسه لجميع الإشارات الدورية. في معدل عينة 10 كيلو هرتز، تغذية موجة 100HZ مربع في مرشح مربع 20 مرحلة سوف تسفر عن إشارة التي ترتفع بشكل موحد ل 20 عينة، يجلس عالية لمدة 30، قطرات بشكل موحد ل 20 عينة، ويجلس منخفضة ل 30. ترتيب الأول فلتر إير. نداش سوبيركات 28 أغسطس 13 في 15:31 سوف تسفر عن موجة التي تبدأ بشكل حاد ارتفاع وتدريجيا مستويات قريبة من (ولكن ليس في) المدخلات القصوى، ثم يبدأ بحدة السقوط وتدريجيا مستويات قبالة بالقرب (ولكن ليس في) الحد الأدنى المدخلات. سلوك مختلف جدا. نداش سوبيركات 28 أغسطس 13 الساعة 15:32 قضية واحدة هي أن متوسط متحرك بسيط قد أو قد لا تكون مفيدة. مع فلتر إير، يمكنك الحصول على مرشح لطيفة مع كالكس قليلة نسبيا. منطقة معلومات الطيران التي تصفها يمكن أن تعطيك فقط مستطيل في الوقت المناسب - المخلص في التكرار - ويمكنك إدارة 39t الفصوص الجانبية. قد يكون من المفيد أن رمي في عدد قليل من عدد صحيح مضاعفات لجعله لطيفة الطيف التماثل التماثل إذا كنت يمكن أن تدخر القراد على مدار الساعة. نداش سكوت سيدمان 29 أغسطس 13 في 13:50 سكوتسيدمان: لا حاجة لتضاعف إذا كان واحد ببساطة لديه كل مرحلة من منطقة معلومات الطيران إما إخراج متوسط المدخلات لتلك المرحلة وقيمتها المخزنة السابقة، ومن ثم تخزين المدخلات (إذا كان واحد لديه النطاق الرقمي، يمكن للمرء استخدام المجموع بدلا من المتوسط). إذا كان ذلك أفضل من فلتر مربع يعتمد على التطبيق (استجابة الخطوة من مرشح مربع مع تأخير كامل من 1ms، على سبيل المثال، سوف يكون d2dt ارتفاع سيئة عند تغيير المدخلات، ومرة أخرى 1ms في وقت لاحق، ولكن سيكون الحد الأدنى ممكن دت لمرشح مع تأخير 1ms الكلي). نداش سوبيركات 29 أغسطس 13 في 15:25 كما قال ميكيسيلكتريكستوف، إذا كنت حقا بحاجة إلى تقليل احتياجات الذاكرة الخاصة بك، وأنت لا تمانع في الاستجابة الاندفاع الخاص بك كونها أسية (بدلا من نبض مستطيلة)، وأود أن أذهب لمرشح متوسط متحرك أسي . أنا استخدامها على نطاق واسع. مع هذا النوع من التصفية، أنت لا تحتاج إلى أي المخزن المؤقت. لم يكن لديك لتخزين N عينات الماضي. واحد فقط. لذلك، متطلبات الذاكرة الخاصة بك الحصول على خفض بنسبة عامل N. أيضا، أنت لا تحتاج إلى أي تقسيم لذلك. المضاعفات فقط. إذا كان لديك الوصول إلى الحساب العائم نقطة، واستخدام المضاعفات نقطة العائمة. خلاف ذلك، لا عدد صحيح مضاعفات والتحولات إلى اليمين. ومع ذلك، نحن في عام 2012، وأود أن أوصي لك استخدام المجمعين (و مكوس) التي تسمح لك للعمل مع أرقام نقطة العائمة. إلى جانب كونها أكثر كفاءة الذاكرة وأسرع (لم يكن لديك لتحديث العناصر في أي العازلة دائرية)، وأود أن أقول هو أيضا أكثر طبيعية. لأن استجابة النبض الأسي تتطابق بشكل أفضل مع الطريقة التي تتصرف بها الطبيعة، في معظم الحالات. أجاب 20 أبر 12 في 9:59 قضية واحدة مع فلتر إير كما لمست تقريبا من قبل أولين و سوبيركات ولكن تجاهلها على ما يبدو من قبل الآخرين هو أن التقريب أسفل يدخل بعض عدم الدقة (وربما بياسترونكاتيون). على افتراض أن N هو قوة اثنين، ويستخدم فقط عدد صحيح الحساب، والتحول الحق لا القضاء بشكل منهجي على لسبس من العينة الجديدة. وهذا يعني أن المدة التي يمكن أن تكون سلسلة من أي وقت مضى، فإن المتوسط لن تأخذ تلك في الاعتبار. على سبيل المثال، افترض أن سلسلة تناقص ببطء (8،8،8،7،7،7،7،6،6)، وتفترض أن المتوسط هو في الواقع 8 في البداية. قبضة 7 عينة سيجلب المتوسط إلى 7، مهما كانت قوة التصفية. فقط لعينة واحدة. نفس القصة لمدة 6، الخ الآن التفكير في العكس. وتسلسل دوري الدرجة الاولى الايطالي. سيبقى المتوسط على 7 إلى الأبد، حتى تكون العينة كبيرة بما فيه الكفاية لجعلها تتغير. بالطبع، يمكنك تصحيح للتحيز عن طريق إضافة 12N2، ولكن هذا لن تحل حقا مشكلة الدقة. في هذه الحالة سوف تنخفض سلسلة البقاء إلى الأبد في 8 حتى تكون العينة 8-12 (N2). بالنسبة إلى N4 على سبيل المثال، فإن أي عينة فوق الصفر ستبقي على المتوسط دون تغيير. وأعتقد أن إيجاد حل لذلك يعني ضمنا تراكما لقذائف ال لسب المفقودة. ولكن لم أكن أبعد من أن يكون كود جاهزة، و إم متأكد من أنها لن تضر السلطة إير في بعض الحالات الأخرى من سلسلة (على سبيل المثال ما إذا كان 7،9،7،9 سوف متوسط إلى 8 ثم). أولين، سلسلة من مرحلتين أيضا سوف تحتاج إلى بعض التفسير. هل تعني عقد قيمتين متوسطتين نتيجة أول تغذية في الثانية في كل تكرار. ما فائدة هذا
No comments:
Post a Comment