نظرة أكثر قربا في خوارزمية متوسط التحريك كوداس المتقدم تنقلب المتوسط المتحرك المتعدد في خوارزمية كوداس المتقدمة شكل الموجي الضوضاء، مقتطفات يعني، ويزيل الانجراف خط الأساس. المتوسط المتحرك هو تقنية رياضية بسيطة تستخدم في المقام الأول للقضاء على الانحرافات وكشف الاتجاه الحقيقي في مجموعة من نقاط البيانات. قد تكون على دراية بها من متوسط البيانات صاخبة في تجربة الفيزياء طالبة، أو من تتبع قيمة الاستثمار. قد لا تعرف أن المتوسط المتحرك هو أيضا نموذج أولي لمرشح الاستجابة النبضية المحدود، وهو النوع الأكثر شيوعا من الفلتر المستخدم في أجهزة الكمبيوتر. وفي الحالات التي يكون فيها شكل موجة معين مشوشا بالضوضاء، حيث يلزم استخلاص متوسط من إشارة دورية، أو عندما يكون هناك حاجة إلى إزالة خط الأساس المتدفق ببطء من إشارة تردد أعلى، يمكن تطبيق مرشاح متوسط متحرك لتحقيق المرغوبة نتيجة. تقدم خوارزمية المتوسط المتحرك ل كوداس المتقدمة هذا النوع من أداء الترشيح الموجي. كوداس المتقدم هو حزمة برامج التحليل التي تعمل على ملفات البيانات الموجي الموجودة التي أنشأتها الجيل الأول وينداق أو الجيل الثاني حزم الحصول على البيانات وينداق. بالإضافة إلى خوارزمية المتوسط المتحرك، يتضمن كوداس المتقدم أيضا أداة توليد التقارير البرمجية والبرمجيات لتكامل الموجي، والتمايز، الذروة والوادي التقاط، والتصحيح، والعمليات الحسابية. نظرية معدل التصفية المتحركة توفر داتا إنسترومنتس خوارزمية المتوسط المتحرك قدرا كبيرا من المرونة في تطبيقات تصفية الموجات. ويمكن استخدامه كمرشاح تمرير منخفض لتخفيف الضوضاء الكامنة في العديد من أنواع أشكال الموجات، أو كمرشاح تمريرة عالية للقضاء على خط أساس الانجراف من إشارة تردد أعلى. الإجراء الذي تستخدمه الخوارزمية لتحديد كمية الترشيح ينطوي على استخدام عامل التمهيد. ويمكن زيادة أو تقليل عامل التمهيد هذا، الذي تسيطر عليه أنت من خلال البرنامج، لتحديد عدد نقاط بيانات الموجة الفعلية أو العينات التي سيتراوح متوسطها المتحرك. ويمكن اعتبار أي شكل موجة دوري على شكل سلسلة طويلة أو مجموعة من نقاط البيانات. وتنجز الخوارزمية متوسطا متحركا من خلال أخذ نقطتين أو أكثر من نقاط البيانات هذه من الموجة المكتسبة، وإضافتها، وتقسيم مجموعها عن طريق العدد الإجمالي لنقاط البيانات المضافة، والاستعاضة عن نقطة البيانات الأولى من الموجة بالمتوسط المحسوب فقط، وتكرار الخطوات مع نقاط البيانات الثانية والثالثة، وهلم جرا حتى يتم الوصول إلى نهاية البيانات. والنتيجة هي شكل موجة ثان أو مولد يتألف من بيانات متوسطية ولها نفس عدد النقاط مثل الموجة الأصلية. الشكل 1 8212 يمكن اعتبار أي شكل موجة دوري بمثابة سلسلة طويلة أو مجموعة من نقاط البيانات. في الرسم التوضيحي أعلاه، يتم تمثيل نقاط بيانات الموجة المتتالية بواسطة كوتكوت لتوضيح كيفية حساب المتوسط المتحرك. في هذه الحالة، تم تطبيق عامل تمهيد من ثلاثة، مما يعني ثلاث نقاط بيانات متتالية من الموجي الأصلي تضاف، ومجموعها مقسوما على ثلاثة، ومن ثم يتم رسم هذا الحاصل كنقطة البيانات الأولى من الموجي ولدت. وتكرر العملية مع نقاط البيانات الثانية والثالثة وما إلى ذلك من الموجي الأصلي حتى يتم التوصل إلى نهاية البيانات. تقنية كوتيفاثيرينغكوت خاصة متوسطات ونهاية نقاط البيانات من شكل موجة الأصلي للتأكد من أن الموجي ولدت تحتوي على نفس العدد من نقاط البيانات كما الأصلي. ويوضح الشكل 1 كيفية تطبيق خوارزمية المتوسط المتحرك على نقاط بيانات الموجة (التي تمثلها y). ويشتمل الرسم التوضيحي على عامل تمهيد قدره 3، وهو ما يعني أن متوسط القيمة (الذي يمثله أ) سيحسب على 3 قيم بيانات متتالية من شكل الموجة. لاحظ التداخل الموجود في حسابات المتوسط المتحرك. ومن هذه التقنية المتداخلة، جنبا إلى جنب مع بداية خاصة ونهاية نقطة العلاج الذي يولد نفس العدد من نقاط البيانات في الموجي المتوسط كما كان موجودا في الأصل. الطريقة التي تحسب الخوارزمية المتوسط المتحرك تستحق نظرة فاحصة ويمكن توضيحها مع مثال. قل أننا كنا على نظام غذائي لمدة أسبوعين ونريد أن نحسب متوسط وزننا على مدى 7 أيام الماضية. سنجمع وزننا في اليوم السابع مع وزننا في الأيام 8 و 9 و 10 و 11 و 12 و 13 ثم تتضاعف بحلول 17. لإضفاء الطابع الرسمي على العملية، يمكن التعبير عن ذلك على النحو التالي: (7) 17 (y) 7) y (8) y (9) y (13)) يمكن زيادة تعميم هذه المعادلة. ويمكن حساب المتوسط المتحرك لشكل الموجة من خلال: حيث: متوسط قيمة النقطة n لنمو نقطة بيانات نقطة البيانات الفعلية y الشكل 2 8212 الشكل الموجي لخلايا الحمل المبين الأصلي وغير المرشح في القناة العليا وبوصفه 11 نقطة تتحرك شكل الموجة المتوسطة في القناة السفلى. كانت الضوضاء التي تظهر على شكل الموجة الأصلي بسبب الاهتزازات الشديدة التي تم إنشاؤها بواسطة الصحافة أثناء عملية التعبئة والتغليف. مفتاح هذه المرونة الخوارزميات هو مجموعة واسعة من عوامل التمهيد للاختيار (من 2 - 1،000). ويحدد عامل التمهيد عدد نقاط البيانات الفعلية أو العينات التي سيتم حساب متوسطها. تحديد أي عامل تمهيد إيجابي يحاكي مرشح تمريرة منخفضة في حين أن تحديد عامل تمهيد سلبي يحاكي مرشح تمريرة عالية. وبالنظر إلى القيمة المطلقة لعامل التجانس، فإن القيم الأعلى تطبق قيودا أكبر على التمهيد على الموجة الناتجة والعكس بالعكس، وتطبق القيم الأدنى على تمهيد أقل. وباستخدام عامل التمهيد الصحيح، يمكن أيضا استخدام الخوارزمية لاستخراج القيمة المتوسطة لموجة موجية دورية معينة. ويطبق عادة عامل تمهيد إيجابي أعلى لتوليد قيم متوسط الموجة. تطبيق خوارزمية المتوسط المتحرك تتمثل السمة البارزة لخوارزمية المتوسط المتحرك في أنه يمكن تطبيقه عدة مرات على نفس الموجة إذا لزم الأمر للحصول على نتيجة الترشيح المطلوبة. تصفية الموجي هو ممارسة ذاتية جدا. قد يكون شكل الموجة الذي تمت تصفيته بشكل صحيح لمستخدم واحد غير صاخب بشكل غير مقبول. يمكنك فقط الحكم على ما إذا كان عدد النقاط التي تم تحديدها في المتوسط كان مرتفعا جدا أو منخفضا جدا أم مجرد حق. المرونة من خوارزمية يسمح لك لضبط عامل تمهيد وجعل مرور آخر من خلال خوارزمية عندما لا يتحقق نتائج مرضية مع المحاولة الأولية. يمكن توضيح تطبيق وقدرات خوارزمية المتوسط المتحرك بشكل أفضل من خلال الأمثلة التالية. الشكل 3 8212 الشكل الموجي لمخطط كهربية القلب المبين الأصلي وغير المرشح في القناة العليا وفي شكل موجة يبلغ متوسطها 97 نقطة في القناة السفلى. لاحظ غياب الانحراف الأساسي في القناة السفلى. ويظهر الشكلان الموجيان في حالة مضغوطة لأغراض العرض. تطبيق تخفيض الضوضاء في الحالات التي يكون فيها شكل موجة معين مشوشا بالضوضاء، يمكن تطبيق مرشاح المتوسط المتحرك لقمع الضوضاء وإعطاء صورة أوضح لشكل الموجة. على سبيل المثال، كان عميل كوداس المتقدم يستخدم الصحافة وخلايا تحميل في عملية التعبئة والتغليف. وكان من المقرر ضغط منتجها على مستوى محدد سلفا (يتم مراقبته بواسطة خلية الحمل) لتقليل حجم العبوة المطلوبة لاحتواء المنتج. لأسباب تتعلق بالجودة، قرروا مراقبة العملية الصحفية مع الأجهزة. ظهرت مشكلة غير متوقعة عندما بدأت في عرض في الوقت الحقيقي إخراج خلية الحمل. منذ آلة الصحافة اهتزت بشكل كبير أثناء التشغيل، وخلايا الحمل الناتج الموجي كان من الصعب تمييز لأنه يحتوي على كمية كبيرة من الضوضاء بسبب الاهتزاز كما هو مبين في القناة العليا من الشكل 2. وقد تم التخلص من هذا الضجيج من خلال توليد قناة متوسطة الحركة من 11 نقطة كما هو مبين في القناة السفلى من الشكل 2. وكانت النتيجة صورة أكثر وضوحا من إخراج خلايا الحمل. تطبيق في القضاء على الانجراف في خط الأساس في الحالات التي يلزم فيها إزالة خط الأساس المتدفق ببطء من إشارة تردد أعلى، يمكن تطبيق المرشح المتوسط المتحرك لإزالة خط الأساس المتجول. على سبيل المثال، شكل الموجة تخطيط القلب عادة ما يعرض بعض درجة من الجول الأساسي كما يمكن أن يرى في القناة العليا من الشكل 3. ويمكن إزالة هذا الانحراف الأساسي دون تغيير أو إزعاج خصائص الموجة كما هو مبين في القناة السفلى للشكل 3. ويتحقق ذلك بتطبيق عامل تمهيد سلبي مناسب أثناء حساب المتوسط المتحرك. ويحدد عامل التمهيد المناسب بقسمة فترة موجة واحدة (بالثواني) على الفاصل الزمني لعينة القنوات. الفاصل الزمني عينة القنوات هو ببساطة متبادلة من معدل عينة القنوات ويتم عرضها بشكل مريح على قائمة الأداة المساعدة المتوسط المتحرك. يتم تحديد فترة الموجي بسهولة من شاشة العرض عن طريق وضع المؤشر في نقطة مريحة على الموجي، ووضع علامة الوقت، ومن ثم تحريك المؤشر دورة كاملة واحدة بعيدا عن علامة الوقت المعروضة. فارق التوقيت بين المؤشر ومؤشر الوقت هو فترة شكل موجة واحدة ويتم عرضه في الجزء السفلي من الشاشة بالثواني. في مثال تخطيط القلب لدينا، كان الموجي يمتلك فاصل زمني للقناة من 0. 004 ثانية (تم الحصول عليها من قائمة الأداة المساعدة المتوسط المتحرك) وتم قياس فترة شكل موجة واحدة على امتداد .388 ثانية. تقسيم فترة الموجي من خلال الفاصل الزمني عينة القنوات أعطانا عامل تمهيد من 97. وبما أن الانجراف خط الأساس أننا مهتمون بالقضاء، طبقنا عامل تمهيد سلبي (-97) إلى خوارزمية المتوسط المتحرك. وهذا يطرح في الواقع النتيجة المتوسطة المتحررة من إشارة الموجة الأصلية، مما أدى إلى إزالة الانحراف الأساسي دون إزعاج معلومات الموجة. مشاكل معدل نقل الموجة الأخرى أيا كان التطبيق، فإن السبب العام لتطبيق مرشح متوسط متحرك هو كوتسموث تخطي الانحرافات العالية والمنخفضة وكشف قيمة تمثيلية وسيطة أكثر تمثيلا. عند القيام بذلك، يجب أن البرنامج لا المساس الميزات الأخرى من الموجي الأصلي في عملية توليد الموجي المتوسط المتحرك. على سبيل المثال، يجب أن يقوم البرنامج تلقائيا بضبط معلومات المعايرة المصاحبة لملف البيانات الأصلي، بحيث يكون شكل الموجة المتحرك المتوسط في الوحدات الهندسية المناسبة عند توليده. وقد اتخذت جميع القراءات في الأرقام باستخدام البرمجيات وينداق اقتناء البيانات كما ذكر آخرون، يجب عليك النظر في إير (استجابة الاندفاع لانهائي) مرشح بدلا من فير (استجابة النبض استجابة) فلتر كنت تستخدم الآن. هناك أكثر من ذلك، ولكن للوهلة الأولى يتم تنفيذ مرشحات فير كتحويلات واضحة ومرشحات إير مع المعادلات. مرشح إير معين يمكنني استخدام الكثير في ميكروكنترولر هو مرشح واحد مرشح تمرير منخفض. هذا هو المعادل الرقمي لمرشح التناظرية 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 ثم). أولين، سلسلة من مرحلتين أيضا سوف تحتاج إلى بعض التفسير. هل تعني عقد قيمتين متوسطتين نتيجة أول تغذية في الثانية في كل تكرار. ما فائدة هذا إم لا ستيمن من الحل الصحيح على الرغم من أن جمع متوسط كل عينة من شأنه أن يعرض كمية لا بأس بها من خطأ التقريب. هم. وأتساءل عما إذا كان فصل جزء كسري من الجزء كله سيساعد. تقسيم الجزء كله من كل عدد من قبل العد. الحفاظ على ثلاثة مبالغ تشغيل: 1) متوسط الأجزاء كلها، 2) ما تبقى من كل قسم، و 3) جزء كسري من كل رقم. في كل مرة يتم تقسيم الجزء كله من عدد، يتم إضافة النتيجة جزء كله إلى متوسط مجموع الجري ويتم إضافة الباقي إلى الباقي تشغيل مجموع. عندما يحصل المبلغ الباقي قيد التشغيل على قيمة أكبر من أو يساوي العدد، مقسوما على العد مع النتيجة الكاملة للجزء الذي تمت إضافته إلى متوسط المبلغ الجاري والباقي يضاف إلى المبلغ المتبقي قيد التشغيل. أيضا، في كل عملية حسابية، يتم إضافة جزء كسري إلى مجموع الجري. عند الانتهاء من المتوسط، يتم تقسيم المبلغ المتبقي قيد التشغيل على العد ويتم إضافة النتيجة إلى متوسط الجري الإجمالي كعدد عائم. على سبيل المثال: الآن ما يجب القيام به مع مجموع الجري. خطر الفائض هو أقل احتمالا هنا، على الرغم من أنه لا يزال ممكنا، لذلك طريقة واحدة للتعامل معها سيكون لتقسيم مجموع الجزئي الجري من قبل العد في النهاية وإضافته إلى نتيجة لدينا: والبديل سيكون للتحقق من كسور الجري المبلغ في كل حساب لمعرفة ما إذا كان أكبر من أو يساوي العد. عندما يحدث ذلك، فقط تفعل نفس الشيء الذي نقوم به مع المبلغ المتبقي قيد التشغيل. ممتاز جوميت فاغيلا 6-مار-07 21:00 أنا أحب ما قلته وظائف صغيرة تتحول بسرعة إلى وظائف كبيرة. التفكير في التحسين بينما الترميز هو ممارسة جيدة. جهد كبير وشرح، شكرا مايك ديرنزو 5-مار-07 16:26 هذه هي المرة الأولى التي استجبت واحدة من مقالاتك. ومع ذلك، أنا القارئ متعطشا جدا. بينما كان في الكلية، وكان لي لحساب المتوسطات المتحركة المرجحة والبسيطة منها أيضا. هيك، حتى كان لي لإنشاء بعض بلدي خوارزميات المتوسط المتحرك في تنفيذ تخطيط موارد المؤسسات المخصصة منذ بعض الوقت على أساس بعض الصيغ نفسها تعلمت في العمليات 101. ولكن هذا التنفيذ، وذلك باستخدام الجينيكس، يفوق بكثير أي شيء من حيث التحسين، والبساطة، والبارن حق باردة. شكرا جزيلا لهذا. واحد من العديد من المشجعين، في الهدوء والصمت، والحقيقة واضحة. إوما غوبغوب 5-مار-07 5:30 إذا حاولت حساب متوسط متحرك بسيط، لديك للحفاظ على مجموعة، وهو أمر معقد جدا لمثل هذه المهمة البسيطة. ماذا عن استخدام إوما في 2 خطوط من التعليمات البرمجية، أكثر من ذلك بكثير بسيطة. ري: إوما مارك كليفتون 5-مار-07 5:47 ماذا عن استخدام إوما فكرة مثيرة للاهتمام. بالنسبة للقراء الذين لا يعرفون ما هي إوما، وهو المتوسط المتحرك أسي المرجح. والناس مستحيلون تماما. --DavidCrow تيريز لا عذر لعدم التعليق على التعليمات البرمجية الخاصة بك. - جون سيمونز خارج القانون مبرمج الناس الذين يقولون انهم سوف ريفاكتور التعليمات البرمجية في وقت لاحق لجعلها جيدة لا نفهم إعادة بيعها، ولا الفن والحرفية من البرمجة. - جوش سميث ري: إوما بواسر 5-مار-07 13:21 تقدير للمتوسط المتحرك إذا كان حجم الحاوية للمتوسط المتحرك n يمكن الحصول عليه من خلال: نيوافيراج ((n-1) أولدافيراج) نيوفالو) n ذيس يعمل مرة واحدة بن الكامل (عينة رقم ن). وغالبا ما يتم التعامل مع الحاوية الكاملة جزئيا باستخدام قيمة البذور للمتوسط المتحرك الأولي (أولدافيراج) ومن ثم استخدام هذا الحساب. هذا يفترض التوزيع الطبيعي للقيم الخ. كنت مشغولا كولن انجوس ماكاي 4-مار-07 12:37 نشر مقالتين هذا المساء. العمل العظيم أنا لا أعرف كيف تفعل ذلك. إيف حصلت على حوالي 4 أو 5 مقالات نصف الانتهاء وأنا فقط لا يبدو أن تجد الوقت لاستكمالها. حسنا. ربما لو بقيت خارج صالة إد إدارتها. ري: يوفي كان مشغولا مارك كليفتون 4-مار-07 14:25 كتب كولين انجوس ماكاي: نشر مقالتين هذا المساء. عمل عظيم شكرا كنت في الواقع كتابة المقال على متوسط التشغيل وأدركت أن القائمة الدائرية ستكون في الواقع مادة جيدة حقا بذاتها. بالإضافة إلى ذلك، فهي مقالات خفيفة الوزن. أستطيع أن كرنك بها بسرعة كبيرة. من الصعب فقط أن نفكر في الاشياء مفيدة ولكنها بسيطة. تبين أنني في حاجة إلى هاتين الفئتين على أي حال. والناس مستحيلون تماما. --DavidCrow تيريز لا عذر لعدم التعليق على التعليمات البرمجية الخاصة بك. - جون سيمونز خارج القانون مبرمج الناس الذين يقولون انهم سوف ريفاكتور التعليمات البرمجية في وقت لاحق لجعلها جيدة لا نفهم إعادة بيعها، ولا الفن والحرفية من البرمجة. - جوش سميث ري: يوفي كان مشغولا جيفكلارك 8-مار-07 1:07 من ما قرأت من مارك، وربما لديه برنامج يمكن أن تفحص قطعة من التعليمات البرمجية وشرح التفاصيل المعقدة، ثم نشره مباشرة إلى مشروع كود . كولومبوس، أوهايو آخر زيارة: 31-ديك-99 19:00 آخر تحديث: 25-جان-17 12:14 أخبار عامة اقتراح سؤال علة الإجابة نكتة الثناء رانت المشرف استخدام كترلفتريت للتبديل الرسائل، كترلوبدون لتحويل المواضيع، كترلشيفتليفتريت للتبديل الصفحات.
No comments:
Post a Comment