الانتقال من المتوسط تصفية رمز في و ج


هل من الممكن تنفيذ المتوسط ​​المتحرك في C دون الحاجة إلى نافذة من العينات. أنا وجدت أنني يمكن أن تحسن قليلا، عن طريق اختيار حجم النافذة التي سا السلطة من اثنين للسماح بتغيير قليلا بدلا من تقسيم، ولكن لا تحتاج إلى المخزن المؤقت سيكون لطيفا هل هناك طريقة للتعبير عن نتيجة متوسط ​​متحرك جديد فقط كدالة للنتيجة القديمة وعينة جديدة. تحديد المتوسط ​​المتحرك المثال، عبر نافذة من 4 عينات لتكون. إضافة عينة جديدة إي يمكن أن ينفذ المتوسط ​​المتحرك بشكل متكرر، ولكن لحساب دقيق للمتوسط ​​المتحرك عليك أن تتذكر أقدم عينة المدخلات في المجموع أي في المثال الخاص بك لطول N المتوسط ​​المتحرك الذي compute. why ين هو إشارة الإخراج و شن هو إشارة الدخل إق 1 يمكن أن تكون مكتوبة بشكل متكرر. لذلك تحتاج دائما إلى تذكر عينة x ن من أجل حساب 2. كما أشار كونراد تيرنر، يمكنك استخدام نافذة أسي طويلة بلا حدود بدلا من ذلك، والذي يسمح لك لحساب الإخراج فقط من الماضي بها ولكن هذا ليس متوسطا متحركيا غير مرجح، ولكن متوسط ​​متحرك مرجح أضعافا مضاعفة، حيث تحصل عينات أخرى في الماضي على وزن أقل، ولكن على الأقل من الناحية النظرية لن تنسى أبدا أي شيء تكون الأوزان أصغر حجما وأصغر فقط عينات بعيدة في الماضي. أنا نفذت المتوسط ​​المتحرك دون ذاكرة البند الفردية لبرنامج تتبع غس أنا كتبت. أبدأ مع 1 عينة وتقسيم 1 للحصول على avg. I الحالي ثم إضافة أنوث عينة وتقسيم بنسبة 2 إلى ويستمر هذا حتى تصل إلى طول المتوسط. في كل مرة بعد ذلك، وأضيف في العينة الجديدة، والحصول على متوسط ​​وإزالة هذا المتوسط ​​من المجموع. أنا لست رياضيات ولكن هذا يبدو وكأنه وسيلة جيدة ل تفعل ذلك أنا أحسب أنه من شأنه أن يحول المعدة من رجل الرياضيات الحقيقي ولكن، اتضح أنها هي واحدة من الطرق المقبولة للقيام بذلك وأنها تعمل بشكل جيد فقط تذكر أن ارتفاع طول الخاص بك أبطأ هو اتباع ما تريد أن تتبع قد لا يهم ذلك الوقت ولكن عند الأقمار الصناعية التالية، إذا كنت بطيئا، يمكن أن يكون درب بعيدا عن الموقف الفعلي، وسوف تبدو سيئة هل يمكن أن يكون هناك فجوة بين جلس والنقاط زائدة اخترت طول 15 تحديث 6 مرات في الدقيقة الواحدة إلى الحصول على تجانس كافية وليس الحصول على مسافة بعيدة جدا عن موقف سات الفعلي مع دوت ممهدة دوتس. 16 نوفمبر 16 في 23 03.initialize الإجمالي 0، عد 0 في كل مرة رؤية قيمة جديدة. ثم إدخال واحد سكانف، واحد إضافة إجمالي نيوفالو، واحد عدد الفروقات، ومتوسط ​​عدد الفارق الكلي. وسيكون هذا متوسطا متحركا على جميع المدخلات. ولحساب المتوسط ​​فوق المدخلات الأربعة الأخيرة فقط، سيتطلب 4 مدخلات، ربما نسخ كل مدخل إلى مدخل قديم، ثم حساب الحركة الجديدة متوسط ​​كمجموع 4 المدخلات، مقسوما على 4 التحول الصحيح 2 سيكون جيدا إذا كانت جميع المدخلات إيجابية لجعل متوسط ​​الحساب. في 3 فبراير 15 في 06 06.That سيحسب فعلا المتوسط ​​الكلي وليس المتوسط ​​المتحرك كما الحصول على العد s أكبر تأثير أي عينة إدخال جديدة يصبح التلاشي صغير هيلمار فبراير 3 15 في 13 53.Your answer.2017 المكدس الصرف، وشركة وأنا أعلم أن هذا يمكن تحقيقه مع دفعة كما per. But أنا حقا ترغب في تجنب استخدام دفعة لدي غوغلد ولم يتم العثور على أي أمثلة مناسبة أو مقروءة. باسيكالي أريد أن تتبع المتوسط ​​المتحرك لتيار مستمر من تيار من أرقام النقطة العائمة باستخدام أحدث 1000 أرقام كبيانات البيانات. ما هي أسهل طريقة لتحقيق هذا. أنا تجربة استخدام صفيف دائري ومتوسط ​​متحرك أسي ومتوسط ​​متحرك أكثر بساطة ووجدت أن النتائج من المصفوفة الدائرية تناسب احتياجاتي بشكل أفضل. حققت 12 يونيو 12 في 4 38. إذا كانت احتياجاتك بسيطة، فربما حاولت استخدام المتوسط ​​المتحرك الأسي. ببساطة، يمكنك إجراء متغير تراكم، وكما تبدو التعليمات البرمجية الخاصة بك في كل عينة، التعليمات البرمجية بتحديث تراكم مع القيمة الجديدة يمكنك اختيار ألفا ثابت ما بين 0 و 1، وحساب هذا. كل ما تحتاجه للعثور على قيمة أ لفا حيث تأثير عينة معينة تدوم فقط لحوالي 1000 عينة. همم، أنا لا فعلا متأكد من أن هذا هو مناسب لك، والآن أن أضعه هنا المشكلة هي أن 1000 هو نافذة طويلة جدا لمتوسط ​​متحرك أسي أنا لست متأكدا من وجود ألفا التي من شأنها أن تنتشر المتوسط ​​على آخر 1000 أرقام، دون تدفق في حساب العائمة ولكن إذا أردت متوسط ​​أصغر، مثل 30 أرقام أو نحو ذلك، وهذا هو وسيلة سهلة جدا وسريعة للقيام it. resp يونيو 12 12 في 4 44. 1 على مشاركتك المتوسط ​​المتحرك الأسي يمكن أن يسمح ألفا أن يكون متغير لذلك هذا يسمح استخدامه لحساب متوسطات قاعدة الوقت على سبيل المثال بايت في الثانية إذا كان الوقت منذ آخر تحديث تراكم هو أكثر من 1 ثانية، يمكنك السماح ألفا يكون 1 0 خلاف ذلك، يمكنك أن تدع ألفا يكون أوسيكس منذ آخر تحديث 1000000 جش 12 يونيو 12 في 6 21.Basically أريد أن تتبع المتوسط ​​المتحرك لتيار مستمر من تيار من أرقام النقطة العائمة باستخدام أحدث 1000 أرقام كعينة بيانات. لا ه أن أدناه بتحديث المجموع كعناصر كما أضيفت استبدال، وتجنب مكلفة على اجتياز لحساب المجموع - اللازمة للمتوسط ​​- على الطلب. وتكون المجموع معلمة مختلفة من T لدعم مثل استخدام طويلة طويلة عندما يبلغ مجموعها 1000 ثانية ق ، و إنت ل شار s، أو ضعف إلى مجموع تعويم s. This هو معيب بعض الشيء في أن بعض الأمثلة يمكن أن تذهب الماضي إنتماكس - إذا كنت تهتم يمكنك استخدام طويلة غير موقعة أو استخدام عضو بيانات بول إضافية لتسجيل عندما الحاوية يتم شغل أولا في حين ركوب الدراجات نامزيمبلز حول مجموعة أفضل ثم إعادة تسميته شيء حميدة مثل pos. leases يونيو 12 12 في 5 19.one يفترض أن عامل الفراغ عينة T هو في الواقع باطل المشغل T عينة أوبليس يونيو 8 14 في 11 52. أوبليس أه رصدت جيدا في الواقع قصدت أن يكون عامل فراغ T عينة ولكن بالطبع يمكنك استخدام أي تدوين كنت ترغب في إصلاح، وذلك بفضل توني D يونيو 8 14 في 14 27. كما ذكر آخرون، يجب عليك النظر في إير استجابة لانهائية مرشح دفعة بدلا من الحد الأدنى لمعلومات الطيران ط فلتر الاستجابة مبولز كنت تستخدم الآن هناك أكثر من ذلك، ولكن للوهلة الأولى يتم تنفيذ مرشحات فير كما التحولات صريحة والمرشحات إير مع المعادلات. المرشح إير معين يمكنني استخدام الكثير في ميكروكنترولر هو القطب واحد مرشح تمريرة منخفضة هذا هو المعادل الرقمي للمرشح التناظرية أرسي بسيط بالنسبة لمعظم التطبيقات، وهذه سيكون لها خصائص أفضل من فلتر مربع الذي تستخدمه معظم استخدامات مرشح مربع التي واجهتها هي نتيجة لشخص لا تولي اهتماما في فئة معالجة الإشارات الرقمية، وليس نتيجة الحاجة إلى خصائصها الخاصة إذا كنت ترغب فقط في تخفيف الترددات العالية التي تعرفها هي الضوضاء، قطب مرشح تمرير منخفض واحد أفضل أفضل طريقة لتنفيذ واحد رقميا في متحكم هو عادة. فيلت - فيلت فف نيو - FILT. FILT هو قطعة من حالة بيرسيستانت هذا هو المتغير بيرسيستانت الوحيد الذي تحتاجه لحساب هذا الفلتر جديد هو القيمة الجديدة التي يتم تحديث المرشح مع هذا التكرار فف هو جزء التصفية الذي يضبط ثقل مرشح انظر إلى هذه الخوارزمية ونرى أن ل فف 0 مرشح هو بلا حدود الثقيلة منذ الإخراج لا يتغير ل فف 1، انها حقا أي مرشح على الإطلاق منذ الإخراج فقط يتبع المدخلات وتتراوح القيم المفيدة بين الأنظمة الصغيرة التي تختارها فف لكي تكون 1 2 N بحيث يمكن أن تتضاعف بواسطة فف كزحزحة صحيحة بواسطة البتات N. فعلى سبيل المثال، قد يكون فف 1 16، 4 بت بخلاف ذلك يحتاج هذا الفلتر لطرح واحد فقط وإضافة واحدة، على الرغم من أن الأرقام عادة ما تحتاج إلى أن تكون أوسع من قيمة المدخلات أكثر على الدقة العددية في قسم منفصل أدناه. أنا عادة ما تأخذ قراءات أد أسرع بكثير من الحاجة إليها وتطبيق اثنين من هذه المرشحات تتالي هذا هو المعادل الرقمي للمرشحات أرسي اثنين في سلسلة، ويخفف بنسبة 12 ديسيبل اوكتاف فوق تردد لفة ومع ذلك، لقراءات أد انها عادة أكثر ملاءمة للنظر في مرشح في المجال الزمني من خلال النظر إرينغ ردها خطوة هذا يخبرك مدى سرعة النظام الخاص بك وسوف نرى تغيير عندما الشيء الذي يقيس التغييرات. لتسهيل تصميم هذه المرشحات التي تعني فقط اختيار فف وتحديد عدد منهم لتتالي، وأنا استخدم بلدي فلتبيتس برنامج قمت بتحديد عدد بتات التحول لكل فف في سلسلة المتتالية من المرشحات، ويحسب استجابة الخطوة والقيم الأخرى في الواقع أنا عادة تشغيل هذا عبر بلدي البرنامج النصي المجمع بلوتفيلت هذا يعمل فلتبيتس، مما يجعل ملف كسف، ثم مؤامرات ملف كسف على سبيل المثال ، هنا هو نتيجة بلوتفيلت 4 4. معلمتان ل بلوتفيلت يعني أنه سيكون هناك مرشحين تتالي من النوع الموصوف أعلاه القيم 4 تشير إلى عدد بتات التحول لتحقيق ضرب من قبل فف القيم فف اثنين وبالتالي 1 16 في هذه الحالة. التتبع الأحمر هو استجابة خطوة الوحدة، وهو الشيء الرئيسي للنظر في على سبيل المثال، وهذا يخبرك أنه إذا تغيرت المدخلات على الفور، فإن إخراج مرشح مجتمعة يستقر إلى 90 من جديد قيمة في 60 التكرارات إذا كنت تهتم حوالي 95 تسوية الوقت ثم عليك أن تنتظر حوالي 73 التكرارات، و 50 وقت التسوية فقط 26 التكرارات. التتبع الأخضر يظهر لك الإخراج من واحد ارتفاع السعة الكامل هذا يعطيك بعض فكرة عشوائية الضوضاء قمع يبدو أن أي عينة واحدة سوف يسبب أكثر من 2 5 تغيير في الإخراج. الزرقاء تتبع هو إعطاء شعور شخصي ما يفعله هذا الفلتر مع الضوضاء البيضاء هذا ليس اختبار صارم لأنه لا يوجد ضمان ما بالضبط كان المحتوى من الأرقام العشوائية التقطت كما المدخلات الضوضاء البيضاء لهذا المدى من بلوتفيلت انها فقط لتعطيك شعور تقريبي من كم سيتم اسحقها وكيف سلاسة هو. بلوتفيلت، وربما فلبيتس، والكثير من غيرها من المفيد الاشياء، وخاصة بالنسبة لتطوير البرامج الثابتة بيك متوفرة في إصدار برنامج تطوير أدوات الموافقة المسبقة عن علم في بلدي التنزيلات البرمجيات page. Added عن الدقة العددية. أرى من التعليقات والآن إجابة جديدة أن هناك مصلحة في مناقشة ر عدد البتات اللازمة لتنفيذ هذا المرشح لاحظ أن الضرب بواسطة فف سيؤدي إلى إنشاء فدرات لوغ 2 فف جديدة تحت النقطة الثنائية. وفي الأنظمة الصغيرة، عادة ما يتم اختيار فف ليكون 1 2 N بحيث تتحقق هذه المضاعفة فعليا بواسطة نوبة صحيحة من N bits. FILT ولذلك عادة ما يكون عدد صحيح نقطة ثابتة لاحظ أن هذا لا تغيير أي من الرياضيات من وجهة نظر المعالج S على سبيل المثال، إذا كنت تصفية قراءات م 10 بت و N 4 فف 1 16، فأنت بحاجة 4 أجزاء بت أقل من العدد الصحيح 10 بت أد قراءات واحد معظم المعالجات، وكنت د القيام بعمليات عدد صحيح 16 بت بسبب قراءات أد 10 بت في هذه الحالة، لا يزال بإمكانك القيام بالضبط نفس 16 بت عدد صحيح أوبيرتيونس، ولكن تبدأ مع أد قراءات اليسار تحولت من 4 بت المعالج لا يعرف الفرق و لا تحتاج إلى القيام الرياضيات على كامل 16 بت صحيح الأعداد يعمل ما إذا كنت تعتبرها لتكون 12 4 نقطة ثابتة أو صحيح 16 بت الأعداد الصحيحة 16 0 نقطة ثابتة. بصفة عامة، تحتاج إلى إضافة n بت كل مرشح القطب إذا كنت لا تريد إضافة ضوضاء بسبب التمثيل العددي في المثال أعلاه، فإن المرشح الثاني من اثنين يجب أن يكون 10 4 4 18 بت لا تفقد المعلومات في الممارسة العملية على جهاز 8 بت وهذا يعني أنك د استخدام قيم 24 بت من الناحية الفنية إلا أن القطب الثاني من اثنين سوف تحتاج إلى قيمة أوسع، ولكن لبساطة البرامج الثابتة وعادة ما تستخدم نفس التمثيل، وبالتالي نفس الرمز، لجميع أعمدة مرشح. عادة ما أكتب روتين أو ماكرو لأداء واحد عملية القطب مرشح، ثم تطبيق ذلك على كل قطب إذا كان الروتين الفرعي أو الماكرو يعتمد على ما إذا كانت دورات أو ذاكرة البرنامج أكثر أهمية في هذا المشروع بعينه في كلتا الحالتين، استخدم بعض حالة الصفر لتمرير جديد في الماكرو روتين الذي يقوم بتحديث فيلت ولكن أيضا بتحميل ذلك إلى نفس حالة الصفر كان جديد في هذا يجعل من السهل تطبيق أقطاب متعددة منذ فيلت المحدثة من قطب واحد هو الجديد من واحد القادم عندما روتين، فمن المفيد أن يكون نقطة مؤشر ل فيلت على الطريق في، وهو محدث فقط بعد فيلت على الطريق للخروج بهذه الطريقة يعمل روتين تلقائيا على مرشحات متتالية في الذاكرة إذا دعا عدة مرات مع ماكرو كنت لا تحتاج إلى مؤشر منذ تمرير في العنوان للعمل على كل تكرار. كود أمثلة. هنا هو مثال على ماكرو كما هو موضح أعلاه ل بيك 18. هنا هو ماكرو مماثل ل بيك 24 أو دسبيك 30 أو 33. يتم تنفيذ هذه الأمثلة كما وحدات الماكرو باستخدام بلدي المسبق بيك المجمع الذي هو أكثر قدرة من أي من المدمج في " في مرافق الماكرو. كلاباشيو قضية أخرى كان يجب أن أذكرها هو تنفيذ البرامج الثابتة يمكنك كتابة قطب واحد تمرير منخفض روتين مرشح مرة واحدة، ثم تطبيقه عدة مرات في الواقع أنا عادة كتابة مثل هذا الروتين إلى اتخاذ مؤشر في الذاكرة إلى حالة التصفية، ثم يكون مقدما المؤشر بحيث يمكن استدعاؤها في الخلافة بسهولة لتحقيق مرشحات متعددة القطب أولين لاثروب أبر 20 12 في 15 03.1 شكرا جزيلا على إجاباتك - كل منهم قررت استخدام هذا فلتر إير، ولكن لا يتم استخدام هذا الفلتر كما مرشح لوباس القياسي، لأنني بحاجة إلى متوسط ​​قيم عداد ومقارنتها للكشف عن التغييرات في نطاق معين منذ هذه القيم فان تكون من أبعاد مختلفة جدا اعتمادا على الأجهزة أردت أن تأخذ في المتوسط ​​من أجل أن تكون قادرة على الرد على هذه الأجهزة تغييرات محددة تلقائيا سينسلن 21 مايو 12 في 12 06.If يمكنك العيش مع تقييد قوة اثنين من عدد من العناصر إلى المتوسط ​​أي 2،4،8،16،32 الخ ثم يمكن تقسيم بسهولة وكفاءة على وانخفاض الأداء الجزئي مع عدم وجود تقسيم مخصص لأنه يمكن القيام به كما تحول قليلا كل حق الحق هو قوة واحدة من اثنين على سبيل المثال. The أوب اعتقد انه كان اثنين من المشاكل، وتقسيم في PIC16 والذاكرة لعشاق له حلقة ويوضح هذا الجواب أن تقسيم ليس من الصعب اعترافا أنه لا يعالج مشكلة الذاكرة ولكن نظام سي يسمح إجابات جزئية، ويمكن للمستخدمين اتخاذ شيء من كل إجابة لأنفسهم، أو حتى تحرير والجمع بين إجابات أخرى لأن بعض الإجابات الأخرى تتطلب عملية الانقسام، فإنها هي أيضا غير مكتملة لأنها لا تظهر كيفية تحقيق ذلك بكفاءة على PIC16 مارتن أبريل 20 12 في 13 01.There هو الجواب لمرشح المتوسط ​​المتحرك الحقيقي ويعرف أيضا باسم فلتر بوكسكار مع متطلبات الذاكرة أقل، إذا كنت لا تفكر في التفكير تسمى مرشح المتكامل التكامل مشط سيك والفكرة هي أن لديك تكامل الذي كنت تأخذ الاختلافات على مدى فترة زمنية، والجهاز الرئيسي لحفظ الذاكرة هو أنه عن طريق تقليص، لا تحتاج إلى تخزين عشية قيمة ري من التكامل ويمكن تنفيذها باستخدام pseudocode. Your التالية المتوسط ​​المتوسط ​​المتحرك الفعال هو ديسيماتيونفاكتور ستاتيزيز ولكن تحتاج فقط للحفاظ على عينات ستاتيزيز من الواضح أنك يمكن أن تحصل على أداء أفضل إذا كان لديك ستيزيز و ديسيماتيونفاكتور هي القوى 2، بحيث القسم و باقي مشغلي استبدالها بواسطة التحولات و ماسك-ands. Postscript أنا أتفق مع أولين أنه يجب عليك دائما النظر مرشحات إر بسيطة قبل مرشح المتوسط ​​المتحرك إذا كنت لا تحتاج إلى ترددات خالية من فلتر علبة التروس، القطب 1 أو 2 القطب مرشح تمريرة منخفضة من المحتمل أن تعمل بشكل جيد. من ناحية أخرى، إذا كنت تصفية لأغراض الإفساد أخذ مدخلات عالية معدل العينة ومتوسط ​​ذلك للاستخدام من قبل عملية منخفضة معدل ثم مرشح سيك قد يكون مجرد ما كنت تبحث عن خاصة إذا كنت تستطيع استخدام ستيزيز 1 وتجنب رينغبوفر تماما مع مجرد واحد قيمة التكامل السابقة. هناك بعض تحليل متعمق من الرياضيات وراء استخدام أول أوردر إير إير تصفية أن أولين لاثروب قد وصفت بالفعل أكثر على معالجة الإشارات الرقمية كومة تبادل يتضمن الكثير من الصور الجميلة المعادلة لهذا فلتر إير هو. هذا يمكن تنفيذها باستخدام الأعداد الصحيحة فقط ولا تقسيم باستخدام التعليمات البرمجية التالية قد تحتاج إلى بعض التصحيح كما أنا كان يكتب من الذاكرة. هذا المرشح يقترب متوسط ​​متحرك من عينات K الأخيرة عن طريق تحديد قيمة ألفا إلى 1 K القيام بذلك في التعليمات البرمجية السابقة عن طريق تحديد بيتس ل LOG2 K، أي لمجموعة K 16 بيتس إلى 4، ل K 4 مجموعة بيتس إلى 2، وما إلى ذلك سوف تحقق من التعليمات البرمجية المدرجة هنا في أقرب وقت وأنا الحصول على تغيير وتعديل هذه الإجابة إذا لزم الأمر. مسألة يونيو 23 12 في 04 04.Here سا واحد القطب منخفض تمرير مرشح المتوسط ​​المتحرك، مع قطع تردد كوتوفريكنسي بسيط جدا، سريع جدا، يعمل كبيرة، وتقريبا لا الذاكرة فوق. ملاحظة جميع المتغيرات لديها نطاق خارج وظيفة مرشح، إلا أن مرت في newInput. Note هذا هو مرشح مرحلة واحدة يمكن أن تتعاقب مراحل متعددة معا لزيادة الحدة المرشح إذا كنت تستخدم أكثر من مرحلة واحدة، سيكون لديك لضبط ديكايفاكتور كما يتعلق قطع التردد لتعويض. وهو واضح كل ما تحتاجه هو هذين الخطين وضعت في أي مكان، فإنها لا تحتاج وظيفة خاصة بهم هذا مرشح لديه وقت التمرير قبل أن يمثل المتوسط ​​المتحرك إشارة الدخل إذا كنت بحاجة إلى تجاوز هذا الوقت المنحدر، يمكنك فقط تهيئة موفينغافيراج إلى القيمة الأولى من نيو إنبوت بدلا من 0، ونأمل أن يكون أولينبوت الأول خارجا. كوتوفريكنسي سامبليرات لديها مجموعة من 0 و 0 5 ديكايفاكتور هو قيمة بين 0 و 1، وعادة ما تكون قريبة من 1.Single الدقة العوامات جيدة بما فيه الكفاية لمعظم الأشياء، وأنا فقط تفضل دوبلز إذا كنت بحاجة إلى التمسك مع الأعداد الصحيحة، يمكنك تحويل عامل ديكايفاكتور والسعة إلى أعداد صحيحة كسرية، حيث يتم تخزين البسط كما عدد صحيح، والمقام هو عدد صحيح من 2 حتى تتمكن من التحول قليلا إلى اليمين كمقام بدلا من الاضطرار إلى تقسيم خلال حلقة تصفية ل على سبيل المثال، إذا ديكايفاكتور 0 99، وتريد استخدام الأعداد الصحيحة، يمكنك تعيين ديكايفاكتور 0 99 65536 64881 ثم في أي وقت تتضاعف من قبل ديكايفاكتور في حلقة تصفية الخاص بك، مجرد تحويل النتيجة 16.For مزيد من المعلومات حول هذا، وهو كتاب ممتاز أن على شبكة الإنترنت، الفصل 19 على الفلاتر المتكررة. PS لالمتوسط ​​المتحرك نموذج، نهجا مختلفا لوضع ديكايفاكتور و أمبليتيودفاكتور التي قد تكون أكثر ملاءمة لاحتياجاتك، دع أقول قلت تريد السابق، حوالي 6 بنود متوسط ​​توغ الأثير، والقيام بذلك ديسرتلي، يمكنك د إضافة 6 بنود وتقسيمها 6، حتى تتمكن من تعيين أمبليتيودفاكتور إلى 1 6، و ديكايفاكتور إلى 1 0 - AmplitudeFactor. resp 14 مايو 12 في 22 55.Everyone آخر قد علقت بدقة على الأداة المساعدة من إير مقابل فير، وعلى السلطة من قسم اثنين أنا فقط أود أن أعطي بعض تفاصيل التنفيذ أدناه يعمل بشكل جيد على ميكروكنترولر صغيرة مع عدم وجود فبو هناك S لا الضرب، وإذا حافظت N قوة اثنين، كل قسم هو دورة واحدة بت-shiftting. Basic العازلة الدائري فير الاحتفاظ العازلة تشغيل القيم N الماضية و سوم قيد التشغيل من كافة القيم في المخزن المؤقت في كل مرة يأتي نموذج جديد في طرح أقدم قيمة في المخزن مؤقت من سوم ، واستبدالها بالعينة الجديدة، وإضافة العينة الجديدة إلى سوم، والإخراج سوم N. Modified إر العازلة حلقة الحفاظ على سوم التوالي من القيم N الماضية في كل مرة تأتي عينة جديدة في، سوم - سوم N، إضافة في الجديد عينة، والمخرجات سوم N. أسئلة وأجوبة 28 أغسطس 13 في 13 45. إذا أنا م قراءة الحق، كنت إعادة وصف الدرجة الأولى إير تصفية القيمة التي تعيد طرحها هي t أقدم قيمة التي تسقط، ولكن بدلا من ذلك متوسط ​​القيم السابقة من الدرجة الأولى مرشحات إير يمكن بالتأكيد أن تكون مفيدة، ولكن أنا لست متأكدا ما تقصد عندما تقترح أن الإخراج هو نفسه بالنسبة لجميع الإشارات الدورية في معدل عينة 10KHZ، تغذية موجة مربع 100HZ في مرشح مربع 20 مرحلة سوف تسفر عن إشارة التي ترتفع بشكل موحد ل 20 عينة، يجلس عالية لمدة 30، قطرات بشكل موحد ل 20 عينة، ويجلس منخفضة ل 30 مرشح من الدرجة الأولى سوبيركات أغسطس 28 13 في 15 31.will تسفر عن موجة التي تبدأ بشكل حاد ارتفاع وتدريجيا مستويات قريبة من ولكن ليس عند المدخلات القصوى، ثم يبدأ بشكل حاد السقوط وتدريجيا مستويات قريبة ولكن ليس عند المدخلات الحد الأدنى سلوك مختلف جدا سوبيركات أغسطس 28 13 في 15 32. قضية واحدة هي أن متوسط ​​متحرك بسيط قد أو قد لا تكون مفيدة مع مرشح إير، يمكنك الحصول على مرشح لطيفة مع كالكس قليلة نسبيا منطقة معلومات الطيران التي تصف يمكن أن تعطيك فقط المستطيل في الوقت المناسب - صادقة في التكرار - ويمكنك إدارة تي الفصوص الجانبية قد يكون من المفيد أن رمي في عدد صحيح يتضاعف عدد قليل لجعله لطيفة الطيف التماثل متماثل إذا كنت يمكن أن تدخر القراد على مدار الساعة سكوت سيدمان 29 أغسطس 13 في 13 50. سكوتسيدمان لا تحتاج إلى مضاعفة إذا كان المرء ببساطة كل مرحلة من مراحل معلومات الطيران إما إخراج متوسط ​​المدخلات لتلك المرحلة وقيمتها المخزنة السابقة، ومن ثم تخزين المدخلات إذا كان واحد لديه النطاق الرقمي، يمكن للمرء أن استخدام المجموع بدلا من المتوسط ​​سواء كان ذلك s أفضل من فلتر مربع يعتمد على التطبيق استجابة الخطوة من مرشح مربع مع تأخير كامل من 1ms، على سبيل المثال، سوف يكون d2 دت ارتفاع سيئة عند تغيير المدخلات، ومرة ​​أخرى 1ms في وقت لاحق، ولكن سيكون الحد الأدنى الممكن د دت لمرشح مع مجموع 1ms تأخير سوبيركات أغسطس 29 13 في 15 25. كما قال ميكيسيلكتريكستوف، إذا كنت حقا بحاجة إلى تقليل احتياجات الذاكرة الخاصة بك، وكنت لا تدع رد فعل الاندفاع الخاص بك هو الأسي بدلا من نبض مستطيلة، وأنا سوف تذهب ل أفي تتحرك أسي فلتر الغضب أنا استخدامها على نطاق واسع مع هذا النوع من التصفية، لا تحتاج إلى أي المخزن المؤقت لا تحتاج إلى تخزين N عينات الماضي واحد فقط لذلك، متطلبات الذاكرة الخاصة بك الحصول على خفض من قبل عامل N. Also، لا تحتاج أي تقسيم لذلك فقط مضاعفات إذا كان لديك الوصول إلى الحساب العائمة نقطة، واستخدام مضاعفات نقطة العائمة خلاف ذلك، لا مضاعفات صحيحة والتحولات إلى اليمين ومع ذلك، نحن في عام 2012، وأود أن أوصي لك استخدام المجمعين و مكوس التي تسمح لك للعمل مع أرقام العائمة. بالإضافة إلى كونها أكثر كفاءة الذاكرة وأسرع كنت لا تحتاج إلى تحديث العناصر في أي العازلة دائرية، وأود أن أقول أنه هو أيضا أكثر طبيعية لأن استجابة النبض الأسي يطابق بشكل أفضل الطريقة التي تتصرف بها الطبيعة، في معظم الحالات .20 أبريل 9 في 9 59.One المسألة مع فلتر إير كما لمست تقريبا من قبل أولين و سوبيركات ولكن تجاهلها على ما يبدو من قبل الآخرين هو أن التقريب أسفل يدخل بعض عدم الدقة وربما التحيز اقتطاع بافتراض أن N ط سا من اثنين، ويتم استخدام الحساب الصحيح فقط، والتحول الحق لا القضاء بشكل منهجي على لسبس من العينة الجديدة وهذا يعني أن كم من الوقت يمكن أن تكون سلسلة من أي وقت مضى، فإن متوسط ​​أبدا أن تأخذ تلك في الاعتبار. على سبيل المثال، لنفترض ببطء تناقص سلسلة 8،8،8 8،7،7،7 7،6،6، وتفترض أن المتوسط ​​هو في الواقع 8 في البداية قبضة 7 عينة سيجلب المتوسط ​​إلى 7، مهما كانت قوة مرشح فقط لعينة واحدة نفسه قصة 6، الخ الآن التفكير في عكس سيري ترتفع سيكون متوسط ​​البقاء على 7 إلى الأبد، حتى العينة كبيرة بما فيه الكفاية لجعله تغيير. بطبيعة الحال، يمكنك تصحيح للتحيز عن طريق إضافة 1 2 N 2، ولكن التي فازت حقا حل مشكلة الدقة في هذه الحالة سوف تنخفض سلسلة البقاء إلى الأبد في 8 حتى العينة 8-1 2 N 2 ل N 4 على سبيل المثال، أي عينة فوق الصفر سوف تبقي على المتوسط ​​دون تغيير. أعتقد أن الحل ل والتي من شأنها أن تنطوي على عقد تراكم من لسب فقدت ولكن أنا لم تجعل من بعيد بما فيه الكفاية ليكون رمز جاهزة، وأنا لست متأكدا من أنه لن يضر الطاقة إير في بعض الحالات الأخرى من سلسلة على سبيل المثال ما إذا كان 7،9،7،9 سوف متوسط ​​إلى 8 ثم. أولين، سوف تتالي مرحلتين أيضا بحاجة إلى بعض التفسير هل يعني عقد اثنين من القيم المتوسطة مع نتيجة الأولى تغذي في الثانية في كل التكرار ما فائدة هذا.

Comments