Thursday, 11 January 2018

دائري عازلة الحركة من المتوسط


دليل العلماء والمهندسين لمعالجة الإشارات الرقمية من قبل ستيفن W. سميث، دكتوراه في الطب. الفصل 28: معالجات الإشارات الرقمية تم تصميم معالجات الإشارات الرقمية لتنفيذ مرشحات فير وتقنيات مماثلة بسرعة. لفهم الأجهزة. يجب علينا أولا فهم الخوارزميات. سنقدم في هذا القسم قائمة تفصيلية بالخطوات اللازمة لتنفيذ فلتر معلومات الطيران. في القسم التالي سوف نرى كيف تم تصميم دسبس لتنفيذ هذه الخطوات بأكبر قدر ممكن من الكفاءة. للبدء، نحن بحاجة إلى التمييز بين المعالجة خارج الخط والتجهيز في الوقت الحقيقي. في المعالجة خارج الخط، تقع إشارة الإدخال بالكامل في الكمبيوتر في نفس الوقت. على سبيل المثال، قد يستخدم عالم الجيوفيزيائي مقياس الزلازل لتسجيل الحركة الأرضية أثناء الزلزال. بعد هزة قد انتهت، ويمكن قراءة المعلومات إلى جهاز كمبيوتر وتحليلها بطريقة أو بأخرى. مثال آخر على المعالجة خارج الخط هو التصوير الطبي، مثل التصوير المقطعي والتصوير بالرنين المغناطيسي. يتم الحصول على مجموعة البيانات في حين أن المريض داخل الجهاز، ولكن قد يتأخر إعادة بناء الصورة حتى وقت لاحق. النقطة الرئيسية هي أن جميع المعلومات متوفرة في وقت واحد لبرنامج المعالجة. هذا أمر شائع في البحث العلمي والهندسة، ولكن ليس في المنتجات الاستهلاكية. معالجة خارج الخط هو مجال الحواسيب الشخصية والأطر الرئيسية. وفي المعالجة في الوقت الحقيقي، تنتج إشارة الخرج في نفس الوقت الذي يتم فيه الحصول على إشارة الدخل. على سبيل المثال، وهذا مطلوب في الاتصالات الهاتفية، السمع، والرادار. ويجب أن تتوفر لهذه التطبيقات المعلومات المتاحة فورا، على الرغم من أنه يمكن تأجيلها بمقدار قصير. فعلى سبيل المثال، لا يمكن للمتكلم أو المستمع الكشف عن تأخير لمدة 10 ميلي ثانية في مكالمة هاتفية. وبالمثل، فإنه لا فرق إذا تأخر إشارة الرادار قبل بضع ثوان قبل عرضها على المشغل. تطبيقات في الوقت الحقيقي إدخال عينة، أداء الخوارزمية، وإخراج عينة، الإفراط في وأكثر من ذلك. بدلا من ذلك، فإنها قد إدخال مجموعة من العينات، تنفيذ الخوارزمية، وإخراج مجموعة من العينات. هذا هو العالم من معالجات الإشارات الرقمية. الآن ننظر إلى الوراء في الشكل 28-2 ونتخيل أن هذا هو مرشح فير يجري تنفيذها في الوقت الحقيقي. لحساب عينة الإخراج، يجب أن يكون لدينا الوصول إلى عدد معين من العينات الأخيرة من المدخلات. على سبيل المثال، لنفترض أننا نستخدم ثماني معاملات في هذا الفلتر، 0. 1. هيليب a 7. وهذا يعني أننا يجب أن نعرف قيمة العينات الثماني الأخيرة من إشارة الدخل، x n، x n -1، هيليب x n -7. يجب تخزين هذه العينات الثماني في الذاكرة وتحديثها باستمرار مع الحصول على عينات جديدة. ما هي أفضل طريقة لإدارة هذه العينات المخزنة الجواب هو التخزين المؤقت الدائري. الشكل 28-3 يوضح ثمانية عينة عازلة دائرية. لقد وضعنا هذا المخزن المؤقت الدائري في ثمانية مواقع ذاكرة متتالية، 20041 إلى 20048. ويبين الشكل (أ) كيف يمكن تخزين العينات الثماني من المدخلات في لحظة معينة معينة في الوقت المناسب، في حين أن (ب) يظهر التغييرات بعد العينة التالية هي المكتسبة. فكرة التخزين المؤقت الدائري هو أن نهاية هذه المصفوفة الخطية متصلة بموقع الذاكرة بداية 20041 ينظر إليها على أنها بجوار 20048، تماما كما 20044 بجوار 20045. يمكنك تتبع الصفيف من قبل مؤشر (متغير الذي القيمة هي عنوان) يشير إلى المكان الذي توجد فيه أحدث عينة. على سبيل المثال، في (أ) يحتوي المؤشر على العنوان 20044، بينما في (ب) أنه يحتوي على 20045. عند الحصول على عينة جديدة، فإنه يحل محل أقدم عينة في المصفوفة، ويتم نقل المؤشر عنوان واحد في وقت لاحق. وتكون المحاليل الدائرية فعالة لأن قيمة واحدة لا بد من تغييرها عند الحصول على عينة جديدة. هناك حاجة إلى أربعة معلمات لإدارة المخزن المؤقت الدائري. أولا، يجب أن يكون هناك مؤشر يشير إلى بداية المخزن المؤقت الدائري في الذاكرة (في هذا المثال، 20041). ثانيا، يجب أن يكون هناك مؤشر يشير إلى نهاية المصفوفة (على سبيل المثال، 20048)، أو متغير يحمل طوله (على سبيل المثال 8). ثالثا، يجب تحديد حجم خطوة معالجة الذاكرة. في الشكل 28-3 حجم الخطوة هو واحد. على سبيل المثال: عنوان 20043 يحتوي على عينة واحدة، وعنوان 20044 يحتوي على العينة التالية، وهلم جرا. وهذا ليس هو الحال في كثير من الأحيان. على سبيل المثال، قد يشير العنوان إلى وحدات البايت، وقد تتطلب كل عينة اثنين أو أربعة بايت للاحتفاظ بقيمتها. في هذه الحالات، يجب أن يكون حجم الخطوة اثنين أو أربعة، على التوالي. تحدد هذه القيم الثلاث حجم وتكوين المخزن المؤقت الدائري، ولن تتغير أثناء تشغيل البرنامج. يجب تعديل القيمة الرابعة، المؤشر إلى أحدث عينة، حيث يتم الحصول على كل عينة جديدة. وبعبارة أخرى، يجب أن يكون هناك منطق برنامج يتحكم في كيفية تحديث هذه القيمة الرابعة استنادا إلى قيمة القيم الثلاث الأولى. في حين أن هذا المنطق بسيط جدا، فإنه يجب أن يكون سريع جدا. هذه هي النقطة الكاملة من هذه المناقشة يجب أن يكون الأمثل دسبس في إدارة مخازن دائرية لتحقيق أعلى سرعة التنفيذ الممكنة. كما جانبا، التخزين المؤقت دائري مفيد أيضا في المعالجة خارج الخط. النظر في برنامج حيث يتم تضمين كل من المدخلات وإشارات الإخراج تماما في الذاكرة. لا حاجة التخزين المؤقت التعميم لحساب التلازم، لأن كل عينة يمكن الوصول إليها على الفور. ومع ذلك، يتم تنفيذ العديد من الخوارزميات على مراحل. مع إنشاء إشارة وسيطة بين كل مرحلة. على سبيل المثال، مرشح التكرار الذي يجري على شكل سلسلة من بيكوادس تعمل بهذه الطريقة. طريقة القوة الغاشمة هي لتخزين كامل طول كل إشارة وسيطة في الذاكرة. يوفر التخزين المؤقت التعميم خيار آخر: تخزين فقط تلك العينات المتوسطة اللازمة للحساب في متناول اليد. وهذا يقلل من الكمية المطلوبة من الذاكرة، على حساب خوارزمية أكثر تعقيدا. والفكرة الهامة هي أن مخازن دائرية مفيدة للتجهيز خارج الخط، ولكن حاسمة للتطبيقات في الوقت الحقيقي. ويمكننا الآن أن ننظر إلى الخطوات اللازمة لتنفيذ مرشاح معلومات الطيران باستخدام مخزونات دائرية لكل من إشارة الدخل والمعاملات. قد تبدو هذه القائمة تافهة و أوفيركساميند-ليس لها كفاءة التعامل مع هذه المهام الفردية هو ما يفصل دسب من المعالج الدقيق التقليدي. لكل عينة جديدة، يجب اتخاذ الخطوات التالية: الهدف هو تنفيذ هذه الخطوات بسرعة. وبما أن الخطوات 6-12 سوف تتكرر عدة مرات (مرة واحدة لكل معامل في المرشح)، يجب إيلاء اهتمام خاص لهذه العمليات. المعالجات التقليدية يجب أن تنفذ عموما هذه الخطوات 14 في المسلسل (واحدا تلو الآخر)، في حين تم تصميم دسب لأداءها في موازاة ذلك. في بعض الحالات، جميع العمليات داخل الحلقة (الخطوات 6-12) يمكن أن تكتمل في دورة ساعة واحدة. دعونا ننظر إلى العمارة الداخلية التي تسمح لهذا الأداء الرائع. أنا لا تملك فكرة حول مخازن دائرية من حيث اللغة C في سياق المهمة الخاصة بك: بوفركوت كوتسيركولار هو صفيف. يمكنك البدء في وضع الأشياء في عنصر صفر وزيادة الفهرس للوصول المقبل. عندما يصبح المؤشر أكبر من أكبر قيمة مسموح بها (أي: الوصول التالي سوف يتجاوز نهاية المصفوفة) فقط قم بتعيين الفهرس مرة أخرى إلى الصفر. وهذا يعني أنه، بعد المخزن المؤقت الكامل (البرنامج قد كتب شيئا في كل عنصر من مجموعة) مزيد من الوصول سوف الكتابة فوق القيمة السابقة في كل عنوان. هذا له تأثير استبدال أقدم قيمة بأحدث قيمة في كل مرة، ومتوسط ​​كل عناصر الصفيف يستخدم دائما القيم النموذجية الأخيرة. على سبيل المثال لعازل دائري من إنتتس: بالطبع، أنت لا تحتاج في الواقع إلى متغير منفصل اسمه ماكسيندكس، ولكن أنا مكتوبة عليه للتركيز. (وهذا هو: ببساطة مقارنة تارينثينكس مع بوفرزيزي-1.) المشاركة الأصلية كتبت بواسطة تيلثاتمات سؤال سريع، هل هناك أي وظيفة مخصصة للسماح لي أن تأخذ متوسط ​​مصفوفة أو سوف تضطر إلى التعليمات البرمجية عن طريق إضافة جميع العناصر معا أمبير ثم تقسيم . ودعا لها حلقة. (ليست وظيفة، ولكن هناك العديد من يبني التحكم في إنشاء حلقات.) إذا كنت تعرف أنك سوف تفعل شيئا بالضبط ن مرات، ثم حلقة يمكن أن تبدو مثل هذا: لنفترض أن لديك صفيف، س، من عشرة أرقام الدقة المزدوجة وتريد أن تجد مجموع قيمها (وهذا هو: تريد مجموع x0 x1 x2 x9). ثم يمكنك أن تفعل ذلك مثل هذا: المشاركة الأصلية بواسطة تيلثاتمات واتس أفضل طريقة لقراءة الأعداد الصحيحة من الملف في هذه الحالة نحن هافنت حتى الآن غطت هذا في الصف أمب كتابي لا يفسر ذلك بشكل جيد للغاية على الإطلاق. أعتقد أن لها علاقة مع فجيتسك () وظيفة ولكن أنا لست متأكدا. ما تبقى من برنامجي يعمل بشكل جيد، أنا فقط لا أعرف كيفية قراءة الأعداد الصحيحة من ملف تكست إذا كان الملف النصي يحتوي على أعداد صحيحة ثم فسكانف () هو على الارجح أسهل طريقة وأنه، في رأيي، أنسب. (ولكن هناك طرق أخرى.) عند استخدام فسكانف ()، كنت تعطيه عنوان (ق) من أي متغير (ق) كنت تقرأ في. قيمة عودة فسكانف هي عدد العناصر التي تم تحويلها بنجاح. يجب دائما (دائما) اختبار قيمة الإرجاع. على سبيل المثال إذا كنت ترغب في قراءة القيمة إلى قيمة واحدة: هذا هو مجرد اختبار لإظهار ما حاول أن يشرح. فسكانف () ستفشل (بمعنى أن قيمته ستكون صفرا) إذا كان غير قادر على تحويل الاشياء إلى إنت --- الذي هو واجه شار ليس مسافة بيضاء وليس رقما عشريا من 0 إلى 9. كما أنه فشل إذا كان يحاول قراءة الماضي نهاية الملف. إذا كنت ترغب في قراءة قيمة إلى عنصر صفيف، ثم مجرد إعطاء سكانف عنوان العنصر. إذا كنت ترغب في قراءة محتويات الملفات بأكملها إلى مجموعة صحيحة تستخدم كمخزن مؤقت دائري: إشارة عازلة دائرية فلوغرافس الصنابير استغلالها خط تأخير السيارات الانحدارية تتحرك يتم وضع الكلمات الذاكرة الثلاث في منطقة منظمة كمخزن مؤقت دائري. يتم كتابة المدخلات إلى الكلمة التي أشار إليها المؤشر والقراءة الثلاث القيم السابقة للمدخلات مع القيم الثلاث السابقة للمؤشر. في كل لحظة عينة، يتم زيادة المؤشرات الأربعة من قبل واحد، مع خدعة من البداية من الموقع 0 كلما تجاوزنا طول M من المخزن المؤقت (وهذا يضمن التعميم من المخزن المؤقت). يشير السهم عكس اتجاه عقارب الساعة إلى الاتجاه الذي اتخذته الفهارس، في حين يشير السهم في اتجاه عقارب الساعة إلى الحركة التي يجب القيام به من قبل البيانات إذا كانت الفهارس ستبقى في وضع ثابت. في التين. 13 نستخدم المثلثات الصغيرة للإشارة إلى مضاعفات معاملات الفلتر. هذا هو تدوين تستخدم عادة ل مضاعفات داخل فلوغرافس إشارة التي تمثل المرشحات الرقمية. والواقع أن مرشاح معلومات الطيران يحتوي على خط تأخير لأنه يخزن N عينات متعاقبة من تتابع المدخلات ويستخدم كل منها مع تأخير عينات N على الأكثر. وتسمى النقاط التي تسمى العازلة دائرية تسمى الصنابير ويسمى الهيكل كله خط تأخير استغلالها. وبصورة عامة، يتم تمثيل مرشاح إير للسببية بمعادلة فرق حيث يتم الحصول على إشارة خرج في لحظة معينة كخلط خطي من عينات إشارات الدخل والإخراج في مثيلات الوقت السابقة. وعلاوة على ذلك، عادة ما يتم تضمين الاعتماد الفوري للناتج على المدخلات في مرشح إير. المعادلة الفرق التي تمثل مرشح إير هو إق. (24) يسمى أيضا المتوسط ​​المتحرك المتحرك الانحداري (أرما). في حين أن الاستجابة النبضية لمرشحات فير لها تمديد زمني محدود، فإن الاستجابة النبضية للمرشحات إير، بشكل عام، امتداد لامتناهي. ويتم الحصول على دالة النقل بتطبيق تحويل Z على التتابع (24). وبفضل نظرية التحول، فإن التحويل Z هو مجرد تبديل تشغيلي لكل ترجمة بواسطة عينات m مع مضاعفة بواسطة z والنتيجة هي الدالة المنطقية H (z) التي تتعلق بتحويل Z للإخراج إلى التحويل Z المدخلات: يتم تعريف ترتيب التصفية على أنه درجة تعدد الحدود في z أبسط مرشح إير في هذا القسم نقوم بتحليل خصائص أبسط مرشح إير غير تافهة التي يمكن تصورها: مرشح القطب الواحد وجود معاملات إيم تنفيذ 80-72 -64-48 متعدد تمرير مرشح المتوسط ​​المتحرك لنظام مضمن في C وفي نقطة ثابتة. التنفيذ هو العازلة دائرية حيث إم حفظ مجموع التوالي وحساب ين ين-1 شن - شن-M حيث M هو طول مرشح. ويتم ذلك لكل مرشح فرعي مع الإخراج من خدمة واحدة كمدخل لآخر. إم التحجيم معاملات بلدي بنسبة 2 الذي يعطيني معاملات طول 2 أو 2 اعتمادا على طول مرشح. ثم يتم تحجيم النتيجة مرة أخرى بنسبة 2 للحصول على الناتج الصحيح. الآن، كل شيء يبدو جيدا على جداول زمنية قصيرة ولكن على مدى فترات طويلة أحصل على الانجراف. السبب في تنفيذ العودية هو حفظ الحسابات على معالج جزءا لا يتجزأ. لقد قمت بتضمين صورة لبعض من المرشحات الداخلية للمرشح الخاص بي، وهذا هو عندما يتم تطبيق استجابة خطوة ويمكننا أن نرى وظائف نقل المرشحات تأخذ الشكل، مربع، مثلث، ثم تقريب غاوس حتى عامل التصفية يعمل كما هو متوقع. هل هناك أي طريقة لإصلاح هذا، وأين هو المصدر الأكثر احتمالا لهذا. هو هذا الانجراف بسبب قليلا تضيع في التحول أو أي شيء آخر. الانجراف غير موجود في دس المدخلات، ولكن لإشارات أس ينحرف ببطء. الحل: كانت المشكلة في تراكم كما اقترح روبرت في التعليقات. وكانت المسألة أن عنصر واحد من الحساب قد ذهب من خلال زيادة صعودا وهبوطا مقارنة مع بقية، والتي خلقت تعويض الجولة التي تراكمت. طلب أبريل 27 15 في 21:12 هو بك المتراكم ين يجري تقريب أو كميا في أي طريقة يجب أن تتأكد من أن شن-M التي تطرح هو بالضبط نفس القيمة التي شن التي تمت إضافتها قبل M عينات. لذلك كنت تريد حقا أن تفعل مبلغا متحركا. بدلا من المتوسط ​​المتحرك، وقم بتوسيع حجم الناتج الخاص بك (مع 1M) لتحصل على المتوسط. وهذا يمكن القيام به تماما وحتى أفضل القيام به في نقطة ثابتة بدلا من العائمة نقطة. نادش روبرت بريستو-جونسون أبريل 27 15 في 22:52 كوتسكالينغ ذي كوفيسيانتسكوت أفترض أنك تقسيم بواسطة M بعد كل مرحلة وهذا هو المعامل الذي قمت بتوسيع هذا هو على الأرجح سبب الإزاحة. أفضل ثم لتقسيم من قبل مي برود في نهاية جميع المرشحات. تحتاج إلى تتبع من السعة الداخلية على الرغم من أنك سوف تتجاوز في نهاية المطاف المراكم. ومع ذلك، يتم حل هذا بسهولة من خلال الحساب مودولو (من الذي يكمل اثنين والثلاثين هو حالة خاصة). نداش أوسكار أبريل 28 15 في 7:00 أوسكار، وهذا هو مرشح نقطة ثابتة. معنى أنا فقط تفعل الحساب الصحيح. وبالنسبة للمتوسط ​​المتحرك لطول غ 1 بكسب 1، تكون ثوابت الفلتر جزءا لا يمكن تمثيله في الأعداد الصحيحة. لذلك يتم تحجيم المعاملات لجعلها الأعداد الصحيحة عن طريق تحويل اليسار لهم x الكثير من البتات. وبسبب هذا الإخراج النهائي لابد من أن تتحول وكذلك إلى اليمين من قبل العديد من bits. I لا يمكن أن تبقي مجموع التوالي من خلال جميع المرشحات 4 دون استعادة الإخراج بينهما، وإشارة الدخل هو 16 بت ومع معامل التحجيم وأطوال يستخدم مرشح واحد مساحة تراكمي بالكامل من 32 بت نداش user70614 أبر 28 15 في 8:20

No comments:

Post a Comment