Schița de curs
• Rezultatele acestui curs
După finalizarea acestui curs, studentul ar trebui să fie capabil să abordeze multe dintre problemele de cercetare deschise în domeniul ingineriei comunicațiilor, deoarece ar trebui să fi dobândit cel puțin următoarele abilități:
• Maparea și manipularea expresiilor matematice complicate care apar frecvent în literatura de inginerie a comunicațiilor
• Capacitatea de a utiliza capacitățile de programare oferite de MATLAB pentru a reproduce rezultatele de simulare ale altor lucrări sau pentru a se apropia cel puțin de aceste rezultate.
• Crearea modelelor de simulare pentru idei proprii.
• Utilizarea eficientă a abilităților de simulare dobândite împreună cu capacitățile puternice ale MATLAB pentru a proiecta coduri MATLAB optimizate în ceea ce privește timpul de execuție al codului, economisind spațiul de memorie.
• Identificarea parametrilor cheie de simulare ai unui sistem de comunicații dat, extragerea lor din modelul sistemului și studierea impactului acestor parametri asupra performanței sistemului considerat.
• Structura cursului
Materialul oferit în acest curs este extrem de corelat. Nu este recomandat ca un student să participe la un nivel decât dacă a participat și a înțeles profund nivelul anterior pentru a asigura continuitatea cunoștințelor dobândite. Cursul este structurat în trei niveluri, începând de la o introducere în programarea MATLAB până la nivelul de simulare completă a sistemului, după cum urmează.
Nivelul 1: Matematică pentru comunicații cu MATLAB
Sesiunile 01-06
După finalizarea acestei părți, studentul va putea evalua expresii matematice complicate și va putea construi cu ușurință graficele potrivite pentru diferite reprezentări de date, cum ar fi grafice în domeniul timpului și frecvenței; grafice BER, modele de radiație ale antenelor etc.
Concepte fundamentale
1. Conceptul de simulare
2. Importanța simulării în ingineria comunicațiilor
3. MATLAB ca mediu de simulare
4. Despre reprezentarea matricială și vectorială a semnalelor scalare în matematica comunicațiilor
5. Reprezentări matriciale și vectoriale ale semnalelor de bandă de bază complexe în MATLAB
Interfața MATLAB
6. Bara de instrumente
7. Fereastra de comenzi
8. Spațiul de lucru
9. Istoricul comenzilor
Declararea variabilelor, vectorilor și matricilor
10. Constante predefinite în MATLAB
11. Variabile definite de utilizator
12. Array-uri, vectori și matrici
13. Introducerea manuală a matricilor
14. Definirea intervalelor
15. Spațiu liniar
16. Spațiu logaritmic
17. Reguli de denumire a variabilelor
Matrici speciale
18. Matricea ones
19. Matricea zeros
20. Matricea identitate
Manipularea element cu element și matrice cu matrice
21. Accesarea elementelor specifice
22. Modificarea elementelor
23. Eliminarea selectivă a elementelor (Trunchierea matricilor)
24. Adăugarea elementelor, vectorilor sau matricilor (Concatenarea matricilor)
25. Găsirea indexului unui element într-un vector sau matrice
26. Remodelarea matricilor
27. Trunchierea matricilor
28. Concatenarea matricilor
29. Întoarcerea de la stânga la dreapta și de la dreapta la stânga
Operatori unari ai matricilor
30. Operatorul Sum
31. Operatorul Așteptare
32. Operatorul Min
33. Operatorul Max
34. Operatorul Trace
35. Determinantul matricei |.|
36. Inversa matricei
37. Transpusa matricei
38. Matricea Hermitiană
39. …etc
Operații binare ale matricilor
40. Operații aritmetice
41. Operații relaționale
42. Operații logice
Numere complexe în MATLAB
43. Reprezentarea semnalelor de bandă de trecere în bandă de bază complexă și conversia RF, o revizuire matematică
44. Formarea variabilelor, vectorilor și matricilor complexe
45. Exponențiale complexe
46. Operatorul parte reală
47. Operatorul parte imaginară
48. Operatorul conjugat (.)*
49. Operatorul absolut |.|
50. Operatorul argument sau fază
Funcții încorporate în MATLAB
51. Vectori de vectori și matrice de matrice
52. Funcția rădăcină pătrată
53. Funcția sign
54. Funcția "rotunjire la întreg"
55. Funcția "cel mai apropiat întreg inferior"
56. Funcția "cel mai apropiat întreg superior"
57. Funcția factorial
58. Funcții logaritmice (exp, ln, log10, log2)
59. Funcții trigonometrice
60. Funcții hiperbolice
61. Funcția Q(.)
62. Funcția erfc(.)
63. Funcțiile Bessel Jo (.)
64. Funcția Gamma
65. Comenzile diff, mod
Polinoame în MATLAB
66. Polinoame în MATLAB
67. Funcții raționale
68. Derivatele polinoamelor
69. Integrarea polinoamelor
70. Înmulțirea polinoamelor
Grafice pe scară liniară
71. Reprezentări vizuale ale semnalelor continue în timp și amplitudine
72. Reprezentări vizuale ale semnalelor aproximate în trepte
73. Reprezentări vizuale ale semnalelor discrete în timp și amplitudine
Grafice pe scară logaritmică
74. Grafice dB-decadă (BER)
75. Grafice decadă-dB (diagrame Bode, răspuns în frecvență, spectru de semnal)
76. Grafice decadă-decadă
77. Grafice dB-liniare
Grafice polare 2D
78. (modele de radiație ale antenelor plane)
Grafice 3D
79. Modele de radiație 3D
80. Grafice parametrice carteziene
Secțiune opțională (oferită la cererea participanților)
81. Diferențierea simbolică și diferențierea numerică în MATLAB
82. Integrarea simbolică și numerică în MATLAB
83. Ajutor și documentație MATLAB
Fișiere MATLAB
84. Fișiere script MATLAB
85. Fișiere funcție MATLAB
86. Fișiere de date MATLAB
87. Variabile locale și globale
Bucle, condiții, controlul fluxului și luarea deciziilor în MATLAB
88. Bucla for end
89. Bucla while end
90. Condiția if end
91. Condițiile if else end
92. Instrucțiunea switch case end
93. Iterații, erori convergente, operatori de sumă multidimensionali
Comenzi de intrare și afișare
94. Comanda input(' ')
95. Comanda disp
96. Comanda fprintf
97. Caseta de mesaje msgbox
Nivelul 2: Operații pe Semnale și Sisteme (24 ore)
Sesiunile 07-14
Principalele obiective ale acestei părți sunt următoarele
• Generarea semnalelor de test aleatoare necesare pentru testarea performanței diferitelor sisteme de comunicații
• Integrarea mai multor operații elementare pe semnale pentru a implementa o singură funcție de procesare a comunicațiilor, cum ar fi codificatoare, randomizatoare, interleavare, generatoare de coduri de împrăștiere etc. la emițător, precum și omoloagele lor la receptor.
• Interconectarea corectă a acestor blocuri pentru a realiza o funcție de comunicații
• Simularea modelelor de canale înguste deterministe, statistice și semi-aleatoare pentru interior și exterior
Generarea semnalelor de test pentru comunicații
98. Generarea unei secvențe binare aleatoare
99. Generarea unei secvențe de numere întregi aleatoare
100. Importarea și citirea fișierelor text
101. Citirea și redarea fișierelor audio
102. Importarea și exportul imaginilor
103. Imaginea ca o matrice 3D
104. Transformarea RGB în tonuri de gri
105. Fluxul de biți serial al unei imagini 2D în tonuri de gri
106. Subdivizarea semnalelor de imagine și reconstrucția
Condiționarea și manipularea semnalelor
107. Scalarea amplitudinii (câștig, atenuare, normalizare a amplitudinii etc.)
108. Deplasarea nivelului DC
109. Scalarea timpului (compresie temporală, rarefacție)
110. Deplasarea temporală (întârziere, avans, deplasare circulară la stânga și la dreapta)
111. Măsurarea energiei semnalului
112. Normalizarea energiei și puterii
113. Scalarea energiei și puterii
114. Conversia serial-în-paralel și paralel-în-serial
115. Multiplexare și demultiplexare
Digitizarea semnalelor analogice
116. Eșantionarea în domeniul timp a semnalelor de bandă de bază continue în MATLAB
117. Cuantizarea amplitudinii semnalelor analogice
118. Codificarea PCM a semnalelor analogice cuantizate
119. Conversia zecimal-în-binar și binar-în-zecimal
120. Modelarea impulsurilor
121. Calculul lățimii adecvate a impulsului
122. Selectarea numărului de eșantioane pe impuls
123. Convoluția folosind comenzile conv și filter
124. Autocorelația și corelația încrucișată a semnalelor limitate în timp
125. Operațiile de Transformare Rapidă Fourier (FFT) și IFFT
126. Vizualizarea spectrului unui semnal de bandă de bază
127. Efectul ratei de eșantionare și a ferestrei de frecvență adecvate
128. Relația dintre convoluție, corelație și operațiile FFT
129. Filtrarea în domeniul frecvenței, doar filtrare trece-jos
Funcții auxiliare pentru comunicații
130. Randomizatoare și derandomizatoare
131. Punctatoare și depunctatoare
132. Codificatoare și decodificatoare
133. Interleavere și deinterleavere
Modulatoare și demodulatoare
134. Scheme de modulație digitală de bandă de bază în MATLAB
135. Reprezentarea vizuală a semnalelor modulate digital
Modelarea și simularea canalelor
136. Modelarea matematică a efectului canalului asupra semnalului transmis
• Adăugare – canale cu zgomot alb gaussian aditiv (AWGN)
• Înmulțire în domeniul timp – canale cu fading lent, deplasare Doppler în canale vehiculare
• Înmulțire în domeniul frecvenței – canale cu fading selectiv în frecvență
• Convoluție în domeniul timp – răspunsul la impuls al canalului
Exemple de modele de canale deterministe
137. Pierderi de cale în spațiu liber și pierderi de cale dependente de mediu
138. Canale cu blocare periodică
Caracterizarea statistică a canalelor comune staționare și cvasi-staționare cu fading multipath
139. Generarea unei variabile aleatoare uniform distribuite
140. Generarea unei variabile aleatoare gaussiene reale
141. Generarea unei variabile aleatoare gaussiene complexe
142. Generarea unei variabile aleatoare Rayleigh distribuite
143. Generarea unei variabile aleatoare Rice distribuite
144. Generarea unei variabile aleatoare lognormal distribuite
145. Generarea unei variabile aleatoare distribuite arbitrar
146. Aproximarea unei funcții de densitate de probabilitate (PDF) necunoscute a unei variabile aleatoare printr-un histogramă
147. Calculul numeric al funcției de distribuție cumulativă (CDF) a unei variabile aleatoare
148. Canale cu zgomot alb gaussian aditiv (AWGN) real și complex
Caracterizarea canalului prin profilul său de întârziere a puterii
149. Caracterizarea canalului prin profilul său de întârziere a puterii
150. Normalizarea puterii PDP
151. Extragerea răspunsului la impuls al canalului din PDP
152. Eșantionarea răspunsului la impuls al canalului la o rată de eșantionare arbitrară, eșantionare necorespunzătoare și cuantizarea întârzierii
153. Problema eșantionării necorespunzătoare a răspunsului la impuls al canalului de bandă îngustă
154. Eșantionarea unui PDP la o rată de eșantionare arbitrară și compensarea întârzierii fracționare
155. Implementarea mai multor modele de canale standardizate IEEE pentru interior și exterior
156. (COST – SUI - Modele de canale cu bandă ultra largă etc.)
Nivelul 3: Simularea la nivel de legătură a sistemelor de comunicații practice (30 ore)
Sesiunile 15-24
Această parte a cursului se concentrează pe cea mai importantă problemă pentru studenții de cercetare, și anume cum să reproducă rezultatele de simulare ale altor lucrări publicate prin simulare.
Performanța ratei de eroare pe bit a schemelor de modulație digitală de bandă de bază
1. Compararea performanței diferitelor scheme de modulație digitală de bandă de bază în canale AWGN (Studiu comparativ cuprinzător prin simulare pentru verificarea expresiilor teoretice); diagrame de împrăștiere, rata de eroare pe bit
2. Compararea performanței diferitelor scheme de modulație digitală de bandă de bază în diferite canale staționare și cvasi-staționare cu fading; diagrame de împrăștiere, rata de eroare pe bit (Studiu comparativ cuprinzător prin simulare pentru verificarea expresiilor teoretice)
3. Impactul canalelor cu deplasare Doppler asupra performanței schemelor de modulație digitală de bandă de bază; diagrame de împrăștiere, rata de eroare pe bit
Comunicații elicopter-satelit
4. Lucrarea (1): Sistem de voce și date în timp real de cost redus pentru serviciul mobil aeronautic prin satelit (AMSS) – Enunțarea și analiza problemei
5. Lucrarea (2): Combinarea diversității de timp pre-detecție cu AFC precisă pentru comunicațiile elicopter-satelit – Prima soluție propusă
6. Lucrarea (3): O schemă de modulație adaptivă pentru comunicațiile elicopter-satelit – O abordare de îmbunătățire a performanței
Simularea sistemelor cu spectru împrăștiat
1. Arhitectura tipică a sistemelor bazate pe spectru împrăștiat
2. Sisteme bazate pe spectru împrăștiat cu secvență directă
3. Generatoare de secvențe binare pseudo-aleatoare (PBRS)
• Generarea secvențelor de lungime maximă
• Generarea codurilor Gold
• Generarea codurilor Walsh
4. Sisteme bazate pe spectru împrăștiat cu salt în timp
5. Performanța ratei de eroare pe bit a sistemelor bazate pe spectru împrăștiat în canale AWGN
• Impactul ratei de codare r asupra performanței BER
• Impactul lungimii codului asupra performanței BER
6. Performanța ratei de eroare pe bit a sistemelor bazate pe spectru împrăștiat în canale multipath cu fading Rayleigh lent și fără deplasare Doppler
7. Analiza performanței ratei de eroare pe bit a sistemelor bazate pe spectru împrăștiat în medii de fading cu mobilitate ridicată
8. Analiza performanței ratei de eroare pe bit a sistemelor bazate pe spectru împrăștiat în prezența interferenței multi-utilizator
9. Transmisia imaginilor RGB peste sisteme cu spectru împrăștiat
10. Sisteme CDMA optice (OCDMA)
• Coduri ortogonale optice (OOC)
• Limitele de performanță ale sistemelor OCDMA; performanța ratei de eroare pe bit a sistemelor OCDMA sincrone și asincrone
Sisteme SS cu bandă ultra largă
Sisteme bazate pe OFDM
11. Implementarea sistemelor OFDM folosind Transformarea Rapidă Fourier
12. Arhitectura tipică a sistemelor bazate pe OFDM
13. Performanța ratei de eroare pe bit a sistemelor OFDM în canale AWGN
• Impactul ratei de codare r asupra performanței BER
• Impactul prefixului ciclic asupra performanței BER
• Impactul dimensiunii FFT și al spațiului dintre subportoare asupra performanței BER
14. Performanța ratei de eroare pe bit a sistemelor OFDM în canale multipath cu fading Rayleigh lent și fără deplasare Doppler
15. Performanța ratei de eroare pe bit a sistemelor OFDM în canale multipath cu fading Rayleigh lent și cu CFO
16. Estimarea canalului în sistemele OFDM
17. Egalizarea în domeniul frecvenței în sistemele OFDM
• Egalizator Zero Forcing
• Egalizatoare MMSE
18. Alte metrici de performanță comune în sistemele bazate pe OFDM (Raportul vârf-la-medie a puterii, Raportul semnal-interferență etc.)
19. Analiza performanței sistemelor bazate pe OFDM în medii de fading cu mobilitate ridicată (ca proiect de simulare format din trei lucrări)
20. Lucrarea (1): Mitigarea interferenței interportoare
21. Lucrarea (2): Sisteme MIMO-OFDM
Optimizarea unui proiect de simulare MATLAB
Scopul acestei părți este de a învăța cum să construiți și să optimizați un proiect de simulare MATLAB pentru a simplifica și organiza procesul general de simulare. În plus, sunt luate în considerare spațiul de memorie și viteza de procesare pentru a evita problemele de depășire a memoriei în sistemele cu spațiu de stocare limitat sau timpii lungi de rulare cauzați de procesarea lentă.
1. Structura tipică a unui proiect de simulare la scară mică
2. Extragerea parametrilor de simulare și maparea teoretică la simulare
3. Construirea unui proiect de simulare
4. Tehnica de simulare Monte Carlo
5. O procedură tipică pentru testarea unui proiect de simulare
6. Tehnici de gestionare a spațiului de memorie și reducere a timpului de simulare
• Simulare de bandă de bază vs. bandă de trecere
• Calculul lățimii adecvate a impulsului pentru forme de impuls trunchiate arbitrare
• Calculul numărului adecvat de eșantioane pe simbol
• Calculul numărului necesar și suficient de biți pentru testarea unui sistem
Programare GUI
A avea un cod MATLAB fără erori și care funcționează corect pentru a produce rezultate corecte este o realizare mare. Cu toate acestea, un set de parametri cheie într-un proiect de simulare controlează procesul. Din acest motiv și nu numai, este oferită o lecție suplimentară despre "Programarea Interfeței Grafice (GUI)" pentru a aduce controlul asupra diferitelor părți ale proiectului dvs. de simulare la îndemână, în loc să vă scufundați într-un cod sursă lung plin de comenzi. În plus, mascarea codului MATLAB cu o GUI ajută la prezentarea lucrării dvs. într-un mod care facilitează combinarea mai multor rezultate într-o fereastră principală și face mai ușoară compararea datelor.
1. Ce este o GUI MATLAB
2. Structura fișierului funcție GUI MATLAB
3. Componentele principale ale GUI (proprietăți și valori importante)
4. Variabile locale și globale
Notă: Subiectele acoperite în fiecare nivel al acestui curs includ, dar nu se limitează la, cele menționate în fiecare nivel. În plus, elementele fiecărei lecții specifice sunt supuse modificărilor în funcție de nevoile participanților și interesele lor de cercetare.
Cerințe
Pentru a dobândi cunoștințele extinse oferite de acest curs, participanții ar trebui să aibă cunoștințe de bază despre limbaje și tehnici comune de programare. O înțelegere profundă a cursurilor de licență în inginerie a comunicațiilor este puternic recomandată.
Mărturii (2)
Multitudinea de exemple și construirea codului de la început până la sfârșit.
Toon - Draka Comteq Fibre B.V.
Curs - Introduction to Image Processing using Matlab
Tradus de catre o masina
Multe exerciții utile, bine explicative
Helene Meadows - European Investment Bank
Curs - MATLAB Programming
Tradus de catre o masina