Мазмуну:

Arduino: Frequency Transform (DFT): 6 кадам
Arduino: Frequency Transform (DFT): 6 кадам

Video: Arduino: Frequency Transform (DFT): 6 кадам

Video: Arduino: Frequency Transform (DFT): 6 кадам
Video: Phone a Friend | Team 6 | 2021 UC Physics Hackathon 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 ханн терезеси 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 кайталоо жана хамминг терезеси

бул жерде чоңураак массивди arduino иштете алганча колдонсо болот.

4 -кадам: Чыгуу:

Чыгуу
Чыгуу
Чыгуу
Чыгуу

комментарий калтырсаңыз

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

коддон сериялык плоттер жыштык спектринин табиятын берет, эгер болбосо сериялык монитор анын амплитудасы менен жыштыкты бермек.

5 -кадам: Ар кандай терезелерди жана үлгүлөрдү текшерүү:

Ар кандай терезелерди жана үлгүлөрдү текшерүү
Ар кандай терезелерди жана үлгүлөрдү текшерүү

сүрөттө, синус толкунунун жыштыгы ар кандай параметрди колдонуу менен өлчөнөт.

6 -кадам: Мисалы:

Мисал
Мисал

SciLab жана arduino аркылуу берилиштердин фигурада трансформациясы салыштырылат.

Сунушталууда: