Introducere în Matlab

Similar documents
Procesarea Imaginilor

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Metrici LPR interfatare cu Barix Barionet 50 -

Versionare - GIT ALIN ZAMFIROIU

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Subiecte Clasa a VI-a

Modalitǎţi de clasificare a datelor cantitative

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Update firmware aparat foto

Olimpiad«Estonia, 2003

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

Reţele Neuronale Artificiale în MATLAB

Auditul financiar la IMM-uri: de la limitare la oportunitate

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

ATEE SIMULAREA CIRCUITELOR ELECTRICE CE CONTIN CONVERTOARE STATICE DE PUTERE CU AJUTORUL PROGRAMELOR DE CALCUL

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

ISBN-13:

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Itemi Sisteme de Operare

Lucrarea Nr.1. Sisteme de operare. Generalitati

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

Mecanismul de decontare a cererilor de plata

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Prelucrarea numerică a semnalelor

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

GHID DE TERMENI MEDIA

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Propuneri pentru teme de licență

Laborator 2. Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 7.0

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Codor/decodor ciclic.implementare MATLAB-Simulink

Documentaţie Tehnică

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Lucrarea de laborator nr. 4

Metoda BACKTRACKING. prof. Jiduc Gabriel

INTEROGĂRI ÎN SQL SERVER

STUDY EVOLUTION OF BIT B ERRORS AND ERRORS OF PACKAGES IN I

The First TST for the JBMO Satu Mare, April 6, 2018

EN teava vopsita cu capete canelate tip VICTAULIC

SISTEME CU CIRCUITE INTEGRATE DIGITALE (EA II) ELECTRONICĂ DIGITALĂ (CAL I) Prof.univ.dr.ing. Oniga Ștefan

CERERI SELECT PE O TABELA

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

Implementation of a Temperature Control System using ARDUINO

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

SPREADING CODES 1. INTRODUCTION. Ion POPA Societatea Română de Televiziune Studioul Teritorial Iaşi

Proiectarea Sistemelor Software Complexe

Constructii sintetizabile in verilog

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

Managementul referinţelor cu

Universitatea Lucian Blaga din Sibiu Facultatea de inginerie Hermann Oberth Catedra de Calculatoare şi automatizări

X-Fit S Manual de utilizare

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

CHAMPIONS LEAGUE 2017 SPONSOR:

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Metoda de programare BACKTRACKING

Class D Power Amplifiers

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Noţiuni introductive privind pachetul software OrCAD

Medii de proiectare VLSI LABORATOR 8 Afişaj multiplexat

5.3 OSCILATOARE SINUSOIDALE

Solutii avansate pentru testarea si diagnoza masinilor industriale.

Normalizarea tăriei sonore şi nivelul maxim permis al semnalelor audio

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

PROIECTAREA CU CIRCUITE LOGICE PROGRAMABILE

SOLUŢII DE CONVERSIE PENTRU SISTEMELE DE ÎNALTĂ TENSIUNE, CURENT CONTINUU, TIP HVDC

Simularea sistemelor cu logică fuzzy în Matlab: prezentarea Toolbox-ului Fuzzy Logic. A. Obiective

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Performanţele codurilor convoluţionale în configuraţie turbo

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

4. Asignarea adreselor IP

Figura x.1 Ecranul de pornire al mediului de dezvoltare

NOTE PRIVIND MODELAREA MATEMETICĂ ÎN REGIM CVASI-DINAMIC A UNEI CLASE DE MICROTURBINE HIDRAULICE

PACHETE DE PROMOVARE

O abordare Data Mining pentru detectarea accesului neautorizat la baza de date.

Capitolul IV Utilizarea bazelor de date în Internet

POWER AMPLIFIER MODELING FOR MODERN COMMUNICATION SYSTEMS

DECLARAȚIE DE PERFORMANȚĂ Nr. 101 conform Regulamentului produselor pentru construcții UE 305/2011/UE

NEC. Ghid de rezervări

Metodologie de comparare a reţelelor 4G prin evaluarea QoS-ului total

Curs 1 17 Februarie Adrian Iftene

INTERPRETOARE DE COMENZI

Circuite Logice Programabile LABORATOR 1

Baze de date distribuite și mobile

COMMUNICATION LABORATORY

THREE CHANNELS ANALYSIS SYSTEM FOR ELECTRICAL POWER SYSTEM DISTURBANCES MEASUREMENT

Prima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on

STARS! Students acting to reduce speed Final report

Data Flow Diagram. Lt.col. Otilia PÎRLOG Ministerul Apărării Naţionale

Transcription:

Introducere în Matlab Matlab-ul este un limbaj de nivel foarte înalt care prezintă performanńe deosebite în ceea ce priveşte calculul tehnic (Matlab reprezintă o prescurtare a cuvintelor Matrix laboratory ). Pe lângă interpretorul de comenzi sunt prezente instrumente cum ar fi cele pentru vizualizarea datelor, prelucrarea imaginilor şi sunetelor, analiza circuitelor electrice, etc. Spre deosebire de alte limbaje, elementele de bază cu care se lucrează sunt vectorii. Utilizatorul poate defini şi folosi vectori ai căror dimensiuni inińiale nu trebuie specificate. Problemele legate de gestionarea memoriei la operańiile care presupun creşterea dimensiunii unui vector se fac automat, transparent utilizatorului, ceea ce este un avantaj fańă de limbaje de programare cum ar fi C sau C++. FuncŃiile specifice unui anumit domeniu sunt grupate în colecńii de funcńii sau toolboxes. Acestea uşurează foarte mult folosirea programului în scop educańional sau de cercetare deoarece utilizatorul se poate concentra direct pe aplicarea unei serii de operańii asupra unui set de date fără a se îngriji exclusiv de definirea acestor operańii. Există mai multe colecńii de funcńii specifice domeniului electronicii cum ar fi cea pentru prelucrarea de semnale sau pentru domeniul comunicańiilor. Fereastra principală a programului permite accesul direct la interpretorul de comenzi. Acesta este un instrument care execută o secvenńă de cod, linie cu linie. SecvenŃa de cod poate fi introdusă direct de la tastatură, iar după fiecare linie se apasă tasta Enter sau poate fi scrisă într-un fişier de tip text, care se salvează cu extensia.m şi se execută prin simpla scriere a numelui fişierului. Limbajul Matlab respectă principiile programării structurale, astfel că există o foarte mare asemănare între sintaxa şi structurile sale cu cea a limbajului C. NoŃiuni despre Simulink Simulink este un pachet de programe pentru modelarea, simularea şi analizarea sistemelor dinamice. Pot fi simulate atât sisteme liniare cât şi neliniare, modelate în timp continuu, discret sau într-o combinańie a celor două. Sistemele pot avea porńiuni eşantionate cu frecvenńe de eşantionare diferite. Pentru modelarea de sistem este furnizată o interfańă grafică intuitivă. Blocurile sunt plasate şi interconectate cu ajutorul mouse-ului ceea ce reprezintă un mare avantaj (fańă de scrierea directă a ecuańiilor diferenńiale ce definesc un sistem). Simulink oferă o colecńie de blocuri cum ar fi: generatoare de semnal, instrumente de vizualizare, blocuri care realizează funcńii matematice, componente liniare şi neliniare, etc. Setul de blocuri furnizat poate fi extins oricând cu noi blocuri este furnizată documentańie completă despre felul cum se poate crea un nou bloc. 1

Mai multe blocuri pot fi grupate oricând într-un bloc nou, oferind astfel posibilităńi extinse de analiză la un nivel superior de organizare. După definirea unui model nou, simularea se poate efectua atât în mod grafic cât şi cu ajutorul interpretorului. Cele două instrumente sunt legate între ele şi astfel se poate opta pentru orice modalitate de analiză. Pentru lansarea programului Simulink se tastează în mediul Matlab comanda: simulink. Fereastra care se deschide conńine toate blocurile disponibile grupate pe categorii (figura 1.1 -pentru Matlab 6.0 sub sistemul de operare Windows). Dacă se deschide biblioteca Simulink se observă următoarele zone: Continuous - blocuri ce furnizează funcńii specifice circuitelor analogice: derivare, integrare, funcńie de transfer, întârziere în domeniul timp, etc.; Discrete - blocuri ce furnizează funcńii specifice circuitelor discrete: funcńie de transfer discretă, filtru discret, întârziere în domeniul timp cu un pas, integrator discret, etc.; Function & Tables - blocuri care permit extinderea setului de blocuri existent cu blocuri create de utilizator; Math Operations - funcńii matematice de ordin general: sumă, produs, modul, amplificare, fază, funcńii trigonometrice, etc.; Nolinear Signal Routing Sinks Sources - funcńii specifice circuitelor neliniare; - blocuri necesare pentru definirea semnalelor: masă, multiplexor de mai multe semnale, funcńii pentru preluarea şi salvarea valorilor în spańiul Matlab, etc.; - aparate de măsură: multimetru, osciloscop, graphic XY, etc.; - surse de semnal: generatoare de semnal sinusoidal, triunghiular, dreptunghiular, zgomot, rampă, pulsuri, etc. Se poate obńine o descriere detaliată a fiecărui bloc dacă se selectează şi se urmăreşte în partea de sus a ferestrei explicańiile aferente. O structurare asemănătoare se întâlneşte în cadrul fiecărui modul. Celelalte module introduc blocuri noi care realizează funcńii complexe prin combinarea blocurilor elementare descrise anterior. Pentru plasarea unui bloc nou în schemă, acesta este selectat în fereastra bibliotecilor şi se pozitionează în schemă folosind drag and drop. 2

Fig. 1.1 Biblioteca de blocuri a Simulink-ului 3

Codurile Hamming reprezintă o clasă aparte a codurilor bloc corectoare de erori. Aceste coduri şi variantele derivate din ele sunt larg utilizate pentru corecńia erorilor în comunicańii digitale şi în sistemele de stocare a datelor. Pentru orice întreg pozitiv m 3, există un cod Hamming având urmatorii parametri: lungimea codului: n = 2 m 1; m numărul simbolurilor de informańie: k = 2 m 1; numărul simbolurilor de control: n k = m ; capacitatea de corecńie: t = 1( d min = 3). Matricea H are următoarea formă: unde I m este matricea unitate de ordinul m. Matricea generatoare a codului este: unde I k este matricea unitate de ordinul k. AplicaŃie coduri Hamming H [ I Q] =, m [ Q T I ] G =, Codurile Hamming fac parte din categoria codurilor bloc. Aceste coduri sunt coduri perfecte, corectoare de o eroare, corectează toate structurile de erori simple dar nici o combinańie de erori duble, şi detectează toate structurile de eroare cu două sau mai puńine erori. Pentru a arăta utilitatea codului Hamming utilizăm următorul model: k 4

Fig. 1.2 Folosim urmatoarele blocuri: - Random-Integer Generator: generează numere întregi distribuite în intervalul [0, M- 1]. Parametrii blocului sunt: - M-ary number este 2^4 deoarece codul Hamming utilizat este C(7,4) şi numerele generate sunt reprezentate în binar pe 4 bińi. - Initial seed este [12345]. Modificând acest parametru se modifică secvenńa de numere generate. - Sample time este 1. Generează câte un număr la fiecare secundă. - Integer to Bit Converter: transformă un vector de întregi într-un vector de bińi. Parametrul blocului este: - Number of bits per integer este 4. - Hamming Encoder: crează un cod Hamming din datele vectorului binar. Parametrii blocului sunt: - Codeword length N este 7. - Message length K este 4 deoarece se utilizează codul C(7,4). - Binary Symmetric Channel: introduce erori binare. Parametrii blocului sunt: - Error probability este 0.29, pentru a introduce o singură eroare. - Input vector length este 7 deoarece cuvântul de cod cu care se adună este reprezentat pe 7 bińi. - Initial seed este 1234. - Sample time este 1 pentru a se genera un eşantion la fiecare secundă. - Hamming Decoder: decodează un cod Hamming pentru a reface vectorul binar transmis. Parametrii blocului sunt: - Codeword length N este 7. - Message length K este 4 deoarece se utilizează codul C(7,4). 5

- Bit to Integer Converter: transformă un vector de bińi într-un vector de întregi. Parametrul blocului este: - Number of bits per integer este 4. - Error Meter: compară semnalele de la intrare, le afişează şi evaluează rata de eroare. Parametrii blocului sunt: - Bit per symbol este 4 deoarece utilizează 4 bińi pentru fiecare simbol transmis. - Number of digits on display este 20 deoarece afişează 20 de simboluri. - Delay between input (1 st port) and output (2 nd port) este 0 - Sample time este 1 deoarece se consideră un eşantion la fiecare secundă. - Sum: afişează suma elementelor de la intrare. Parametrii blocului sunt: - Icon shape este rectangular. - List of signs este +. - Scope: afişează numărul de erori. - Display: afişează valoarea de la intrare. Primul număr generat aleator este 13. Numărul 13 este transformat în binar devenind [1101] care reprezintă secvenńa de informańie. Codului C(7,4) îi corespunde matricea generatoare g 0 1 1 0 M 1 0 0 0 g 1 0 1 1 M 0 1 0 0 G = =. g 1 1 1 0 0 1 0 2 M g3 1 0 1 M 0 0 0 1 Calculăm cuvântul codat care este dat de: v=i*g n= 7 [ 1101000] + [ 0110100] + [ 1010001] = 000 v = 1 g0 + 1 g1 + 0 g2 + 1 g3 = M 1101 n k= 3 k= 4 Blocul Binary Symmetric Channel introduce eroarea e=[0000001] care se adună la cuvântul codat formând secvenńa recepńionată r=[0001100]. Blocul Hamming Decoder decodează secvenńa recepńionată astfel: Pentru codul C(7,4), considerat, matricea de control va fi Sindromul este dat de : 1 0 0 M 1 0 1 1 H = 0 1 0 M 1 1 1 0. 0 0 1 M 0 1 1 1 [ 1 0 ] T T s Hr = 1 =. 6

Fie cuvântul eroare [ e e e e e e ] e =. Atunci : 0 1 2 3 4 5 e6 e0 + e3 + e5 + e6 = 1 T s = Hr e1 + e3 + e4 + e5 = 0. Rezultă că eroarea este e=[0000001]. e2 + e4 + e5 + e6 = 1 Ştiind eroarea introdusă se reface secvenńa de informańie transmisă. v = r + e = [ 0001100 ] + [ 0000001] = [ 0001101] = v. Rezultă secvenńa estimată care este [1101]. Se reface astfel numărul 13. Blocul Error Meter va afişa următoarele rezultate: Fig. 1.3 Modificând în blocul Binary Symmetric Channel parametrul Error probability putem introduce două erori sau chiar nici una. Pentru a nu introduce erori parametrul Error probability este 0.2. Fig. 1.4 7

În cazul modelului de mai sus nu a fost introdusă nici o eroare astfel încât sindromul calculat este s=0 de unde rezultă v = r ( secvenńa de informańie este egală cu secvenńa recepńionată). Pentru a introduce două erori parametrul Error probability este 0.3. În acest caz decodorul nu poate reface secvenńa de informańie transmisă deoarece codul Hamming este cod corector de o eroare producându-se o eroare de decodare. Fig. 1.5 Pentru ca Random-Integer Generator să genereze un singur simbol am stabilit timpul de simulare ca fiind de la 0 la 0.5 deoarece primul simbol se generează la 0 şi al doilea la 1. Pentru a genera mai multe simboluri timpul de simulare este stabilit de la 0 la 19 generându-se astfel 20 de numere. Numărul erorilor introduse pentru cele 20 de numere sunt reprezentate pe diagrama blocului Scope. 8

Fig. 1.6 În acest caz blocul Error Meter va afişa următoarele rezultate: Fig. 1.7 Comparând rezultatele reprezentate în fig. 1.6 şi 1.7 se observă că la transmiterea primului simbol, 13, a fost introdusă o singură eroare care a fost corectată; la transmiterea celui de al doilea simbol, 10, a fost introdusă tot o singură eroare care a 9

fost corectată; la transmiterea celui de al treilea simbol, 10, au fost introduse două erori care nu au putut fi corectate; la transmiterea celui de al patrulea simbol, 5, au fost introduse două erori care nu au putut fi corectate; ş.a.m.d. Desfasurarea lucrarii: 1. Sa se simuleze schema de mai sus notand efectele acesteia la modificarea parametrului Error probability din blocul BCS si sa se specifice rolul acestuia in schema. 2. Sa se modifice numarul de simboluri pentru care se face simularea mentionand care este parametrul asupra caruia trebuie sa actionam. 3. Sa se repete simularea modificandu-se secventa de numere generate si sa se specifice parametrul care trebuie modificat. 10