جدول المحتويات:

اردوينو: تحويل التردد (DFT): 6 خطوات
اردوينو: تحويل التردد (DFT): 6 خطوات

فيديو: اردوينو: تحويل التردد (DFT): 6 خطوات

فيديو: اردوينو: تحويل التردد (DFT): 6 خطوات
فيديو: أعلى مستوى وصلتوا في البرمجة 2024, يوليو
Anonim
اردوينو: تحويل التردد (DFT)
اردوينو: تحويل التردد (DFT)

هذا البرنامج هو حساب تحويل التردد على اردوينو مع التحكم في الخليط على المعلمات. يتم حلها باستخدام تحويل التدنيس الفوري.

هذا ليس FFT

FFT هي خوارزمية تستخدم لحل DFT بوقت أقل.

يمكن العثور على رمز FFT هنا.

الخطوة 1: كيف يعمل (المفهوم):

كيف يعمل (المفهوم)
كيف يعمل (المفهوم)
كيف يعمل (المفهوم)
كيف يعمل (المفهوم)

يوفر البرنامج المعطى لتحويل التردد تحكمًا كبيرًا في الإخراج الذي تطلبه. يقوم هذا البرنامج بتقييم مدى التردد الذي قدمه المستخدم عند إدخال معين لمجموعة البيانات.

  • في الشكل ، مجموعة بيانات مكونة من ترددين يُدعى f2 و f5 يلزم اختبارهما. f2 و f5 هما اسمان عشوائيان لترددين ، ورقم أعلى لتردد أعلى نسبيًا. هنا التردد الأصغر f2 له سعة أكبر و f5 له سعة أصغر.
  • يمكن أن يُظهر رياضياً أن - مجموع ضرب مجموعتين من البيانات التوافقية لهما تردد مختلف يميل إلى الصفر (يمكن أن يؤدي العدد الأكبر من البيانات إلى نتيجة الخفقان). في حالتنا ، إذا كان تردد الضربين لهما نفس التردد (أو قريب جدًا) ، فإن مجموع الضرب يكون عددًا غير صفري حيث تعتمد السعة على سعة البيانات.
  • لاكتشاف تردد معين ، يمكن ضرب مجموعة بيانات معينة بترددات اختبار مختلفة ويمكن أن تعطي النتيجة مكونًا لذلك التردد في البيانات.

الخطوة 2: كيف يعمل (في الكود):

كيف يعمل (في الكود)
كيف يعمل (في الكود)
كيف يعمل (في الكود)
كيف يعمل (في الكود)

بالنسبة لتلك البيانات المعطاة (f2 + f5) واحدًا تلو الآخر ، يتم ضرب f1 إلى f6 ويتم تدوين قيمة المجموع. يمثل هذا المجموع النهائي محتوى ذلك التردد. ينبغي أن تكون بقية التردد (عدم المطابقة) صفراً بشكل مثالي ، لكن هذا غير ممكن في الحالة الحقيقية. للحصول على مجموع صفر ، يجب أن يكون لديك حجم لانهائي من مجموعات البيانات.

  • كما هو مبين في الشكل f1 إلى f6 ، يتم عرض تردد التجربة ومضاعفته مع مجموعة البيانات في كل نقطة.
  • في الشكل الثاني ، يتم رسم جمع هذا الضرب عند كل تردد. يمكن تحديد قمتين في 1 و 5.

لذلك باستخدام نفس النهج لبيانات عشوائية يمكننا تقييم العديد من الترددات وتحليل محتوى تردد البيانات.

الخطوة الثالثة: استخدام الكود لتحليل التردد:

استخدام الكود لتحليل التردد
استخدام الكود لتحليل التردد

على سبيل المثال ، يتيح استخدام هذا الرمز للعثور على DFT للموجة المربعة.

قم أولاً بلصق الكود المرفق (وظيفة dft) بعد الحلقة كما هو موضح في الصورة

8 شروط يجب تحديدها

  1. مجموعة من التي dft يجب أن تؤخذ
  2. حجم المصفوفة
  3. الفاصل الزمني بين قراءتين في المصفوفة بالملي ثانية
  4. انخفاض قيمة نطاق التردد في هرتز
  5. القيمة العليا لنطاق التردد بالهرتز
  6. حجم الخطوات لنطاق التردد
  7. تكرار إشارة (الحد الأدنى 1) دقة أعلى في الخليط مع زيادة وقت الحل
  8. وظيفة النافذة:

    0 للنافذة 1 للنافذة المسطحة 2 لنافذة هان 3 لشباك النافذة

(إذا لم يكن لديك أي فكرة عن اختيار النافذة ، فاحفظ الإعداد الافتراضي 3)

مثال: dft (a، 8، 0.5، 0، 30، 0.5، 10، 3) ؛ هنا مجموعة من عناصر الحجم 8 ليتم التحقق منها من 0 هرتز إلى 30 هرتز مع 0.5 خطوة (0 ، 0.5 ، 1 ، 1.5 ، … ، 29 ، 29.5 ، 30) 10 نافذة تكرار وطرق

هنا من الممكن استخدام مصفوفة أكبر حجمًا بقدر ما يستطيع اردوينو التعامل معه.

الخطوة 4: الإخراج:

انتاج
انتاج
انتاج
انتاج

إذا قمت بالتعليق

Serial.print (f) ؛ Serial.print ("\ t") ؛

من الراسم التسلسلي للشفرة سيعطي طبيعة الطيف الترددي ، إن لم يكن جهاز العرض التسلسلي سيعطي التردد مع اتساعها.

الخطوة 5: التحقق من النوافذ وأحجام العينات المختلفة:

التحقق من النوافذ وأحجام العينات المختلفة
التحقق من النوافذ وأحجام العينات المختلفة

في الشكل ، يتم قياس تردد الموجة الجيبية باستخدام إعدادات مختلفة.

الخطوة 6: مثال:

مثال
مثال

في الشكل تحويل البيانات باستخدام SciLab و arduino مقارنة.

موصى به: