Агуулгын хүснэгт:

Arduino: Давтамжийн хувиргалт (DFT): 6 алхам
Arduino: Давтамжийн хувиргалт (DFT): 6 алхам

Видео: Arduino: Давтамжийн хувиргалт (DFT): 6 алхам

Видео: Arduino: Давтамжийн хувиргалт (DFT): 6 алхам
Видео: Самодельная схема высокочастотного усилителя высокой мощности с использованием NE555 2024, Арваннэгдүгээр
Anonim
Arduino: Давтамжийн хувиргалт (DFT)
Arduino: Давтамжийн хувиргалт (DFT)

Энэ програм нь arduino дээрх давтамжийн хувиргалтыг тооцоолоход зориулагдсан бөгөөд параметрүүдийг хянах боломжтой.

энэ бол 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. миллиSECONDS дахь массив дахь 2 уншилтын хоорондох хугацааны интервал
  4. давтамжийн хүрээний бага утга Гц
  5. давтамжийн хязгаарын дээд утга
  6. давтамжийн мужид хийх алхамуудын хэмжээ
  7. дохионы давталт (хамгийн багадаа 1) илүү өндөр тооны зуурмагийн нарийвчлал, гэхдээ шийдвэрлэх хугацаа нэмэгдсэн
  8. цонхны функц:

    Цонхгүй 0

(хэрэв та цонхыг сонгох талаар ямар ч ойлголтгүй бол анхдагчаар хадгална уу 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 давталт, цоолох цонхоор шалгах элемент юм.

Энд arduino -ийн ажиллах чадвартай том массивыг ашиглах боломжтой.

Алхам 4: Гаралт:

Гаралт
Гаралт
Гаралт
Гаралт

Хэрэв та саналаа хэлвэл

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

Цуваа плоттер кодоос давтамжийн спектрийн мөн чанарыг өгөх болно, хэрэв үгүй бол сериал монитор нь түүний далайцтай давтамж өгөх болно.

Алхам 5: Янз бүрийн цонх, дээжийн хэмжээг шалгах:

Төрөл бүрийн цонх, дээжийн хэмжээг шалгаж байна
Төрөл бүрийн цонх, дээжийн хэмжээг шалгаж байна

Зураг дээр синус долгионы давтамжийг өөр өөр тохиргоог ашиглан хэмждэг.

Алхам 6: Жишээ:

Жишээ
Жишээ

SciLab болон arduino ашиглан өгөгдлийн хувиргалтыг харьцуулсан болно.

Зөвлөмж болгож буй: