Мазмұны:

Arduino: жиілікті түрлендіру (DFT): 6 қадам
Arduino: жиілікті түрлендіру (DFT): 6 қадам

Бейне: Arduino: жиілікті түрлендіру (DFT): 6 қадам

Бейне: Arduino: жиілікті түрлендіру (DFT): 6 қадам
Бейне: ЧТО ТАКОЕ АНАЛОГОВЫЕ И ЦИФРОВЫЕ СИГНАЛЫ [Уроки Ардуино #10] 2024, Шілде
Anonim
Arduino: жиілікті түрлендіру (DFT)
Arduino: жиілікті түрлендіру (DFT)

Бұл бағдарлама параметрлерді бақылау арқылы ардуинодағы жиілікті түрлендіруді есептеуге арналған.

бұл 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 терезе жоқ1 үшін жазық терезе үшін 2, терезе 3 үшін ханн терезесі 3 үшін

(егер сізде терезені таңдау туралы ешқандай түсінік болмаса, әдепкі 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 көмегімен деректерді түрлендіру салыстырылады.

Ұсынылған: