Daftar Isi:

Arduino: Transformasi Frekuensi (DFT): 6 Langkah
Arduino: Transformasi Frekuensi (DFT): 6 Langkah

Video: Arduino: Transformasi Frekuensi (DFT): 6 Langkah

Video: Arduino: Transformasi Frekuensi (DFT): 6 Langkah
Video: Discrete Fourier Transform (DFT) 2024, Juli
Anonim
Arduino: Transformasi Frekuensi (DFT)
Arduino: Transformasi Frekuensi (DFT)

program ini adalah untuk menghitung transformasi frekuensi pada arduino dengan kontrol adonan atas parameter. diselesaikan dengan menggunakan transformasi empatior menodai.

ini bukan FFT

FFT merupakan algoritma yang digunakan untuk menyelesaikan DFT dengan waktu yang lebih singkat.

Kode untuk FFT dapat ditemukan di sini.

Langkah 1: Cara Kerja (konsep):

Cara Kerja (konsep)
Cara Kerja (konsep)
Cara Kerja (konsep)
Cara Kerja (konsep)

Program yang diberikan untuk transformasi frekuensi memberikan kontrol besar atas output yang Anda butuhkan. program ini mengevaluasi rentang frekuensi yang diberikan oleh pengguna pada input yang diberikan untuk kumpulan data.

  • Pada gambar set data yang terbuat dari dua frekuensi bernama f2 dan f5 diberikan yang perlu diuji. f2 dan f5 adalah nama acak untuk dua frekuensi, angka yang lebih tinggi untuk frekuensi yang relatif lebih tinggi. di sini frekuensi yang lebih kecil f2 memiliki amplitudo yang lebih tinggi dan f5 memiliki amplitudo yang lebih kecil.
  • Secara matematis dapat ditunjukkan bahwa -penjumlahan perkalian dua himpunan data harmonik yang frekuensinya berbeda cenderung nol (jumlah data yang lebih banyak dapat menghasilkan hasil adonan). Dalam kasus kami Jika dua frekuensi perkalian ini memiliki frekuensi yang sama (atau sangat dekat) jumlah perkaliannya adalah bilangan bukan nol di mana amplitudo bergantung pada amplitudo data.
  • untuk mendeteksi frekuensi tertentu yang diberikan kumpulan data dapat dikalikan dengan berbagai frekuensi pengujian dan hasilnya dapat memberikan komponen frekuensi tersebut dalam data.

Langkah 2: Cara Kerjanya (dalam Kode):

Cara Kerjanya (dalam Kode)
Cara Kerjanya (dalam Kode)
Cara Kerjanya (dalam Kode)
Cara Kerjanya (dalam Kode)

untuk itu data yang diberikan (f2+f5) satu persatu f1 sampai f6 dikalikan dan nilai penjumlahannya dicatat. bahwa jumlah akhir merupakan isi dari frekuensi itu. istirahat (non-pencocokan) frekuensi idealnya nol tetapi tidak mungkin dalam kasus nyata. untuk membuat jumlah nol itu diperlukan untuk memiliki ukuran tak terbatas dari kumpulan data.

  • seperti yang dapat ditunjukkan pada gambar f1 sampai f6 frekuensi percobaan dan perkaliannya dengan kumpulan data di setiap titik ditampilkan.
  • dalam penjumlahan angka kedua dari perkalian itu pada setiap frekuensi diplot. dua puncak pada 1 dan 5 dapat diidentifikasi.

jadi dengan menggunakan pendekatan yang sama untuk data acak, kita dapat mengevaluasi begitu banyak frekuensi dan menganalisis konten frekuensi data.

Langkah 3: Menggunakan Kode untuk Analisis Frekuensi:

Menggunakan Kode untuk Analisis Frekuensi
Menggunakan Kode untuk Analisis Frekuensi

sebagai contoh mari kita gunakan kode ini untuk menemukan DFT gelombang persegi.

tempel pertama kode terlampir (fungsi dft) setelah loop seperti yang ditunjukkan gambar

8 ISTILAH YANG PERLU DIJELASKAN

  1. array yang dftnya perlu diambil
  2. ukuran array
  3. interval waktu antara 2 pembacaan dalam array dalam miliSECONDS
  4. nilai rentang frekuensi yang lebih rendah dalam Hz
  5. nilai atas rentang frekuensi dalam Hz
  6. ukuran langkah untuk rentang frekuensi
  7. pengulangan sinyal (minimal 1) akurasi adonan angka yang lebih tinggi tetapi meningkatkan waktu solusi
  8. fungsi jendela:

    0 untuk tanpa jendela1 untuk jendela atas datar 2 untuk jendela hann 3 untuk jendela hamming

(jika Anda tidak tahu tentang memilih jendela tetap default 3)

contoh: dft(a, 8, 0.5, 0, 30, 0.5, 10, 3); di sini a adalah array elemen ukuran 8 yang akan diperiksa untuk 0 Hz hingga 30 Hz dengan 0,5 langkah (0, 0,5, 1, 1,5, …, 29, 29,5, 30) 10 pengulangan dan jendela hamming

di sini dimungkinkan untuk menggunakan array berukuran lebih besar sebanyak yang dapat ditangani arduino.

Langkah 4: Keluaran:

Keluaran
Keluaran
Keluaran
Keluaran

jika Anda berkomentar

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

dari kode serial plotter akan memberikan sifat spektrum frekuensi dan jika tidak Serial monitor akan memberikan frekuensi dengan amplitudonya.

Langkah 5: Memeriksa Berbagai Ukuran Jendela dan Sampel:

Memeriksa Berbagai Ukuran Jendela dan Sampel
Memeriksa Berbagai Ukuran Jendela dan Sampel

pada gambar, frekuensi gelombang sinus diukur menggunakan pengaturan yang berbeda.

Langkah 6: Contoh:

Contoh
Contoh

dalam gambar transformasi data menggunakan SciLab dan arduino dibandingkan.

Direkomendasikan: