Talaan ng mga Nilalaman:

Maituturo ang Rate ng Sampling / Aliasing: 8 Hakbang (na may Mga Larawan)
Maituturo ang Rate ng Sampling / Aliasing: 8 Hakbang (na may Mga Larawan)

Video: Maituturo ang Rate ng Sampling / Aliasing: 8 Hakbang (na may Mga Larawan)

Video: Maituturo ang Rate ng Sampling / Aliasing: 8 Hakbang (na may Mga Larawan)
Video: The Controversy Around ABA Therapy (Applied Behavior Analysis) 2024, Nobyembre
Anonim
Maituturo ang Rate ng Sampling / Aliasing
Maituturo ang Rate ng Sampling / Aliasing

Nais kong lumikha ng isang proyektong pang-edukasyon na nagpapakita ng pag-aliasing (at mga sample rate) at inilaan na mailagay sa isang website bilang isang mapagkukunan para sa mga mag-aaral na natututo tungkol sa aliasing.

Hakbang 1: Layout ng Ciruit

Layout ng Ciruit
Layout ng Ciruit
Layout ng Ciruit
Layout ng Ciruit

Arduino

Ang Arduino ay ang base ng circuit; pagsuporta sa servo motor (na may naka-mount na encoder wheel), at ang nakaposisyon na hall effect sensor.

-Encoder wheel: Ang layunin ng encoder wheel ay upang suspindihin ang isang magnet na umiikot sa isang pabilog na landas, na lumilipat sa isang nakaposisyon na sensor ng epekto ng hall.

Pag-setup ng sensor: Ang senor ng epekto ng hall ay inilalagay sa ibaba ng path ng pag-ikot ng magnet, ang layunin nito ay upang subaybayan ang pagpasa ng magnet na may iba't ibang mga bilis ng pag-ikot at mga rate ng koleksyon ng data.

----------------------------------------------------------------------------------------------------------

Mga Sub-Hakbang:

  1. Kumuha ng mga materyales:

    Arduino (+ board board), mga wire, encoder wheel, magnet, sensor ng hall effect, servo motor, application ng Matlab, Arduino application

  2. Gupitin ang gulong ng encoder, i-mount sa servo, itulak sa magnet sa puwang.
  3. Maglakip ng hall effect senor sa ilalim ng landas ng magnet (maaaring kailanganin ang mga extension ng wire ng sensor).
  4. Bumuo ng circuit.

Hakbang 2: Arduino Code

Code ng Arduino
Code ng Arduino

Paraan ng pagkolekta ng data

Ang Arduino code ay gumagamit ng [Line 41] upang mangolekta ng impormasyon, sa pamamagitan ng 'Analog In' A0 port, mula sa sensor ng hall effect

Paraan ng paghahatid ng serial data

  • [Linya 43] Nagpapakita sa serial monitor ng isang variable na 'timer' na nagpapatupad ng function na 'millis ()' upang mapanatili ang isang tumatakbo na timer sa milliseconds sa tagal ng programa.
  • [Line 45] Nagpapakita sa serial monitor ng isang variable na 'hallsensor' na nagpapatupad ng 'analogRead' upang makakuha ng impormasyon mula sa senor ng hall effect habang pinapatakbo ang programa.

Layunin ng parameter ng pagkaantala ()

Ang layunin ng parameter ng pagkaantala () ay upang maiiba ang oras ng pagtugon ng koleksyon ng data na natanggap mula sa sensor ng hall effect

----------------------------------------------------------------------------------------------------------

Mga Sub-Hakbang:

Magpasok ng Arduino code sa Arduino application

Hakbang 3: Matlab Code (HallRT File)

Matlab Code (HallRT File)
Matlab Code (HallRT File)
Matlab Code (HallRT File)
Matlab Code (HallRT File)
Matlab Code (HallRT File)
Matlab Code (HallRT File)
Matlab Code (HallRT File)
Matlab Code (HallRT File)

-Pamamaraan ng resibo ng data - [Larawan 3: Linya 77]

Pagkuha ng data mula sa ArduinoStep

----------------------------------------------------------------------------------------------------------

Mga Sub-Hakbang:

Ang input Matlab code ay nasa itaas ng mga numero, i-save sa HallRT file

Hakbang 4: Matlab Code (thresh_analyze)

Matlab Code (thresh_analyze)
Matlab Code (thresh_analyze)
Matlab Code (thresh_analyze)
Matlab Code (thresh_analyze)

Paraan ng pagbibilang ng mga tuktok [Larawan 2: Mga Linya 45-53]

  • Ang paggamit ng watawat sa Matlab code na ito ay upang ang loop ay madapa sa isang 'aRval' na mas malaki kaysa sa paunang itinakdang bilang ng 'thresh' na tataas ng isa, ang tuktok ay mamarkahan ng isang mga asterisk, at ang if-statement [Line 45-50] ay masisira dahil flag = 1. Ang pangalawang if-statement na may isang flag [Line 51-53] ay nagpapahiwatig na sa sandaling matugunan ang rurok at magsimulang tanggihan ang mga halaga sa paligid ng rurok, pagkatapos ay i-flag = 0 at ang para sa loop ay patuloy na naghahanap ng higit pang mga tuktok.
  • Mga Parameter / Kinakailangan na Halaga:

    • 'aRval': Ang nakolektang data mula sa isang trial run.
    • 'thresh': Isang napiling halaga upang ipahiwatig ang anumang nasa itaas nito sa aRval bilang isang rurok.

----------------------------------------------------------------------------------------------------------

Mga Sub-Hakbang:

Lumikha ng pangalawang Matlab file na "thresh_analyze"

Hakbang 5: Pagsubok 1: Walang Aliasing

Pagsubok 1: Walang Aliasing
Pagsubok 1: Walang Aliasing
Pagsubok 1: Walang Aliasing
Pagsubok 1: Walang Aliasing

Larawan 1: Pagsubok sa Data @ Pag-antala 200Figure 2: Data ng Sinusuri ng Thresh

-Delay Parameter: 200

Peaks:

Bilang = 45

-Bilang ng Mga Rebolusyon bawat minuto:

45 Mga Rebolusyon / Minuto

----------------------------------------------------------------------------------------------------------

Mga Sub-Hakbang:

  1. Ikonekta ang Arduino sa iyong laptop.

    Itakda ang pagkaantala sa Arduino code sa "200". Pindutin ang I-upload (sa kaliwang sulok sa itaas ng application)

  2. Pumunta sa iyong Matlab file na HallRT [Line 37] at palitan ang variable na 'delayTime' sa 200.
  3. Patakbuhin ang programa ng HallRT.
  4. I-save ang Matlab file sa ilalim ng "delay_200". (I-save ang Larawan)
  5. I-load ang file na delay_200.mat.
  6. Patakbuhin ang thresh_analyze program. (I-save ang Larawan)

Hakbang 6: Pagsubok 2: Aliasing of Sensor (i)

Pagsubok 2: Aliasing of Sensor (i)
Pagsubok 2: Aliasing of Sensor (i)
Pagsubok 2: Aliasing of Sensor (i)
Pagsubok 2: Aliasing of Sensor (i)

Larawan 1: Pagsubok sa Data @ Pag-antala 50

Larawan 2: Data ng Sinuri ng Thresh

Delay Parameter: 50-Peaks:

Bilang = 52

Bilang ng Mga Rebolusyon bawat minuto:

52 Mga Rebolusyon / Minuto

----------------------------------------------------------------------------------------------------------

Mga Sub-Hakbang:

  1. Ikonekta ang Arduino sa iyong laptop.

    Itakda ang pagkaantala sa Arduino code sa "50". Pindutin ang I-upload (sa kaliwang sulok sa itaas ng application)

  2. Pumunta sa iyong Matlab file na HallRT [Line 37] at palitan ang variable na 'delayTime' sa 50.
  3. Patakbuhin ang programa ng HallRT.
  4. I-save ang Matlab file sa ilalim ng "delay_50". (I-save ang Larawan)
  5. I-load ang file na delay_50.mat.
  6. Patakbuhin ang thresh_analyze program. (I-save ang Larawan)

Hakbang 7: Pagsubok 3: Aliasing of Sensor (ii)

Pagsubok 3: Aliasing of Sensor (ii)
Pagsubok 3: Aliasing of Sensor (ii)
Pagsubok 3: Aliasing of Sensor (ii)
Pagsubok 3: Aliasing of Sensor (ii)

Larawan 1: Pagsubok sa Data @ Pag-antala sa 100Figure 2: Data ng Sinusuri ng Thresh

Delay Parameter: 100-Peaks:

Bilang = 54

Bilang ng Mga Rebolusyon bawat minuto:

54 Mga Rebolusyon / Minuto

--- ---- ------- Mga Sub-Hakbang:

  1. Ikonekta ang Arduino sa iyong laptop.

    Itakda ang pagkaantala sa Arduino code sa "100". Pindutin ang I-upload (sa kaliwang sulok sa itaas ng application). '

  2. Pumunta sa iyong Matlab file na HallRT [Line 37] at palitan ang variable na 'delayTime' sa 100.
  3. Patakbuhin ang programa ng HallRT.
  4. I-save ang Matlab file sa ilalim ng "delay_100". (I-save ang Larawan)
  5. I-load ang file na delay_100.mat.
  6. Patakbuhin ang thresh_analyze program. (I-save ang Larawan)

Hakbang 8: Pagsubok 4: Aliasing of Sensor (iii)

Pagsubok 4: Aliasing of Sensor (iii)
Pagsubok 4: Aliasing of Sensor (iii)
Pagsubok 4: Aliasing of Sensor (iii)
Pagsubok 4: Aliasing of Sensor (iii)

Larawan 1: Pagsubok sa Data @ Pag-antala 300Figure 2: Data ng Sinusuri ng Thresh

-Delay Parameter: 300

Peaks:

Bilang = 32

Bilang ng Mga Rebolusyon bawat minuto:

32 Mga Rebolusyon / Minuto

---- ---- ------- Mga Sub-Hakbang:

  1. Ikonekta ang Arduino sa iyong laptop.

    Itakda ang pagkaantala sa Arduino code sa "300". Pindutin ang I-upload (sa kaliwang sulok sa itaas ng application)

  2. Pumunta sa iyong Matlab file na HallRT [Line 37] at palitan ang variable na 'delayTime' sa 300.
  3. Patakbuhin ang programa ng HallRT.
  4. I-save ang Matlab file sa ilalim ng "delay_300". (I-save ang Larawan)
  5. I-load ang file na delay_300.mat.
  6. Patakbuhin ang thresh_analyze program. (I-save ang Larawan)

Inirerekumendang: