Mundarija:

Arduino: Chastotani o'zgartirish (DFT): 6 qadam
Arduino: Chastotani o'zgartirish (DFT): 6 qadam

Video: Arduino: Chastotani o'zgartirish (DFT): 6 qadam

Video: Arduino: Chastotani o'zgartirish (DFT): 6 qadam
Video: Arduino UZ.#7 PWM Boshqarish 2024, Noyabr
Anonim
Arduino: Chastotani o'zgartirish (DFT)
Arduino: Chastotani o'zgartirish (DFT)

Bu dastur arduino -dagi chastotali konvertatsiyani hisoblash orqali, parametrlarni nazorat qiladi.

bu FFT emas

FFT - bu DFTni qisqa vaqt ichida hal qilish uchun ishlatiladigan algoritm.

Bu erda FFT kodini topishingiz mumkin.

1 -qadam: Bu qanday ishlaydi (kontseptsiya):

Bu qanday ishlaydi (kontseptsiya)
Bu qanday ishlaydi (kontseptsiya)
Bu qanday ishlaydi (kontseptsiya)
Bu qanday ishlaydi (kontseptsiya)

Chastotani aylantirish uchun berilgan dastur sizga kerakli chiqimlarni boshqarishni ta'minlaydi. Bu dastur ma'lumotlar majmui uchun kirishda foydalanuvchi tomonidan berilgan chastota diapazonini baholaydi.

  • Rasmda f2 va f5 nomli ikkita chastotadan iborat ma'lumotlar to'plami sinovdan o'tkazilishi kerak. f2 va f5 - ikkita chastotali tasodifiy nomlar, nisbatan yuqori chastotalar uchun yuqori raqamlar. bu erda kichik chastota f2 yuqori amplituda va f5 kichik amplitudaga ega.
  • Matematik tarzda ko'rsatish mumkinki, har xil chastotali ikkita harmonik ma'lumotlar to'plamining ko'payishi nolga teng bo'ladi (ma'lumotlar sonining ko'payishi natijaga olib kelishi mumkin). Bizning holatimizda, agar bu ikkita ko'paytirish chastotasi bir xil (yoki juda yaqin) chastotaga ega bo'lsa, ko'paytma yig'indisi nolga teng bo'lmagan raqamdir, bu erda amplitudasi ma'lumotlar amplitudasiga bog'liq.
  • ma'lum bir chastotani aniqlash uchun ma'lumotlar to'plamini turli xil sinov chastotalariga ko'paytirish mumkin va natijada ma'lumotlar shu chastotaning tarkibiy qismini berishi mumkin.

2 -qadam: Bu qanday ishlaydi (kodda):

Qanday ishlaydi (kodda)
Qanday ishlaydi (kodda)
Qanday ishlaydi (kodda)
Qanday ishlaydi (kodda)

berilgan ma'lumotlar uchun (f2+f5) f1 dan f6 gacha birma -bir ko'paytiriladi va yig'indining qiymati yoziladi. bu yakuniy summa shu chastotaning mazmunini ifodalaydi. dam olish (mos kelmaydigan) chastotasi ideal holda nolga teng bo'lishi kerak, lekin bu mumkin emas. yig'indini nol qilish uchun cheksiz hajmdagi ma'lumotlar to'plamiga ega bo'lish talab qilinadi.

  • f1 -f6 -rasmda ko'rsatilgandek, sinov chastotasi va uning har bir nuqtada ma'lumotlar to'plami bilan ko'payishi ko'rsatilgan.
  • Ikkinchi rasmda har bir chastotadagi o'sishning yig'indisi tuziladi. 1 va 5 da ikkita cho'qqini aniqlash mumkin.

tasodifiy ma'lumotlar uchun bir xil yondashuvdan foydalanib, biz juda ko'p chastotalarni baholay olamiz va ma'lumotlarning chastotali tarkibini tahlil qila olamiz.

3 -qadam: Chastotani tahlil qilish uchun koddan foydalanish:

Chastotani tahlil qilish uchun koddan foydalanish
Chastotani tahlil qilish uchun koddan foydalanish

Masalan, kvadrat to'lqinning DFTini topish uchun ushbu koddan foydalanishga ruxsat bering.

ko'rsatilgandek, pastadirdan keyin birinchi biriktirilgan kodni (dft funktsiyasi) joylashtiring

Aniqlash kerak bo'lgan 8 ta shart

  1. dft olinishi kerak bo'lgan qator
  2. qator hajmi
  3. milliSECONDS qatorda 2 o'qish orasidagi vaqt oralig'i
  4. chastotalar diapazonining pastroq qiymati
  5. Gts chastotalar diapazonining yuqori qiymati
  6. chastota diapazoni uchun qadamlar o'lchami
  7. signalning takrorlanishi (minimal 1) yuqori aniqlikdagi aniqlik, lekin hal qilish vaqtining ko'payishi
  8. oyna funktsiyasi:

    0 oyna uchun1 tekis tepalik uchun 2, deraza oynasi uchun 3-hann oynasi uchun 2

(agar siz oynani tanlash haqida hech qanday tasavvurga ega bo'lmasangiz, sukut saqlang 3)

misol: dft (a, 8, 0.5, 0, 30, 0.5, 10, 3); bu erda a - 8 o'lchovli elementlar massivi 0 Gts dan 30 Gts gacha 0,5 qadamli (0, 0,5, 1, 1,5,…, 29, 29,5, 30) 10 ta takrorlash va hamming oynasi bilan tekshiriladi.

bu erda arduino ishlay oladigan kattaroq massivdan foydalanish mumkin.

4 -qadam: Chiqish:

Chiqish
Chiqish
Chiqish
Chiqish

sharh bersangiz

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

ketma -ket plotter koddan chastota spektrining tabiatini beradi, aks holda Serial monitor uning amplitudasi bilan chastotani beradi.

5 -qadam: Har xil oyna va namuna o'lchamlarini tekshirish:

Har xil oynalar va namuna o'lchamlarini tekshirish
Har xil oynalar va namuna o'lchamlarini tekshirish

rasmda sinus to'lqin chastotasi turli xil sozlamalar yordamida o'lchanadi.

6 -qadam: Misol:

Misol
Misol

SciLab va arduino yordamida ma'lumotlarning konvertatsiyasi rasmda taqqoslanadi.

Tavsiya: