Kursplan
Kursens resultat
När kursen är avslutad ska studenten kunna ta itu med många av de öppna forskningsproblemen inom kommunikationsteknik, då de bör ha åtagit sig åtminstone följande färdigheter:
- Kartlägga och manipulera komplicerade matematiska uttryck som förekommer ofta i litteraturen inom kommunikationsteknik
- Förmåga att använda MATLAB:s programmeringsmöjligheter för att reproducerasimuleringsresultat från andra artiklar eller åtminstone närma sig dessa resultat.
- Skapa simuleringsmodeller för självföreslagna idéer.
- Använda de förvärvade simuleringsfärdigheterna effektivt i kombination med MATLAB:s kraftfulla funktioner för att designa optimerade MATLAB-koder med hänsyn till körtid samtidigt som man minimerar minnesanvändningen.
- Identifiera de viktiga simuleringsparametrarna för ett givet kommunikationssystem, extrahera dem ur systemmodellen och studera deras inverkan på systemets prestanda.
Kursupplägg
Det material som tillhandahålls i denna kurs är extremt korrelerat. Det rekommenderas inte att en student deltar i en nivå utan att först ha deltagit i och förstått dess föregående nivå för att säkerställa kontinuiteten i de förvärvade kunskaperna. Kursen är strukturerad i tre nivåer, från en introduktion till MATLAB-programmering upp till komplett systemsimulering, enligt följande.
Kommunikationsmatematik med MATLAB
Sessions 01-06
När detta avsnitt är avslutat ska studenten kunna utvärdera komplicerade matematiska uttryck och enkelt konstruera lämpliga grafer för olika datavisningar, såsom tids- och frekvensdomängrafer; BER-grafer, antennstrålningsdiagram… m.m.
Grundläggande koncept
- Konceptet med simulering
- Betydelsen av simulering inom kommunikationsteknik
- MATLAB som simuleringssmiljö
- Om matris- och vektormedrepresentation av skalära signaler i kommunikationsmatematik
- Matris- och vektormedrepresentation av komplexa basbandsignaler i MATLAB
MATLAB-arbetsyta
- Verktygsfält
- Kommandofönster
- Arbetsutrymme (Work space)
- Kommandohistorik
Declarering av variabler, vektorer och matriser
- MATLAB:s fördefinierade konstanter
- Användardefinierade variabler
- Arrayer, vektorer och matriser
- Manuell matrisinmatning
- Intervalldefinition
- Linjärt utrymme (Linear space)
- Logaritmiskt utrymme (Logarithmic space)
- Namngivningsregler för variabler
Särskilda matriser
- Enhet matrisen (Ones matrix)
- Nollmatrisen
- Identitetsmatrisen
Elementvis och matrisvis manipulering
- Hämta specifika element
- Ändra element
- Selektiv eliminering av element (Matristrunkning)
- Lägg till element, vektorer eller matriser (Matriskonkatenation)
- Hitta indexet för ett element i en vektor eller en matris
- Matrisformning (Reshaping)
- Matristrunkning
- Matriskonkatenation
- Vändning från vänster till höger och höger till vänster
Unära matrisoperatorer
- Summaoperatören
- Förväntningsvärdets operatör
- Min-operatorn
- Max-operatorn
- Sporoperatören (Trace)
- Matrisdeterminant |.|
- Matrisinvers
- Matristransponering
- Matrishermicitet
Binära matrisoperationer
- Aritmetiska operationer
- Relationella operationer
- Logiska operationer
Komplexa tal i MATLAB
- Komplex basbandrepresentation av bandpass-signaler och RF-uppkonvertering, en matematisk översikt
- Bildande av komplexa variabler, vektorer och matriser
- Komplexa exponentieller
- Reella delens operator
- Imaginära delens operator
- Konjugatoperatorn (.)*
- Absolutvärdesoperatorn |.|
- Argument- eller fasoperatorn
MATLAB:s inbyggda funktioner
- Vektorer av vektorer och matriser av matriser
- Kvadratrotfunktionen
- Signalfunktionen
- Funktionen "avrunda till heltal"
- Funktionen "närmaste nedåt heltal"
- Funktionen "närmaste uppåt heltal"
- Fakultetsfunktionen
- Logaritmiska funktioner (exp, ln, log10, log2)
- Trigonometriska funktioner
- Hyperboliska funktioner
- Q-funktionen Q(.)
- Funktionen erfc(.)
- Besselfunktion Jo (.)
- Gammafunktionen
- Kommandona Diff, mod
Polynom i MATLAB
- Polynom i MATLAB
- rationella funktioner
- Polynomderivator
- Polynomintegration
- Polynommultiplikation
Linjära skala-plottningar
- Visuella representationer av kontinuerliga tids-kontinuerliga amplitudsignaler
- Visuella representationer av signalerna approximerade med stegfunktioner
- Visuella representationer av diskreta tids – diskreta amplitudsignaler
Logaritmiska skala-plottningar
- dB-dekade-plottningar (BER)
- dekade-dB-plottningar (Bode-plottningar, frekvenssvar, signalspektrum)
- dekade-dekade-plottningar
- dB-linjära plottningar
2D-polära plottningar
- (Planära antennstrålningsdiagram)
3D-plottningar
- 3D-strålningsdiagram
- Kartesiska parametriska plottningar
Valfri sektion (ges efter lärares efterfrågan)
- Symbolisk derivation och numerisk differens i MATLAB
- Symbolisk och numerisk integration i MATLAB
- MATLAB-hjälp och dokumentation
MATLAB-filer
- MATLAB-skriptfiler
- MATLAB-funktionsfiler
- MATLAB-datafiler
- Lokala och globala variabler
Loops, villkorad flödeskontroll och beslutsfattande i MATLAB
- For-end-loopen
- While-end-loopen
- If-end-villkoret
- If-else-end-villkoren
- Switch-case-end-utsagnet
- Iterationer, konvergerande fel, multidimensionella summationsoperatorer
Inmatnings- och utmatningskommandon
- Kommandot input(' ')
- Kommandot disp
- Kommandot fprintf
- Meddelandefönstret msgbox
Signal- och systemoperationer
Sessions 07-14
Huvudmålen med detta avsnitt är följande
- Generera slumpmässiga testsignaler som krävs för att testa prestandan för olika kommunikationssystem
- Integrera många elementära signaloperationer som kan kombineras för att implementera en enskild kommunikationsbearbetningsfunktion, såsom kodare, randomisörer, interleave-rar, spridningskodsgeneratorer … m.m., både på sändarsidan och deras motsvarigheter på mottagarterminalen.
- Samkoppla dessa block korrekt för att uppnå en kommunikationsfunktion
- Simulering av deterministiska, statistiska och halvslumpmässiga inhus- och utomhus-narrowband-kanalmodeller
Generering av kommunikationstestsignaler
- Generering av en slumpmässig binär sekvens
- Generering av slumpmässiga heltalssekvenser
- Importera och läsa textfiler
- Läsa och uppspela ljudfiler
- Importera och exportera bilder
- Bild som en 3D-matris
- RGB till gråskala-transformation
- Serial bit stream för en 2D gråskala-bild
- Delning av bildsignalen i ramar (sub-framing) och rekonstruktion
Signaljustering och manipulering
- Amplitudskalning (förstärkning, dämpning, amplitudnormalisering… m.m.)
- DC-nivåjustering
- Tidsskalning (tidskompression, rarefaction)
- Tidsförskjutning (tidsfördröjning, tidsförskjutning framåt, cirkulär tidsförskjutning till vänster och höger)
- Mätning av signalenergin
- Normalisering av energi och effekt
- Skalning av energi och effekt
- Seriell-till-parallell och parallell-till-seriell konvertering
- Multiplexing och demultiplexing
Digitalisering av analogsignaler
- Tidsdomänspampling av kontinuerliga basbandsignaler i MATLAB
- Amplitudkvantisering av analogsignaler
- PCM-kodning av kvantiserade analogsignaler
- Konvertering decimala till binära och binära till decimala
- Pulsskapning (Pulse shaping)
- Beräkning av adekvat pulsbredd
- Val av antal stickprov per puls
- Konvolution med kommandona conv och filter
- Autokorrelation och korrelation för tidsegränsade signaler
- Snabb Fourier-transform (FFT) och inversa FFT-operationer
- Visning av ett basbandsignalspektrum
- Effekten av stickprovtakten och det korrekta frekvensfönstret
- Sambandet mellan konvolution, korrelation och FFT-operationer
- Frekvensdomänfiltrering, endast lågpassfiltrering
Hjälpande kommunikationsfunktioner
- Randomisörer och derandomisörer
- Punkterare och depunkterare
- Kodare och avkodare
- Interleave-rare och deinterleave-rare
Modulatorer och demodulatorer
- Digitala basbandsmodulationsscheman i MATLAB
- Visuell representation av digitalt modulerade signaler
Kanalmotivering och simulering
- Matematisk modellering av kanaleffekten på den utsända signalen
- Addition – tillagd vit gaussiskt brus (AWGN)-kanaler
- Tidsdomänmultiplikation – långsam fadedo, dopplerförskjutning i fordonskanaler
- Frekvensdomänmultiplikation – frekvensselektiva fadedokanaler
- Tidsdomänkonvolution – kanalimpulsrespons
Exempel på deterministiska kanalmodeller
- Frirums-signalutbredningsförlust och miljöberoende signalutbredningsförlust
- Periodiska blockageringskanaler
Statistisk karakterisering vanliga stationära och kvasi-stationära multipath-fadedokanaler
- Generering av en jämnt fördelad slumpvariabel
- Generering av en reell gaussiskt fördelad slumpvariabel
- Generering av en komplex gaussiskt fördelad slumpvariabel
- Generering av en Rayleigh-fördelad slumpvariabel
- Generering av en Ricean-fördelad slumpvariabel
- Generering av en lognormalt fördelad slumpvariabel
- Generering av en slumpvariabel med godtycklig fördelning
- Approximation av en okänd tättfunktion (PDF) för en slumpvariabel med en histogram
- Numerisk beräkning av den kumulativa fördelningsfunktionen (CDF) för en slumpvariabel
- Reella och komplexa tillagda vita gaussiska brus (AWGN)-kanaler
Kanalkarakterisering genom dess effektförseningsprofil
- Kanalkarakterisering genom dess effektförseningsprofil
- Effekt-normalisering av PDP
- Extraktion av kanalimpulsrespons från PDP
- Stickprovtaking av kanalimpulsrespons med godtycklig stickprovtakt, missmatchad sampling och försenning
- kvantisering
- Problem med missmatchad sampling av kanalimpulsrespons för narrowband-kanaler
- Stickprovtaking av en PDP med godtycklig stickprovtakt och fraktionell förseningskompensation
- Implementering av flera IEEE-standardiserade inhus- och utomhus-kanalmodeller
- (COST – SUI - Ultra Wide Band Channel Models… m.m.)
Link-level simulering av praktiska kommunikationssystem
Sessions 15-24
Detta avsnitt av kursen behandlar det viktigaste ämnet för forskningsstudenter, det vill säga hur man reproducerar simuleringsresultat från andra publicerade artiklar via simulering.
Bitfelhastighetsprestanda för basband digital modulation schemes
- Prestandajämförelse av olika basband digitala modulation schemes i AWGN-kanaler (Omfattande komparativ studie via simulering för att verifiera teoretiska uttryck); scatter plots, bitfelhastighet
- Prestandajämförelse av olika basband digitala modulation schemes i olika stationära och kvasi-stationära fadedokanaler; scatter plots, bitfelhastighet (Omfattande komparativ studie via simulering för att verifiera teoretiska uttryck)
- Effekten av dopplerförskjutningskanaler på prestandan för basband digitala modulation schemes; scatter plots, bitfelhastighet
- Helikopter-till-satellit kommunikation
- Artikel (1): Lågkostnadigt realtids-ljud- och data-system för luftfarts mobil satellitttjänst (AMSS) – Problemformulering och analys
- Artikel (2): Fördetektering tidsdiversitet kombination med exakt AFC för helikopter-satellitkommunikation – Den första föreslagna lösningen
- Artikel (3): En adaptiv modulationsschema för helikopter-satellitkommunikation – En prestandaförbättringsmetod
Simulering av Spread Spectrum System
- Typisk arkitektur för spread spectrum-baserade system
- Direct sequence spread spectrum-baserade system
- Pseudorandom binary sequence (PBRS) generatorer
- Generering av maximala längdsekvenser
- Generering av Gold-koder
- Generering av Walsh-koder
- Time hopping spread spectrum-baserade system
- Bitfelhastighetsprestanda för spread spectrum-baserade system i AWGN-kanaler
- Effekten av kodningstakten r på BER-prestandan
- Effekten av kodenlängden på BER-prestandan
- Bitfelhastighetsprestanda för spread spectrum-baserade system i multipath långsam Rayleigh fadedokanaler med noll dopplerförskjutning
- Analys av bitfelhastighetsprestanda för spread spectrum-baserade system i hög mobilitet fadedomiljöer
- Analys av bitfelhastighetsprestanda för spread spectrum-baserade system i närvaro av multi-user interferens
- RGB bildöverföring via spread spectrum system
- Optiska CDMA (OCDMA) system
- Optiska ortogonala koder (OOC)
- Prestandagränser för OCDMA system; bitfelhastighetsprestanda för synkrona och asynkrona OCDMA system
Ultra wide band SS system
OFDM-baserade system
- Implementering av OFDM-system med Snabb Fourier-transform
- Typisk arkitektur för OFDM-baserade system
- Bitfelhastighetsprestanda för OFDM-system i AWGN-kanaler
- Effekten av kodningstakten r på BER-prestandan
- Effekten av cirkulära prefixet på BER-prestandan
- Effekten av FFT-storleken och subcarrier-spaced på BER-prestandan
- Bitfelhastighetsprestanda för OFDM-system i multipath långsam Rayleigh fadedokanaler med noll dopplerförskjutning
- Bitfelhastighetsprestanda för OFDM-system i multipath långsam Rayleigh fadedokanaler med CFO
- Kanalestimiering i OFDM-system
- Frekvensdomänekvalisering i OFDM-system
- Zero Forcing Ekvialiseringar
- MMSE Ekvialiseringar
- Andra vanliga prestandamätare för OFDM-baserade system (Peak-to-Average Power Ratio, Carrier-to-Interference Ratio… m.m.)
- Prestandaanalys av OFDM-baserade system i hög mobilitet fadedomiljöer (som ett simuleringsprojekt bestående av tre artiklar)
- Artikel (1): Dämpning av intercarrier interferens
- Artikel (2): MIMO-OFDM System
Optimering av ett MATLAB-simuleringsprojekt
Syftet med detta avsnitt är att lära sig hur man bygger och optimerar ett MATLAB-simuleringsprojekt för att förenkla och organisera hela simuleringsprocessen. Dessutom beaktas minnesutrymme och bearbetningstid för att undvika minnesöverskridande problem i systemer med begränsat lagringsutrymme eller lång körtid orsakad av långsam bearbetning.
- Typisk struktur för simuleringsprojekt i liten skala
- Extraktion av simuleringsparametrar och teoretisk-till-simulerings mappning
- Byggande av ett simuleringsprojekt
- Monte Carlo Simuleringsteknik
- En typisk procedur för att testa ett simuleringsprojekt
- Minneshantering och tekniker för att minska simulerings tiden
- Basband kontra Bandpass Simulering
- Beräkning av adekvat pulsbredd för trunkerade godtyckliga pulsskaper
- Beräkning av adekvat antal stickprov per symbol
- Beräkning av nödvändigt och tillräckligt antal bits för att testa ett system
GUI-programmering
Att ha en MATLAB-kod fri från felfelsökningsproblem och fungerande korrekt för att producera korrekta resultat är en stor åstadkomna. Däremot styr en uppsättning nyckelparametrar i ett simuleringsprojekt kontrollen av simuleringsprocessen. Av denna anledning, bland andra, ges en extra föreläsning om "Graphical User Interface (GUI) Programmering" för att ge kontroll över olika delar av ditt simuleringsprojekt inom räckhåll istället för att dyka ner i långa källkoder fulla av kommandon. Dessutom hjälper det att ha din MATLAB-kod maskerad med en GUI att presentera ditt arbete på ett sätt som underlättar kombination av flera resultat i ett huvudfönster och gör det enklare att jämföra data.
- Vad är en MATLAB GUI
- Struktur av MATLAB GUI funktionsfil
- Huvudkomponenter i GUI (viktiga egenskaper och värden)
- Lokala och globala variabler
Obs: Ämnena som behandlas på varje nivå av denna kurs inkluderar, men är inte begränsade till, de som nämns på respektive nivå. Dessutom kan punkterna i varje specifik föreläsning ändras beroende på lärares behov och deras forskningsintressen.
Krav
För att assimilera den stora mängd kunskaper som ingår i denna kurs bör deltagarna ha allmän bakgrundskunskap i vanliga programmeringsspråk och tekniker. En djup förståelse för grundkursnivåns kurser inom kommunikationsteknik rekommenderas starkt.
Vittnesmål (2)
De många exempel och kodens byggande från början till slut.
Toon - Draka Comteq Fibre B.V.
Kurs - Introduction to Image Processing using Matlab
Maskintolkat
Många användbara övningar, väl förklarade
Helene Meadows - European Investment Bank
Kurs - MATLAB Programming
Maskintolkat