blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
Programátor
deadawp



Vzorkovanie signálu - MATLAB
pridal deadawp 15.1. 2020 o 21:05 (naposledy upravené 6.1. 2025 o 23:30)



Proces vzorkovania signálu má využitie v procese digitalizácie signálu a jeho archivácie. Tento proces si môžeme predstaviť, ako vzorkovanie analógového signálu z mikrofónu, ktorý chceme uložiť na permanentné úložisko počítača - pevný disk, ktorý je samozrejme uspôsobený na uchovávanie digitálnych dát.

Vzorkovanie je najdôležitejšou časťou digitalizačného procesu, nakoľko od vzorkovania závisí kvalita analógového signálu (audio nahrávky, a pod...). Analógový (spojitý) signál je vzorkovaný vzorkovacou frekvenciou (fvz), ktorá je minimálne 2* vyššia ako maximálna frekvencia signálu (fmax).

To zaručuje lepšiu a vernejšiu reprezentáciu signálu v procese kvantovania, kódovania. Obecne platí, čím vyššia je vzorkovacia frekvencia, tým kvalitnejší signál získame. Vyššou vzorkovacou frekvenciou získavame kratšiu periódu vzorkovania (T). Implementáciu vzorkovania signálu som vyhotovil v prostredí MATLAB ako semestrálne zadanie. Opis návrhu a samotné riešenie môže poslúžiť ako odrazový bod pri realizácii podobnej úlohy, zadania.

V mojej implementácii som využil následovné vzorkovacie frekvencie pôvodného signálu:

  • fvz = 2*fmax
  • fvz = 3*fmax
  • fvz = 10*fmax

MATLAB script obsahuje niekoľko premenných, ktoré sú zodpovedné za vygenerovaný analógový signál a vzorkovací proces:

  • Časová oblasť signálu - os X v grafickej reprezentácii (dĺžka v sekundách)
  • Maximálna frekvencia signálu (fmax v Hz)
  • Vzorkovacia frekvencia 1, 2, 3 (fvz = 2*fmax, 3*fmax, 10*fmax).

V časovej oblasti signálu je vygenerovaný signál, ktorý nadobúda hodnoty 0 až fmax. Signál je vykreslený funkciou plot(). Na základe vzorkovacích frekvencií sa určí perióda vzorkovania, jednotlivé body vzorkovania sú vykreslené do grafu funkciou stem(). Dané body sú v následujúcom grafe spojené čiarou, čo vytvára reprodukovaný signál. Kvalita jednotlivých reprodukcií je znateľná. Fvz 2*fmax nereprezentuje pôvodný signál dostatočne verne, nakoľko je vzorkovací čas príliš dlhý.

Pri fvz 3*fmax je reprezentácia vernejšia, avšak nedosahuje parametre pôvodného signálu, je to znateľné najmä na vrcholoch - amplitúdach signálu, ktoré sú orezané. Vzorkovacia frekvencia 10*fmax je najvernejšou reprodukciou pôvodného signálu. Nevýhodou je však viac pamäťového priestoru, ktorý je potrebný na uloženie digitalizovanej audio nahrávky. Pri 10*fmax sa bude vyžadovať 5-násobne viac úložného priestoru na nahrávku v porovnaní s 2*fmax.


Zaujímavosťou programovej implementácie je, že využíva random generátor čísel založený na viacerých faktoroch, čo generuje vstupný signál nepredvídateľne, bez opakovaných priebehov signálu, čo býva viditeľné pri používaní bežného random generátora.

Okrem MATLABU môžete program vykompilovať aj v Octave Online, čo je Cloud IDE kompatibilné s MATLABOM. Na jednoduché vizualizácie je super a taktiež aj na cesty, nakoľko nevyžaduje dlhé spúšťanie, ako napr. MATLAB. Jeho vizualizácie a rýchlosť kompilácie však treba brať s mierou. Toto on-line IDE prístupné cez prehliadač vizualizuje výsledky postupne, teda neuvidíte iba kompletný - výsledný graf, ale po riadkoch, pričom sa na konci vizualizuje kompletne. 

Octave Online vie vizualizovať grafy nad riadok, kde sa píše program, ale obrázok je možné cez záložku Scripts na stránke zobraziť aj vo vyššom rozlíšení, vrátane možnosti exportovania v .png, alebo vektorovom .svg formáte, čo sa môže hodiť najmä do odborných publikácii. 


MATLAB script u: martinius96@gmail.com



Prístupov 15339
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Návrh jednoduchých PCB v EasyEDA
[ 5.4.2025] (príspevkov 0)
Test dosahu LoRa 433 MHz RA-02
[ 4.4.2025] (príspevkov 0)
Lolin32 vs. Lolin32 Lite - čo je dobré v...
[ 21.3.2025] (príspevkov 0)
ZK-4KX buck/boost regulátor s krabičkou
[ 16.3.2025] (príspevkov 0)
Protherm kotol chyba F.28 - reštart kotl...
[ 2.3.2025] (príspevkov 0)
ESP32 hlasové ovládanie s Firebase Realt...
[ 1.3.2025] (príspevkov 0)
Maticový displej s MAX7219
[ 22.2.2025] (príspevkov 0)
EBYTE E32-433T20D s dosahom až 3 km?
[ 19.2.2025] (príspevkov 0)