Njësia 3 / 12

Përpunimi i sinjalit: Filtrat, marrja e mostrave dhe analiza e frekuencës

Fitimet:

  • Aftësia për të ndërtuar dhe zbatuar saktë konceptet e kampionimit, Nyquist dhe aliasing me mbështetjen e AI
  • Aftësia për të përkthyer FFT, dizajnin e filtrit dhe hapat e dritareve në draft kod dhe llogaritje me AI
  • Aftësia për të verifikuar rezultatet e përpunimit të sinjalit të prodhuara nga AI me sinjal referencë, kontroll të njësisë dhe matje

Përpunimi i sinjalit është zemra e inxhinierisë së elektronikës dhe komunikimit: arti i marrjes së një valë tensioni, një regjistrimi tingulli, një leximi i një sensori ose një sinjal radioje dhe nxjerrja e informacionit brenda tij, pastrimi i zhurmës së tij dhe transformimi i tij. Në këtë njësi, do të shihni se si të përdorni AI për të mësuar konceptet e përpunimit të sinjalit, për të ndërtuar llogaritjet e filtrit dhe transformimit dhe për të kryer analiza me kodin Python. Por një paralajmërim që në fillim: një gabim i vogël konceptual në përpunimin e sinjalit (frekuenca e gabuar e kampionimit, kapërcimi i dritareve, njësia ndërhyrëse) do të shtrembërojë plotësisht dhe në heshtje rezultatin; Grafiku ende duket i mirë, por është i gabuar. Kjo është arsyeja pse është e domosdoshme të testoni çdo rezultat që prodhon AI kundrejt një sinjali të njohur referimi dhe kontrollit të njësisë.

Mostrimi dhe Nyquist: ku fillon gjithçka

Për të përpunuar një sinjal analog (valë të vazhdueshme) në një kompjuter, ne e masim atë në intervale të caktuara dhe e kthejmë në një numër; Kjo quhet kampionim. Është frekuenca e kampionimit (fs, njësia Hz) sa mostra marrim në sekondë. Kriteri Nyquist thotë se për të rikuperuar me saktësi një sinjal, frekuenca e kampionimit duhet të jetë të paktën dyfishi i frekuencës më të lartë në sinjal. Nëse ky kusht nuk plotësohet, frekuencat e larta fillojnë të duken si frekuenca të ulëta; Kjo quhet aliasing dhe të dhënat janë të korruptuara përgjithmonë, sepse nuk mund të dallosh midis këtyre dy situatave.

AI e shpjegon shumë mirë këtë koncept dhe mund ta demonstrojë atë me shembuj. Por ju vendosni kur zgjidhni frekuencën tuaj të kampionimit: cila është gjerësia aktuale e brezit të sinjalit tuaj, a keni një filtër analog anti-aliasing, çfarë shpejtësie funksionon në të vërtetë ADC juaj (Konvertuesi Analog-Dixhital: çipi që konverton sinjalin analog në numër). AI mund të "sugjerojë" një frekuencë kampionimi, por ky sugjerim është një supozim pa matur spektrin aktual të sinjalit tuaj.

Këshillë: Kur i bëni AI një pyetje kampionimi, specifikoni vetë frekuencën dhe gjerësinë e brezit më të lartë të sinjalit tuaj. "Nëse komponenti më i lartë i sinjalit tim është ~4 kHz, si duhet të zgjedh fs dhe ku duhet ta vendos filtrin anti-aliasing?" si. Mos e bëni AI të hamendësojë spektrin; masë.

FFT dhe analiza e frekuencës

FFT (Fast Fourier Transform) është një algoritëm i shpejtë që konverton një sinjal nga boshti i kohës në boshtin e frekuencës. Pra, "çfarë frekuencash janë në këtë sinjal dhe me sa fuqi?" i përgjigjet pyetjes. AI bën shumë mirë se si të zbatojë FFT, të interpretojë rezultatet dhe të shkruajë kodin Python (numpy/scipy). Por ka gabime të zakonshme në FFT, dhe kodi i AI mund t'i përfshijë ato në heshtje:

  • Shkallëzimi i boshtit të frekuencës: Boshti i frekuencës së daljes FFT varet nga frekuenca e marrjes së mostrave. Nëse fs është futur gabimisht, të gjitha frekuencat dalin gabimisht, por grafiku duket normal.
  • Dritarja: Kur merret një pjesë e fundme sinjali, ndodh ndërprerja në skajet dhe pseudo-përhapja (rrjedhja spektrale) vërehet në spektër. Windows si Hann dhe Hamming e zvogëlojnë këtë. Nëse kodi i AI kalon dritaren, rezultati do të jetë mashtrues.
  • Normalizimi i amplitudës: Shkallëzimi dhe korrigjimi i dritares kërkohet për të kthyer amplituda e daljes FFT në vlerën aktuale fizike. Nëse hiqet, amplituda do të jetë e pasaktë.

dizajn filtri

Një filtër është një qark ose algoritëm që nxjerr frekuenca të padëshiruara nga një sinjal. Ekzistojnë katër lloje themelore: kalim i ulët (kalon frekuenca të ulëta), kalim i lartë, brez-kalim dhe brez-kalim (notch). Ekzistojnë dy familje të mëdha të filtrave dixhitalë: FIR (përgjigje impulse e fundme, faza e qëndrueshme dhe lineare) dhe IIR (përgjigje impulse e pafundme, tranzicion i pjerrët me më pak llogaritje, por stabilitet dhe rrezik fazor).

AI shpjegon hapat e projektimit të një filtri (frekuenca e ndërprerjes, brezi i kalimit, zbutja e brezit të ndalimit, përzgjedhja e porosisë) dhe shkruan kodin e gjenerimit të koeficientit me "scipy". Por frekuenca e ndërprerjes së filtrit që projektoni jepet e normalizuar (në lidhje me frekuencën Nyquist), dhe futja e gabuar e fs këtu është një gabim shumë i zakonshëm. Për më tepër, stabiliteti dhe shtrembërimi i fazës mund të jenë një problem në filtrat IIR dhe vonesa mund të jetë një problem në sistemet në kohë reale. Sigurohuni që të verifikoni filtrin e krijuar nga AI me një grafik të përgjigjes së frekuencës dhe një sinjal të njohur testimi.

tre mini kuti

Rasti 1 - Dridhje e mbivendosur. Një inxhinier provon dridhjen e një motori në 1 kHz dhe sheh një kulm të fortë në FFT në 300 Hz. Kjo majë, e cila nuk përputhet me modelin e motorit, është konfuze. Në të vërtetë ekziston një komponent i vërtetë në motor rreth 1300 Hz; Marrja e mostrave 1 kHz është e pamjaftueshme për këtë (Nyquist 500 Hz) dhe 1300 Hz mbivendosen 300 Hz. Pas diskutimit me AI "nëse kjo kulm është reale apo aliasing" dhe duke rritur frekuencën e kampionimit në 5 kHz, kulmi shfaqet në vendin e duhur në 1300 Hz. Mësimi: në një kodër të diskutueshme, mjaftueshmëria e mostrës së pyetjes së parë.

Rasti 2 - Dritarja e kapërcyer. Një praktikant kërkon një kod FFT nga AI dhe e ekzekuton atë. Ai pret një ton të vetëm testimi të frekuencës, por sheh një përhapje të gjerë në të gjithë spektrin. Problemi është se kodi nuk bën dritare (rrjedhje spektrale). Tregoji AI "shto dritaren Hann dhe zbato korrigjimin e amplitudës" dhe dalja kthehet në kulmin e pritur të mprehtë. Mësimi: Testoni kodin FFT me një sinjal të njohur me një frekuencë; Kontrolloni dritaren nëse ka rrjedhje.

Rasti 3 - E gabuar fs. Një inxhinier analizon të dhënat nga regjistruesi. Pajisja regjistroi në 48 kHz, por 44.1 kHz e paracaktuar u fut në kodin AI. Të gjitha frekuencat janë zhvendosur me 8%; Një ton 1000 Hz shfaqet në 1088 Hz. Gjendet gabim kur kontrolloni fs-të aktuale të pajisjes matëse. Mësimi: frekuenca e marrjes së mostrave është numri i vetëm më kritik në zinxhirin e analizës; duhet verifikuar nga burimi.

Modele të shpejtë të kopjueshëm

TEMPLATE I konfigurimit të FFT"Shkruani një kod analize FFT në Python (numpy/scipy). Hyrja: frekuenca e mostrës fs=[vlera] Hz, vargu i sinjalit 'x'. Lëreni kodin të veprojë SI TË MËPOSHTME: (1) Zbato dritaren Hann, (2) Merr FFT, (3) me saktësi në frekuencë (3) në frekuencë (3) të shkallëzuar në njërën anë. spektri me korrigjim të dritares Në çdo hap të kodit "Ju lutemi, tregoni në rreshtin e komenteve se cilin supozim po bëni që të mund ta verifikoj".

TABLETI I KONTROLLIT TË MOSTRAVE "Frekuenca më e lartë domethënëse e sinjalit tim është afërsisht [X] Hz. Shpjegoni kufirin e Nyquist, nevojën për një filtër anti-aliasing dhe kufirin praktik të sigurisë kur zgjidhni një frekuencë kampionimi. Sugjeroni një diapazon, por theksoni se duhet ta verifikoj këtë duke matur spektrin e vërtetë të sinjalit."

TEMPLATET E PROJEKTIMIT TË FILTERIT "Dizajnoni një filtër dixhital kalimtar [të ulët/të lartë/band] me gërvishtje. Frekuenca e ndërprerjes [X] Hz, frekuenca e kampionimit fs=[Y] Hz. Krahasoni opsionet FIR dhe IIR (stabiliteti, faza, vonesa, ngarkesa llogaritëse). Tregoni qartë në kod se si frekuenca e frekuencës së përgjigjes normalizohet me një kod të vlefshëm f.

TABLETI I VLERËSIMIT TË REZULTATEVE "Shqyrtoni kodin e përpunimit të sinjalit më poshtë dhe shënoni burimet e gabimeve të heshtura: fs e gabuar, dritare e anashkaluar, ndërthurje e njësisë (Hz/kHz, V/mV), mungesë normalizimi, ndërthurje e spektrit të njëanshëm/të dyfishtë. Sugjeroni se si duhet të testoj (me cilin] kod referencë."

Prompt i dobët / Prompt i fortë

PROMPT I DOBËT: "Gjeni frekuencën e këtij sinjali."

NJOFTIM I FORTË: "Kam një grup sinjalesh me një frekuencë kampionimi prej 10 kHz. Shkruaj një kod Python që gjen përbërësit dominues të frekuencës me FFT; përdor dritaren Hann dhe korrigjimin e amplitudës, shkallëzoje boshtin e frekuencës sipas fs. Në fund të kodit, shto një bllok vlefshmërie me një sinjal sintetik provë f1 dhe shiko sinjalin e saktë të provës kH."

Prompt i dobët prodhon një përgjigje pa kontekst dhe supozon fs; Ai kthen parametra të fortë të shpejtë dhe kërkon një bllok testimi vetë-verifikues.

Tabela e njësive dhe supozimeve në përpunimin e sinjalit

koncept

gabim i shpeshtë

verifikimi

Frekuenca e kampionimit (fs)

Parazgjedhja në vend të FS-së aktuale të pajisjes

Konfirmim nga konfigurimi i regjistruesit

boshti i frekuencës

Nëse fs është i gabuar, i gjithë boshti zhvendoset

Toni i njohur i testimit të frekuencës

Dritare

Rrjedhje spektrale kur anashkalohet

Gjerësia e pikut në sinjalin monoton

Amplituda

Mungon normalizimi/korrigjimi

Krahasimi me sinjalin e amplitudës së njohur

prerje filtri

normalizoni gabimin sipas fs

Grafiku i përgjigjes së frekuencës

Kujdes: Vetëm për shkak se një grafik FFT duket i qetë dhe i besueshëm nuk do të thotë se është i saktë. Nëse boshti i frekuencës është shkallëzuar gabimisht, të gjitha majat janë në vendin e gabuar, por grafiku duket i përsosur. Kalibroni gjithmonë me një referencë të njohur.

Gabimet e zakonshme

  • Mos verifikimi i frekuencës së marrjes së mostrave nga burimi. Fs i gabuar zhvendos të gjitha frekuencat.
  • Duke shkelur Nyquist dhe duke mos vënë re aliasing. Në kodrat e dyshimta, së pari vini në dyshim përshtatshmërinë e marrjes së mostrave.
  • Kapërcimi i dritareve në FFT. Rrjedhja spektrale duket si një kulm i vërtetë.
  • Duke harruar normalizimin e amplitudës. Amplituda mbeten të pakaluara në vlerë fizike.
  • Normalizimi i gabuar i frekuencës së ndërprerjes së filtrit në fs. Filtri ndërpritet në një vend tjetër nga sa pritej.

Në përmbledhje

Në këtë njësi, ju keni pozicionuar AI si një ndihmë të fuqishme në mësimin e koncepteve të përpunimit të sinjalit, shkrimin e kodit FFT dhe filtrit dhe ndërtimin e analizave. Por në përpunimin e sinjalit, rezultatet mund të shtrembërohen në heshtje: frekuenca e gabuar e kampionimit, anashkalimi i dritareve, vëllimi ndërhyrës ose mungesa e normalizimit e bëjnë grafikun të bukur, por të pasaktë. Pra, testoni çdo kod që prodhon AI kundër një sinjali të njohur referimi, verifikoni frekuencën e marrjes së mostrave nga burimi dhe testoni çdo rezultat për njësi dhe besueshmëri fizike. Kontrolloni konceptin e Nyquist dhe aliasing në fillim të çdo analize.

Detyra e aplikimit

Krijo një sinjal testimi sintetik në Python: shuma e dy frekuencave të njohura (p.sh. 1 kHz dhe 3 kHz), fs=10 kHz. Kërkoni kodin e analizës nga AI me shabllonin "FFT setup" dhe verifikoni që majat të shfaqen në frekuencat e duhura. Pastaj futni qëllimisht gabimisht fs-të (p.sh. 8 kHz) dhe vëzhgoni se si zhvendosen majat. Së fundi, hiqni dritaren dhe shikoni rrjedhjen spektrale. Shkruani rezultatet e secilit eksperiment me një fjali.

listë kontrolli

  • [ ] Kam verifikuar frekuencën e marrjes së mostrave (fs) nga cilësimi aktual i regjistruesit.
  • [ ] Kontrollova kriterin Nyquist dhe vlerësova rrezikun e aliasing.
  • [ ] Kam kontrolluar që korrigjimi i dritareve dhe amplitudës janë zbatuar në kodin FFT.
  • [ ] Kam testuar kodin me një sinjal referimi me frekuencë të njohur.
  • [ ] Verifikova me përgjigje vizuale që frekuenca e ndërprerjes së filtrit ishte normalizuar saktë në fs.
  • [ ] I bëra të qëndrueshme të gjitha njësitë (Hz/kHz, V/mV).