فهرست مطالب:

آردوینو: تبدیل فرکانس (DFT): 6 مرحله
آردوینو: تبدیل فرکانس (DFT): 6 مرحله

تصویری: آردوینو: تبدیل فرکانس (DFT): 6 مرحله

تصویری: آردوینو: تبدیل فرکانس (DFT): 6 مرحله
تصویری: 21 DFT 2024, نوامبر
Anonim
Arduino: Frequency Transform (DFT)
Arduino: Frequency Transform (DFT)

این برنامه برای محاسبه تبدیل فرکانس در آردوینو با کنترل خمیر بر روی پارامترها است. با استفاده از تبدیل چهارم هتک حرمت حل می شود.

این FFT نیست

FFT الگوریتمی است که برای حل DFT با زمان کمتر استفاده می شود.

کد FFT را در هیچ جا نمی توانید پیدا کنید.

مرحله 1: نحوه کار (مفهوم):

چگونه کار می کند (مفهوم)
چگونه کار می کند (مفهوم)
چگونه کار می کند (مفهوم)
چگونه کار می کند (مفهوم)

برنامه داده شده برای تبدیل فرکانس کنترل بسیار خوبی بر خروجی مورد نیاز شما فراهم می کند. این برنامه محدوده فرکانس داده شده توسط کاربر را در ورودی داده شده برای مجموعه داده ارزیابی می کند.

  • در شکل یک مجموعه داده از دو فرکانس به نام های f2 و f5 ارائه شده است که باید آزمایش شوند. f2 و f5 نامهای تصادفی برای دو فرکانس ، تعداد بیشتر برای فرکانس نسبتاً بالاتر است. در اینجا فرکانس کوچکتر f2 دامنه بیشتر و f5 دامنه کوچکتر دارد.
  • از نظر ریاضی می توان نشان داد که -جمع ضرب دو مجموعه داده هارمونیک با فرکانس متفاوت به صفر می رسد (تعداد بیشتر داده ها می تواند منجر به نتیجه خمیر شود). در مورد ما اگر این دو فرکانس ضرب دارای فرکانس یکسان (یا بسیار نزدیک) باشند ، مجموع ضرب عددی غیر صفر است که دامنه به دامنه داده بستگی دارد.
  • برای تشخیص فرکانس خاص داده های داده شده را می توان در فرکانس های مختلف آزمایش ضرب کرد و نتیجه می تواند جزء آن فرکانس را در داده ها ایجاد کند.

مرحله 2: نحوه کار (در کد):

نحوه کار (در کد)
نحوه کار (در کد)
نحوه کار (در کد)
نحوه کار (در کد)

برای داده های داده شده (f2+f5) یک به یک f1 تا f6 ضرب می شود و مقدار مجموع یادداشت می شود. مجموع نهایی نشان دهنده محتوای آن فرکانس است. استراحت (عدم تطابق) فرکانس باید در حالت ایده آل صفر باشد اما در حالت واقعی امکان پذیر نیست. برای بدست آوردن مجموع صفر لازم است اندازه بی نهایت مجموعه داده ها وجود داشته باشد.

  • همانطور که در شکل f1 تا f6 فرکانس آزمایش نشان داده شده است و ضرب آن با مجموعه داده در هر نقطه نشان داده شده است.
  • در شکل دوم جمع آن ضرب در هر فرکانس رسم شده است. دو قله در 1 و 5 قابل تشخیص است.

بنابراین با استفاده از رویکرد یکسان برای یک داده تصادفی ، می توانیم تعداد فراوانی فراوانی را ارزیابی کرده و محتوای فراوانی داده ها را تجزیه و تحلیل کنیم.

مرحله 3: استفاده از کد برای تجزیه و تحلیل فرکانس:

استفاده از کد برای تجزیه و تحلیل فرکانس
استفاده از کد برای تجزیه و تحلیل فرکانس

برای مثال اجازه دهید از این کد برای پیدا کردن DFT موج مربعی استفاده کنیم.

ابتدا کد پیوست شده (عملکرد dft) را بعد از حلقه مانند تصویر نشان دهید

8 اصطلاح که باید مشخص شود

  1. آرایه ای از آن dft باید گرفته شود
  2. اندازه یک آرایه
  3. فاصله زمانی بین 2 قرائت در آرایه بر حسب میلی ثانیه
  4. مقدار کمتر محدوده فرکانس در هرتز
  5. مقدار بالای محدوده فرکانس در هرتز
  6. اندازه مراحل برای محدوده فرکانس
  7. تکرار سیگنال (حداقل 1) دقت خمیر عدد بیشتر اما افزایش زمان حل
  8. عملکرد پنجره:

    0 برای پنجره 1 برای پنجره تخت 2 برای hann window 3 برای پنجره چکش

(اگر هیچ ایده ای در مورد انتخاب پنجره ندارید ، پیش فرض 3 را نگه دارید)

مثال: dft (a، 8، 0.5، 0، 30، 0.5، 10، 3)؛ در اینجا a آرایه ای از عنصر اندازه 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 مقایسه شده است.

توصیه شده: