Բովանդակություն:

Նմուշառման տոկոսադրույք/Aliasing Instructable: 8 քայլ (նկարներով)
Նմուշառման տոկոսադրույք/Aliasing Instructable: 8 քայլ (նկարներով)

Video: Նմուշառման տոկոսադրույք/Aliasing Instructable: 8 քայլ (նկարներով)

Video: Նմուշառման տոկոսադրույք/Aliasing Instructable: 8 քայլ (նկարներով)
Video: ԻՆՉՊԵ՞Ս արտասանել MULTIRATE: #բազմացնել (HOW TO PRONOUNCE MULTIRATE? #multirate) 2024, Նոյեմբեր
Anonim
Նմուշառման տոկոսադրույք/Aliasing Instructable
Նմուշառման տոկոսադրույք/Aliasing Instructable

Wishանկանում եմ ստեղծել կրթական նախագիծ, որը ցույց կտա օլիզացիա (և ընտրանքային դրույքաչափեր) և որը նախատեսված է տեղադրվել կայքում `որպես ռեսուրս այն ուսանողների համար, ովքեր սովորում են այլանման մասին:

Քայլ 1. Շրջանակի դասավորություն

Շրջանակի դասավորություն
Շրջանակի դասավորություն
Շրջանակի դասավորություն
Շրջանակի դասավորություն

Արդուինո

Արդուինոն շրջանի հիմքն է. աջակցում է servo շարժիչին (տեղադրված կոդավորող անիվով) և տեղադրված սրահի էֆեկտի սենսորին:

-Կոդավորող անիվ. Կոդավորիչի անիվի նպատակն է կախել մագնիսը, որը պտտվում է շրջանաձև ճանապարհով ՝ սավառնելով տեղակայված սրահի էֆեկտի սենսորի վրա:

-Սենսորների կարգավորում. Սրահի էֆեկտի սենսորը տեղադրված է մագնիսի պտտման ուղուց ներքև, որի նպատակն է հետևել մագնիսի անցմանը պտտման տարբեր արագություններով և տվյալների հավաքման արագությամբ:

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

Ենթաքայլեր

  1. Ստացեք նյութեր.

    Arduino (+ հացի տախտակ), լարեր, կոդավորող անիվ, մագնիս, սրահի էֆեկտի ցուցիչ, servo շարժիչ, Matlab հավելված, Arduino հավելված:

  2. Կտրեք կոդավորող անիվը, տեղադրեք servo- ի վրա, մագնիսը մղեք դեպի անցքը:
  3. Կցեք դահլիճի էֆեկտի սենսորը մագնիսի ուղու տակ (կարող են պահանջվել սենսորի մետաղալարեր):
  4. Կառուցեք միացում:

Քայլ 2: Arduino կոդ

Arduino կոդ
Arduino կոդ

Տվյալների հավաքման եղանակը

Arduino ծածկագիրը օգտագործում է [տող 41] ՝ դահլիճի էֆեկտի սենսորից «Analog In» A0 նավահանգստի միջոցով տեղեկատվություն հավաքելու համար:

Սերիական տվյալների փոխանցման եղանակ

  • [Տող 43] Սերիական մոնիտորի մեջ ցուցադրվում է «ժամաչափ» փոփոխական, որն իրականացնում է «millis ()» գործառույթը `ծրագրի տևողության համար միլիվայրկյաններում գործարկվող ժամաչափը պահելու համար:
  • [Տող 45] Սերիական մոնիտորի վրա ցուցադրվում է «hallsensor» փոփոխական, որն իրականացնում է «analogRead» ՝ դահլիճի էֆեկտի սենսորից տեղեկատվություն ստանալու համար, երբ ծրագիրը գործարկվում է:

Հետաձգման () պարամետրի նպատակը

Հետաձգման () պարամետրի նպատակն է փոփոխել դահլիճի էֆեկտի սենսորից ստացված տվյալների հավաքման արձագանքման ժամանակը:

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

Ենթաքայլեր

Մուտքագրեք Arduino ծածկագիրը Arduino հավելվածում:

Քայլ 3: Matlab կոդ (HallRT ֆայլ)

Matlab կոդ (HallRT ֆայլ)
Matlab կոդ (HallRT ֆայլ)
Matlab կոդ (HallRT ֆայլ)
Matlab կոդ (HallRT ֆայլ)
Matlab կոդ (HallRT ֆայլ)
Matlab կոդ (HallRT ֆայլ)
Matlab կոդ (HallRT ֆայլ)
Matlab կոդ (HallRT ֆայլ)

- Տվյալների ստացման եղանակ - [Նկար 3: Տող 77]

Տվյալների ստացում ArduinoStep- ից

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

Ենթաքայլեր

Մուտքագրեք Matlab ծածկագիրը վերևի թվերից, պահպանեք HallRT ֆայլում:

Քայլ 4: Matlab Code (thresh_analyze)

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

Պիկերի հաշվման մեթոդը [Նկար 2. Տողեր 45-53]

  • Այս Matlab ծածկագրում դրոշի օգտագործումն այնպես է, որ երբ for loop- ը ընկնի «aRval»-ի վրա, որն ավելի մեծ է, քան նախապես սահմանված «thresh»-ի արժեքը, կավելանա մեկով, գագաթը կնշվի աստղանիշներով, և if- հայտարարությունը [տող 45-50] կկոտրվի, քանի որ դրոշը = 1. Դրոշով երկրորդ if- հայտարարությունը [տող 51-53] ցույց է տալիս, որ երբ գագաթնակետը հանդիպում է, և արժեքները սկսում են նվազել գագաթի շուրջը, ապա դրոշը = 0, իսկ for loop- ը շարունակում է որոնել ավելի շատ գագաթներ:
  • Պարամետրեր/Անհրաժեշտ արժեքներ.

    • «aRval». հավաքված տվյալները փորձաշրջանից:
    • «thresh». Ընտրված արժեք, որը aRval- ում իրենից բարձր որևէ բան նշելու է որպես գագաթ:

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

Ենթաքայլեր

Ստեղծեք երկրորդ Matlab ֆայլը «thresh_analyze»:

Քայլ 5. Դատավարություն 1

Դատավարություն 1
Դատավարություն 1
Դատավարություն 1
Դատավարություն 1

Գծապատկեր 1: Տվյալների փորձարկում @ Delay 200 Նկար 2. Թարմ վերլուծված տվյալներ

-Հետաձգման պարամետր `200

Գագաթներ

Հաշվիր = 45

-հեղափոխությունների թիվը րոպեում.

45 հեղափոխություն/րոպե

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

Ենթաքայլեր

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «200»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում):

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 200 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_200» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_200.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Քայլ 6: Փորձություն 2. Asingգայարանների փոխանակում (i)

Դատավարություն 2
Դատավարություն 2
Դատավարություն 2
Դատավարություն 2

Նկար 1. Տվյալների փորձարկում @ Delay 50

Գծապատկեր 2. Թարմ վերլուծված տվյալներ

Հետաձգման պարամետր ՝ 50-Պիկ:

Հաշվիր = 52

հեղափոխությունների թիվը րոպեում

52 հեղափոխություն/րոպե

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

Ենթաքայլեր

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «50»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում):

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 50 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_50» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_50.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Քայլ 7: Փորձություն 3. Սենսորների փոխանակում (ii)

Դատավարություն 3
Դատավարություն 3
Դատավարություն 3. Սենսորների այլացում (ii)
Դատավարություն 3. Սենսորների այլացում (ii)

Գծապատկեր 1: Տվյալների փորձարկում @ Delay 100 Նկար 2. Թարմ վերլուծված տվյալներ

Հետաձգման պարամետր ՝ 100-Պիկ:

Հաշվիր = 54

հեղափոխությունների թիվը րոպեում

54 հեղափոխություն/րոպե

---------------------------------------------------- ------------------------------------------------------ ------- Ենթաքայլեր

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «100»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում): '

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 100 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_100» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_100.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Քայլ 8: Փորձություն 4. Սենսորի այլացում (iii)

Դատավարություն 4. Aliգայարանի փոխանակում (iii)
Դատավարություն 4. Aliգայարանի փոխանակում (iii)
Դատավարություն 4. Aliգայարանի փոխանակում (iii)
Դատավարություն 4. Aliգայարանի փոխանակում (iii)

Գծապատկեր 1. Տվյալների փորձարկում @ Delay 300 Նկար 2. Թարմ վերլուծված տվյալներ

-Հետաձգման պարամետր `300

Գագաթներ

Հաշվիր = 32

հեղափոխությունների թիվը րոպեում

32 հեղափոխություն/րոպե

------------------------------------------------------ ------------------------------------------------------ ------- Ենթաքայլեր.

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «300»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում):

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 300 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_300» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_300.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Խորհուրդ ենք տալիս: