Mündəricat:

Nümunə götürmə dərəcəsi/Aliasing öyrədilə bilər: 8 addım (şəkillərlə)
Nümunə götürmə dərəcəsi/Aliasing öyrədilə bilər: 8 addım (şəkillərlə)

Video: Nümunə götürmə dərəcəsi/Aliasing öyrədilə bilər: 8 addım (şəkillərlə)

Video: Nümunə götürmə dərəcəsi/Aliasing öyrədilə bilər: 8 addım (şəkillərlə)
Video: How Sensors & Analog To Digital Converters (ADC) Are Digitizing The World 2024, Noyabr
Anonim
Nümunə götürmə dərəcəsi/Aliasing təlimatlandırılır
Nümunə götürmə dərəcəsi/Aliasing təlimatlandırılır

Aliasiyanı (və nümunə nisbətlərini) nümayiş etdirən və aliasiyanı öyrənən tələbələr üçün bir qaynaq olaraq bir veb saytında yerləşdirilməsi nəzərdə tutulan bir təhsil layihəsi yaratmaq istəyirəm.

Addım 1: Ciruit Layout

Ciruit Layout
Ciruit Layout
Ciruit Layout
Ciruit Layout

Arduino

Arduino dövrənin əsasını təşkil edir; servo motoru (quraşdırılmış enkoder təkəri ilə) və yerləşdirilmiş hol effekti sensorunu dəstəkləyir.

-Encoder təkəri: Enkoder təkərinin məqsədi, dairəvi bir yolda dönən bir maqnitin yerləşdiyi bir salon effekti sensoru üzərində dayanaraq dayandırılmasıdır.

-Sensor quruluşu: Salon effekti senatoru maqnitin fırlanma yolunun altına yerləşdirilir, məqsədi müxtəlif fırlanma sürətləri və məlumat toplama dərəcələri ilə maqnitin keçməsini izləməkdir.

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

Alt addımlar:

  1. Materialları əldə edin:

    Arduino (+ çörək taxtası), tellər, kodlayıcı təkər, maqnit, hall effekti sensoru, servo motor, Matlab tətbiqi, Arduino tətbiqi

  2. Enkoder çarxını kəsin, servoya quraşdırın, maqniti yuvaya itələyin.
  3. Maqnit yolunun altına zal effekti senorunu əlavə edin (sensorun tel uzatmaları tələb oluna bilər).
  4. Dövrə qurun.

Addım 2: Arduino Kodu

Arduino kodu
Arduino kodu

Məlumat toplama üsulu

Arduino kodu, 'Analog In' A0 portu vasitəsilə, salon effekt sensöründən məlumat toplamaq üçün [Line 41] istifadə edir

Məlumatların ardıcıl ötürülməsi üsulu

  • [Satır 43] Seriya monitorunda işləyən bir taymeri proqram boyu millisaniyələrdə saxlamaq üçün 'millis ()' funksiyasını yerinə yetirən dəyişən 'timer' göstərir.
  • [Satır 45] Serial monitorda, proqram işləyərkən salon effekti senorundan məlumat əldə etmək üçün 'analogRead' tətbiq edən dəyişən 'hallsensor' göstərilir.

Gecikmə () parametrinin məqsədi

Gecikmə () parametrinin məqsədi, salon effekti sensöründən alınan məlumatların toplanma müddətini dəyişməkdir

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

Alt addımlar:

Arduino tətbiqinə Arduino kodunu daxil edin

Addım 3: Matlab Kodu (HallRT Fayl)

Matlab Kodu (HallRT Fayl)
Matlab Kodu (HallRT Fayl)
Matlab Kodu (HallRT Fayl)
Matlab Kodu (HallRT Fayl)
Matlab Kodu (HallRT Fayl)
Matlab Kodu (HallRT Fayl)
Matlab Kodu (HallRT Fayl)
Matlab Kodu (HallRT Fayl)

- Məlumat əldə etmə üsulu - [Şəkil 3: Satır 77]

ArduinoStep -dən məlumat əldə etmək

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

Alt addımlar:

Giriş Matlab kodu rəqəmlərin üstündədir, HallRT faylında saxlayın

Addım 4: Matlab Kodu (thresh_analyze)

Matlab Kodu (thresh_analyze)
Matlab Kodu (thresh_analyze)
Matlab Kodu (thresh_analyze)
Matlab Kodu (thresh_analyze)

Zirvələri sayma üsulu [Şəkil 2: 45-53-cü sətirlər]

  • Bu Matlab kodunda bayrağın istifadəsi belədir ki, for loopu əvvəlcədən təyin edilmiş 'thresh' dəyər sayından daha böyük olan 'aRval' a töküldükdə bir dəfə artacaq, pik bir ulduzla işarələnəcək və if-ifadəsi [45-50-ci sətir] bayraq = 1 səbəbiylə qırılacaq. Bayraqlı ikinci if-ifadəsi [Satır 51-53] zirvəyə çatdıqda və dəyərlərin pik ətrafında azalmağa başladığını göstərir. = 0 və for loop daha çox zirvələr axtarmağa davam edir.
  • Parametrlər/Lazımi Dəyərlər:

    • 'aRval': Bir sınaqdan toplanan məlumatlar.
    • 'thresh': aRval -da yuxarıda olan hər şeyi pik olaraq göstərmək üçün seçilmiş dəyər.

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

Alt addımlar:

"Thresh_analyze" ikinci bir Matlab faylı yaradın

Addım 5: Sınaq 1: Aliasing yoxdur

Sınaq 1: Aliasing yoxdur
Sınaq 1: Aliasing yoxdur
Sınaq 1: Aliasing yoxdur
Sınaq 1: Aliasing yoxdur

Şəkil 1: Məlumatların Sınanması @ Gecikmə 200 Şəkil 2: Təhlil Edilən Məlumat

-Gecikmə Parametrləri: 200

Zirvələr:

Say = 45

-Dəqiqədə inqilab sayı:

45 İnqilab/Dəqiqə

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

Alt addımlar:

  1. Arduinonu dizüstü kompüterinizə qoşun.

    Arduino kodundakı gecikməni "200" olaraq təyin edin. Yükləmə düyməsini basın (tətbiqin sol üst küncündə)

  2. Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 200 olaraq dəyişdirin.
  3. HallRT proqramını işə salın.
  4. Matlab faylını "delay_200" altında saxlayın. (Şəkli Saxla)
  5. Delay_200.mat faylını yükləyin.
  6. Thresh_analyze proqramını işə salın. (Şəkli Saxla)

Addım 6: 2 -ci sınaq: Sensorun kənarlaşdırılması (i)

2 -ci sınaq: Sensorun kənarlaşdırılması (i)
2 -ci sınaq: Sensorun kənarlaşdırılması (i)
2 -ci sınaq: Sensorun kənarlaşdırılması (i)
2 -ci sınaq: Sensorun kənarlaşdırılması (i)

Şəkil 1: Data Denemesi @ Gecikmə 50

Şəkil 2: Təhlil Edilən Məlumatları Artırın

Gecikmə Parametrləri: 50-Zirvələr:

Say = 52

Dəqiqədə inqilab sayı:

52 İnqilab/Dəqiqə

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

Alt addımlar:

  1. Arduinonu dizüstü kompüterinizə qoşun.

    Arduino kodundakı gecikməni "50" olaraq təyin edin. Yükləmə düyməsini basın (tətbiqin sol üst küncündə)

  2. Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 50 olaraq dəyişdirin.
  3. HallRT proqramını işə salın.
  4. Matlab faylını "delay_50" altında saxlayın. (Şəkli Saxla)
  5. Delay_50.mat faylını yükləyin.
  6. Thresh_analyze proqramını işə salın. (Şəkli Saxla)

Addım 7: 3 -cü sınaq: Sensorun kənarlaşdırılması (ii)

3 -cü sınaq: Sensorun kənarlaşdırılması (ii)
3 -cü sınaq: Sensorun kənarlaşdırılması (ii)
3 -cü sınaq: Sensorun kənarlaşdırılması (ii)
3 -cü sınaq: Sensorun kənarlaşdırılması (ii)

Şəkil 1: Data Denemesi @ Gecikmə 100 Şəkil 2: Təhlil Edilən Məlumat

Gecikmə Parametrləri: 100-Zirvələr:

Say = 54

Dəqiqədə inqilab sayı:

54 İnqilab/Dəqiqə

------------------------------------------------ -------------------------------------------------- ------- Alt addımlar:

  1. Arduinonu dizüstü kompüterinizə qoşun.

    Arduino kodundakı gecikməni "100" olaraq təyin edin. Yüklə (tətbiqin sol üst küncündə) düyməsini basın. '

  2. Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 100 olaraq dəyişdirin.
  3. HallRT proqramını işə salın.
  4. Matlab faylını "delay_100" altında saxlayın. (Şəkli Saxla)
  5. Delay_100.mat faylını yükləyin.
  6. Thresh_analyze proqramını işə salın. (Şəkli Saxla)

Adım 8: 4 -cü sınaq: Sensorun kənarlaşdırılması (iii)

4 -cü sınaq: Sensorun kənarlaşdırılması (iii)
4 -cü sınaq: Sensorun kənarlaşdırılması (iii)
4 -cü sınaq: Sensorun kənarlaşdırılması (iii)
4 -cü sınaq: Sensorun kənarlaşdırılması (iii)

Şəkil 1: Gecikmə 300 @ Məlumat Sınaqı Şəkil 2: Təhlil Edilən Məlumat

-Gecikmə Parametrləri: 300

Zirvələr:

Say = 32

Dəqiqədə inqilab sayı:

32 İnqilab/Dəqiqə

-------------------------------------------------- -------------------------------------------------- ------- Alt addımlar:

  1. Arduinonu dizüstü kompüterinizə qoşun.

    Arduino kodundakı gecikməni "300" olaraq təyin edin. Yükləmə düyməsini basın (tətbiqin sol üst küncündə)

  2. Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 300 olaraq dəyişdirin.
  3. HallRT proqramını işə salın.
  4. Matlab faylını "delay_300" altında saxlayın. (Şəkli Saxla)
  5. Delay_300.mat faylını yükləyin.
  6. Thresh_analyze proqramını işə salın. (Şəkli Saxla)

Tövsiyə: