Единица 4 / 9

Обработка на сигнали и анализа на податоци

Добивки:

  • Способност прецизно да се утврдат параметрите за обработка на сигналот како што се фреквенцијата на земање примероци, типот на филтерот и прозорците со вештачка интелигенција
  • Способност за генерирање на Python код за FFT, дизајн на филтер и анализа на шум и проверка на Nyquist и алиасинг
  • Способност да се потврди интерпретацијата на спектарот генерирана од вештачка интелигенција со споредување со мерење и физички очекувања

Необработените податоци само од сензор, микрофон или далновод често се бесмислени; Неопходно е да се обработи и толкува на оската на фреквенција, амплитуда и време. Извлекување спектар со FFT, филтрирање на шум, препознавање потпис на вибрации... Сето тоа се процесирање на сигналот и вештачката интелигенција генерира брз Python код во оваа област, објаснува концепти, пресметува коефициент на филтер. Но, мала грешка на параметарот во обработката на сигналот (погрешна фреквенција на земање примероци, погрешен прозорец, прескокната контрола на Nyquist) тивко ја уништува целата анализа; Кодот не дава грешки, само дава погрешни резултати. Во оваа единица, ќе го покриеме поставувањето на точните параметри со вештачка интелигенција, проверка на генерираниот код во смисла на Nyquist и алијас, и потврдување на интерпретацијата на спектарот со физичка реалност.

Основни параметри: Земање примероци, Nyquist, Aliasing

Првото правило за обработка на дигитален сигнал е теоремата на Никвист-Шанон: за прецизно претставување на сигналот, фреквенцијата на земање примероци мора да биде најмалку двапати од компонентата со највисока фреквенција во сигналот. Во спротивно, високите фреквенции ќе се појават како ниски фреквенции (алиасинг) и тоа не може да се смени.

Највисока фреквенција во сигналот: f_max = 2 kHz Минимална фреквенција на земање примероци: f_s ≥ 2 · f_max = 4 kHz За да се остави маргина во пракса: избран е f_s ≈ 5 · f_max = 10 kHz.

Внимание: кога вештачката интелигенција сугерира фреквенција на земање примероци, проверете дали обезбедува Nyquist врз основа на највисоката компонента на вашиот сигнал. Кодот работи без грешки дури и при мала фреквенција на земање примероци; но резултатот е погрешен поради алиасирање. Дополнително, ниту еден софтвер не може да ја поништи оваа грешка без филтер за анти-алиасинг во хардверот.

Резолуција и прозорец за FFT

Резолуцијата на фреквенцијата на FFT зависи од фреквенцијата на земање примероци и бројот на примероци: Δf = f_s / N. За пофина резолуција или собирате повеќе примероци или избирате пониски f_s (без да го прекршите Nyquist). Дополнително, дисконтинуитетот помеѓу почетокот и крајот на сигналот создава „спектрално истекување“; За да се намали ова, се применуваат функциите на прозорецот како што се Хан и Хаминг.

f_s = 10 kHz, N = 1024 примероци Резолуција на фреквенција: Δf = 10000 / 1024 ≈ 9,77 Hz Вкупно време на снимање: T = N / f_s = 1024 / 10000 ≈ 102,4 ms

Генерирање и проверка на FFT и филтер код

Наведете ја фреквенцијата на земање примероци, типот на прозорецот и скалата на оската експлицитно кога барате FFT код од вештачката интелигенција. Следниот код го издава едностраниот амплитуден спектар на сигналот:

увезете numpy како npfs = 10000 # фреквенција на земање примероци (Hz) - потврдете Nyquist!N = 1024t = np.arange(N) / fs# примерок сигнал: 500 Hz + 1500 Hzx = np.sin(2*np.pi*500*t) + 0,5*np.sin(2*np.pi*1500*t)w = np.hanning(N) # windowing: го намалува спектралното истекување нормализирано со засилување# проверете врвни фреквенцииpeaks = f[np.argsort(mag)[-2:]]print("Доминантни фреквенции (Hz.)peaks":,

Кога ја проверувате оваа шифра ќе бидете прашани: Дали фреквентната оска е навистина Hz или се користи индексот на примерокот (rfftfreq)? Дали амплитудата е нормализирана до зголемувањето на прозорецот? Дали очекуваните врвови од 500 и 1500 Hz навистина се случуваат во тие точки? Ако го потврдите кодот со познат тест сигнал (синус со една фреквенција), самоуверено ќе ја потврдите оската и нормализацијата.

Слаба навестување / Силен навестување

СЛАБ: „Примени FFT на овие податоци.“ (Резултат: фреквенцијата на земање примероци, скалата на оската и прозорците се нејасни; графикот најверојатно е нацртан на погрешна оска.) СИЛНО: „Примени го FFT на сигнал од примерок од 10 kHz. Обезбедете:- Нацртајте ја оската на фреквенцијата во Hz (користете го прозорецот rfft, нормализирајте го со Hanfrenq). добивка.- Испечатете ги двете доминантни фреквенции дигитално.- Означете ја границата на Nyquist (5 kHz) на графиконот Забележете дека оската ќе се помести ако фреквенцијата на земање примероци е неточна.

Дизајн на филтри и анализа на бучава

ВИ може да генерира ниски/високи/пропусни коефициенти на филтер (FIR/IIR). Но, мора да се провери фреквенцијата на исклучување, редот и стабилноста на филтерот. Може да предизвика нестабилност на висок ред и фазно изобличување, особено кај IIR филтрите. Откако ќе го дизајнирате филтерот, нацртајте го одговорот на фреквенцијата (како Bode) за да видите дека прекинот е на вистинското место и дека нема несакани бранови во проодната лента.

Типичната задача во анализата на бучавата е да се оддели вистинскиот сигнал од бучавата. Овде, проценете го предложениот праг на вештачката интелигенција или филтрирајте во однос на физичкиот пропусен опсег на сигналот: ако вашиот вистински сигнал е на 0-500 Hz, компонентата на 2 kHz најверојатно е шум или пречки. ВИ дава статистика; Вие ја правите физичката интерпретација.

Потврдување на интерпретацијата на спектарот со физичка реалност

При толкување на спектарот, вештачката интелигенција прави разумни, но не секогаш точни заклучоци како „Има врв на 50 Hz, ова е пречки во мрежата“. Споредете ги овие коментари со физичките очекувања: Дали системот навистина има мрежна врска од 50 Hz? Дали очекуваната фреквенција на ротација и хармониците се речиси таму во спектарот на вибрации на моторот? Ако е можно, повторете го мерењето со втор метод (различен сензор, различен софтвер) и видете ги истите врвови.

Совет: За секоја интерпретација на спектарот, "на која физичка појава одговара овој врв?" Поставете го прашањето. Мрежата од 50/100/150 Hz и нејзините хармоници, фреквенцијата на ротација и нејзините множители кај ротирачките машини и фреквенцијата на префрлување во прекинувачките напојувања се познати потписи. Непознат врв е или вистински настан или грешка при мерење/обработка; Истражете ги и двете.

Мини случај

Инженер за истражување и развој ги мери вибрациите на вентилаторот и има вештачка интелигенција да го толкува спектарот. „Постои доминантен врв на 1200 Hz, ова може да биде дефект на лежиштето“, вели АИ. Инженерот ја контролира брзината на вентилаторот: 1800 вртежи во минута = 30 Hz. Фреквенциите на транзиција на лежиштето и сечилото се очекува да бидат на одредени вредности компатибилни со овој циклус; 1200 Hz не одговара на ниту едно од овие. Ја контролира фреквенцијата на земање примероци: сигналот носи содржина до 2 kHz, но само 2 kHz се земаат примероци, така што е прекршување на Nyquist. Врвот на 1200 Hz е духовна фреквенција што произлегува од алиасингот. Кога ќе ја зголемам фреквенцијата на земање примероци на 8 kHz, лажниот врв исчезнува. Лекција: секогаш тестирајте ја интерпретацијата на спектарот со очекување физички циклус/фреквенција и правилно земање примероци.

Вообичаени грешки

  • Избор на фреквенција на земање примероци без проверка на критериумот Nyquist; Со поглед на алијасинг.
  • Оставајќи ја оската на фреквенцијата FFT на индексот на примерокот наместо Hz.
  • Грешка спектрално истекување како сигнал без прозорци.
  • Не ја нормализира амплитудата по број на прозорци/примероци.
  • Не се проверува стабилноста на IIR филтерот и фазното изобличување.
  • Толкување на врвовите на спектарот без нивно тестирање во пресрет на физичките вртежи/фреквенција.

Сумирано

  • Фреквенцијата на земање мостри мора да биде најмалку двапати поголема од највисоката компонента на сигналот; Во спротивно, алиасирањето ќе ја наруши целата анализа.
  • FFT резолуција Δf = f_s/N; Изберете N и f_s според вашата потреба.
  • Прозорецот го намалува спектралното истекување; нормализирајте ја амплитудата според засилувањето на прозорецот.
  • Потврдете го кодот на AI со познат тест сигнал за да ја потврдите оската и нормализацијата.
  • Проверете ја стабилноста на филтерот и одговорот на фреквенцијата со исцртување.
  • Секогаш тестирајте ја интерпретацијата на спектарот со очекување на физичка фреквенција.

Задача за апликација

Генерирајте тест сигнал со позната фреквенција (на пр. 500 Hz + 1500 Hz синус). Побарајте FFT и филтер код од AI. Потоа: (1) проверете дали Nyquist критериумот е исполнет, (2) проверете дали FFT врвовите навистина се појавуваат на 500 и 1500 Hz, (3) намерно ја намалувате фреквенцијата на земање примероци под Nyquist и набљудувајте како алиазирањето создава лажен врв. Забележете ги вашите забелешки и параметарот што сте го коригирале.