MATLAB-stöd till Telekomm-kursen Vt-08 För Data- och Elektro

Relevanta dokument
Linköpings universitet Institutionen för systemteknik (ISY) Fordonssystem. Laborationskompendium Fordonsdynamik TSFS02

Ulrik Söderström 20 Jan Signaler & Signalanalys

Ulrik Söderström 19 Jan Signalanalys

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Laboration 2 - Modulering I denna laboration skall vi

Tillämpad Fysik Och Elektronik 1

Laboration 3 Sampling, samplingsteoremet och frekvensanalys

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

Datorövning: Fouriertransform med Python

MATLAB. En kort praktisk introduktion. Olof Hultin FAFA Omarbetad efter original av Henrik Persson

Signalanalys med snabb Fouriertransform

MR-laboration: design av pulssekvenser

TSKS21 Signaler, Information och Bilder Lab 2: Digitalisering

MATLAB Matrix laboratory

Projekt 3: Diskret fouriertransform

TEM Projekt Transformmetoder

Signaler & Signalanalys

Introduktion till MATLAB

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

LABORATION i TELEKOMMUNIKATION AMPLITUDMODULERING

Växelström K O M P E N D I U M 2 ELEKTRO

Frekvensplanet och Bode-diagram. Frekvensanalys

TSBB14 Laboration: Intro till Matlab 1D

Samtidig visning av alla storheter på 3-fas elnät

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Laboration: Grunderna i MATLAB

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

FREKVENSSPEKTRUM TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 1

DT1130 Spektrala transformer Tentamen

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

AC-kretsar. Växelströmsteori. Lund University / Faculty / Department / Unit / Document / Date

SIGNALANALYS I FREKVENSRUMMET

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Tillämpning av komplext kommunikationssystem i MATLAB

2 Laborationsutrustning

BE MATLAB. (Matrix Laboratory) matlab.ico. för SIGNALER SYSTEM

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Beräkningsverktyg HT07

Flerdimensionella signaler och system

Laboration i Fourieroptik

Spektralanalys - konsten att hitta frekvensinnehållet i en signal

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

Lab Tema 2 Ingenjörens verktyg

Affina avbildningar Fraktala bilder Itererade funktionssystem. Affina avbildningar, itererade funktionssystem och fraktala bilde

Spä nningsmä tning äv periodiskä signäler

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Ellära 2, Tema 3. Ville Jalkanen Tillämpad fysik och elektronik, UmU. 1

Matlabövning 1 Funktioner och grafer i Matlab

Laboration i Fourieranalys för F2, TM2, Kf2 2011/12 Signalanalys med snabb Fouriertransform (FFT)

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

Laboration i tidsdiskreta system

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

En introduktion till MatLab

2F1120 Spektrala transformer för Media Tentamen

Laboration: Grunderna i Matlab

Laboration 1. Grafisk teknik (TNM059) Introduktion till Matlab. R. Lenz och S. Gooran (VT2007)

GRUNDKURS I SIGNALBEHANDLING (454300), 5sp Tentamen

2 februari 2016 Sida 1 / 23

Instruktion för laboration 1

Linjär algebra med tillämpningar, lab 1

Spänningsmätning av periodiska signaler

Spektrala Transformer

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Matlabövning 1 Funktioner och grafer i Matlab

MMA132: Laboration 2 Matriser i MATLAB

Tillämpad digital signalbehandling Laboration 1 Signalbehandling i Matlab och LabVIEW

Datorövning 1 Fördelningar

Spektrala Transformer

Spektrala Transformer

Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE. Introduktion till verktyget SIMULINK. Grunderna...2

Signal- och Bildbehandling, TSBB14. Laboration 2: Sampling och rekonstruktion. DFT.

Övningar med Digitala Filter med exempel på konstruktion och analys i MatLab

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Liten MATLAB introduktion

Laborationstillfälle 1 Lite mer om Matlab och matematik

TAIU07 Matematiska beräkningar med Matlab

Introduktion till Matlab 1

IF1330 Ellära KK1 LAB1 KK2 LAB2. tentamen

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

Signalbehandling Röstigenkänning

Tentamen ssy080 Transformer, Signaler och System, D3

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik. SIGNALBEHANDLING I MULTIMEDIA, ETI265 Inlämningsuppgift 1 (av 2), Task 1 (out of 2)

Lab 1 Analog modulation

Grundläggande signalbehandling

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

MATLAB övningar, del1 Inledande Matematik

Matematikcentrum 1(6) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs VT2014, lp3. Laboration 2. Fördelningar och simulering

Examples on Analog Transmission

Denna våg passerar mikrofonen, studsar mot väggen och passerar åter mikrofonen efter tiden

DT1130 Spektrala transformer Tentamen

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Spektrala Transformer

Transkript:

24-3-21/BE Uppdaterad 26-1-12/US Uppdaterad 28-1-11/US MATLAB-stöd till Telekomm-kursen Vt-8 För Data- och Elektro MATLAB-stöd 1

Ungefär så här ser program-interfacet ut när Du klickat på MATLAB-ikonen Definiera arbets-mapp Kommando-rad Vid arbete på kommando-raden fungerar programmet som räknedosa. Några exempel: MATLAB-stöd 2

Definiera x som heltal till 1, beräkna y som x och plotta y som funktion av x: 3.5 3 2.5 2 1.5 1.5 2 4 6 8 1 Om semikolon (;) utelämnas visas resultat direkt i kommadoförnstret. Det går att rensa arbetsarean med kommandot clc >> t=:.1:.4;y=exp(-t) y = 1..948.8187.748.673 t är en vektor med värden från till.4 med steglängd.1 En vektor kan definieras så här: t = startvärde:steg:slutvärde; (Om semikolon utelämnas skrivs t ut direkt) Det finns även en funktion för att skapa vektorer: Man upptäcker snart att det blir otympligt att enbart jobba i kommandofönstret och kan då samla ett antal kommandon i en fil med extension.m. Öppna ny m-fil här MATLAB-stöd 3

Spara filen som t.ex. my_ex1.m Exekvering antingen från texteditorn genom klick eller genom att på kommando-raden skriva in filens namn: >>my_ex1 Resultatet blir så här: MATLAB-stöd 4

1.9.8.7.6.5.4.3.2.1.2.4.6.8 1 1.2 1.4 1.6 1.8 2 Låt oss nu plotta en sinusfunktion med frekvensen 5 Hz. (Period-tid 1/5 =.2 sek.) Lägg i samma plott in en cosinusfunktion med samma frekvens: MATLAB-stöd 5

1.8.6.4.2 -.2 -.4 -.6 -.8-1.5.1.15.2.25.3.35.4 Om man vill ha hjälp med t.ex plot-funktionen, skriv: >> help plot PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, length(y) disconnected points are plotted. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored. Various line types, plot symbols and colors may be obtained with PLOT(X,Y,S) where S is a character string made from one element from any or all the following 3 columns: b blue. point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star y yellow s square k black d diamond v triangle (down) ^ triangle (up) MATLAB-stöd 6

< triangle (left) > triangle (right) p pentagram h hexagram For example, PLOT(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; PLOT(X,Y,'bd') plots blue diamond at each data point but does not draw any line. En signal har många egenskaper. Här är några: my_ex3.m f=5; N=2; P=1/f; T=N*P; t=:.1:t; s=sin(2*pi*f*t); Beräkna några egenskaper hos s maxx=max(s) minn=min(s) medel=mean(s) eff=std(s) 5 Hz Antal perioder Periodtid Totaltid Tidvektor med steg.1 sek. Sinus Maxvärde Minvärde Medelvärde Effektivvärde ("RMS") Max,min,mean och std är inbyggda funktioner Exekvering ger maxx=1, minn= -1, medel = -8.56e-17 eff =.771 MATLAB-stöd 7

En viktig egenskap hos en signal är dess spektrum, dvs signalens frekvens-innehåll En ofta använd funktion för beräkning av spektrum är FFT, Fast Fourier Transform: Följande m-filer visar exempel på användning av FFT my_ex4.m f=5; N=2; P=1/f; T=N*P; t=:.1:t-.1; fs=1/.1; s=sin(2*pi*f*t); Beräkna spektrum för s N=length(s); df=fs/n; y=abs(fft(s)); f=:df:(n/2-1)*df; y=y(1:n/2); skala=2/n; plot(f,skala*y); xlabel('frekvens [Hz]'); Title('Spektrum för s'); 5 Hz Antal perioder Periodtid Totaltid Tidvektor med steg.1 sek. dvs samplingsfrekvens fs = 1 Hz Sinus Antal sampel Frekvensupplösning Utför FFT och tag beloppet Frekvensaxel Halvera spektrum Justera amplitudskalning Plotta spektrum MATLAB-stöd 8

1 Spektrum för s.9.8.7.6.5.4.3.2.1 5 1 15 2 25 3 35 4 45 5 Frekvens [Hz] Man ser en frekvenskomponent med amplituden 1 enhet vid frekvensen 5 Hz, vilket var väntat. Modifiera genom att ta beloppet av signalen s: my_ex4_dist.m Som my_ex4.m:... s=sin(2*pi*f*t); s=abs(s); figure(1) plot(t,s); Beräkna spektrum för s skala=1/n; figure(2) plot(f,skala*y); xlabel('frekvens [Hz]'); Title('Spektrum för s'); Sinus Likrikta genom att ta absolutbeloppet Plotta spektrum MATLAB-stöd 9

1.9.8.7.6.5.4.3.2.1.5.1.15.2.25.3.35.4 Figur 1, Tidsplan Spektrum för s.9.8.7.6.5.4.3.2.1 -.1 5 1 15 2 25 3 35 4 45 5 Frekvens [Hz] Figur 2, Frekvensplan Man kan se DC-komponenten på c:a.63. Grundtonen är nu på 1 Hz. Varför? Denna kan även beräknas genom att skriva: >> skala*y(1) OBS index börjar på 1! Vilket ger svaret:.6314 Kommandot mean(s) ger samma svar:.6314 Varför? MATLAB-stöd 1

Analysera nu en fyrkantvåg: my_ex5.m f=5; 5 Hz N=2; Antal perioder P=1/f; Periodtid T=N*P; Totaltid t=:.1:t-.1; Tidvektor med steg.1 sek. fs=1/.1; dvs samplingsfrekvens fs = 1 Hz s=square(2*pi*f*t,5); Symmetrisk 4-kantvåg Beräkna spektrum för s N=length(s); Antal sampel df=fs/n; Frekvensupplösning y=abs(fft(s)); Utför FFT f=:df:(n/2-1)*df; Frekvensaxel y=y(1:n/2); Halvera spektrum y()=y()/2; Justera DC-nivån skala=2/n; figure(1) stem(f,skala*y,'filled','k'); Plotta spektrum, OBS plottar med stem xlabel('frekvens [Hz]'); Title('Spektrum för s'); grid Raster figure(2) plot(t(1:1),s(1:1),'k'); Plotta tidsfunktion OBS under 1 sekund axis([ 1-1.1 1.1]); Juster skalning 1.8.6.4.2 -.2 -.4 -.6 -.8-1.1.2.3.4.5.6.7.8.9 1 Signal i tidsdomän MATLAB-stöd 11

1.4 Amplitud-Spektrum för s 1.2 1.8.6.4.2 5 1 15 2 25 3 35 4 45 5 Frekvens [Hz] Signal i frekvensdomän. Man ser att DC-nivån blir pga symmetrin Observera att spektrum innehåller en grundton, 5 Hz och udda övertoner 5, 15, 25 Hz etc. Effekten P hos en sinusformad signal x, kan beräknas med funktionen var(x) Effektivvärdet RMS hos samma signal beräknas t.ex som sqrt(var(x)) ( RMS = P i lasten 1 Ohm ) Övning 1: Beräkna med MATLAB fyrkantvågens effekt ( Svar: 1 ) Övning 2: Beräkna med MATLAB hur stor del av signalens effekt som ligger grundtonen ( Svar: c:a 81 ) MATLAB-stöd 12

1.5 1.5 -.5-1 -1.5.2.4.6.8 1 Exempel på lösning MATLAB-stöd 13

Beräkning av en periodisk signals effekt genom att ersätta en integral med en summa En periodisk signal x(t) antas ha en effekt P, som beräknas med formeln: 1 P = T t + T t x( t) 2 dt dvs: Integrera signalen i kvadrat över 1 period och dividera med periodtiden T Ett kodexempel: effekt.m Beräkna effekten hos en periodisk fyrkantvåg med periodtid T och duty-cycle duty dt=.1; Tidssteg T=1; Normalisera periodtid till 1 t=:dt:t; Tid duty=25; Duty cycle i x1=ones(1,duty)-.5; Signalnivå =1 under tiden dc/1 x2=zeros(1,length(t)-duty-1)-.5; Signalnivå = resten av perioden x=[x1 x2]; Bygg upp hela perioden p=sum(x.*x)*dt/t Approximera integral med summa Efter exekvering fås resultatet.25 Några kommentarer: Funktionen ones(1,n) skapar en följd av n st. 1:or Funktionen zeros(1,n) skapar en följd av n st. :or Två rad-vektorer v1 och v2 kan läggas ihop efter varandra ( konkateneras ) genom att man skriver: [v1 v2] >> v1=:2:7; v2=7:-2:; [v1 v2] 2 4 6 7 5 3 1 Multiplikation elementvis av 2 lika långa vektorer v1 och v2 utföres så här: v1.*v2 Observera punkten! >> v1.*v2 ger: 1 12 6 Det visar sig praktiskt att kunna definiera egna funktioner. MATLAB-stöd 14

Ett exempel: function summa=my_sum(a,b) MY_SUM adderar 2 tal IN: a,b OUT: summa summa=a+b; Anropet >> my_sum(1,7) ger svaret 8 Kommandot help my_sum ger svaret: MY_SUM adderar 2 tal IN: a,b OUT: summa Ett exempel till: function [over,under]=test(x,lim_over,lim_under) Test undersöker hur manga värde i vektorn x som ligger över nivån lim_over resp. nivån lim_under IN: x, lim_over, lim_under OUT: Antal över lim_over, antal under lim_under over=sum(find(x)>lim_over); under=sum(find(x)<lim_under); >> x=[1:1];[a,b]=test(x,3,2) Notera hur anropet sker ger svaret 7 resp. 1 Övning 5: Modifiera m-filen effekt.m på sid 14 så att den blir en funktion MATLAB-stöd 15

effekt(duty,offset) som anropas med parametrar duty ( i ) och offset samt returnerar effekten. Offset anger förskjutning av signalen i höjdled. Med offset = ligger hög nivå på 1 och låg nivå på. 1 offset duty/1 1 Anropet effekt(5,) bör ge svaret.5 och effekt(75,1) ge svaret 3,25 Övning 6: Skriv en m-fil som med ideer från m-filen effekt.m beräknar effekten i en helvågslikriktad sinus med amplituden 1 ( Svar:.5 ) Övning 7: dt=.1; Tidssteg T=1; Normalisera periodtid till 1 sekund t=:dt:t; Tid x=sin(2*pi*1*t); Frekvens 1 Hz x=abs(x); Belopp av sinus for j=1:length(x) FOR-loop, length(x)=antal element i x if(x(j)>.5) om element i x>.5 x(j)=.5; sätt till.5 end end if end end for p=sum(x.*x)*dt/t Approximera integral med summa Vad gör detta program? MATLAB-stöd 16

Lite om Analog modulation I princip innebär Modulationen en multiplikation mellan informationssignalen och bärvågen. För detaljer se kursbok. Ett programexempel med Amplitudmodulering: am1.m fm=5; fb=5; fs=1; t=:1/fs:2; m=.8; modulerande=sin(2*pi*fm*t); carrier=sin(2*pi*fb*t); signal=(1+m*modulerande).*carrier; figure(1) plot(t,signal,'k');grid N=length(signal); df=fs/n; f=:df:df*(n/2-1); y=abs(fft(signal)); y=y(1:n/2); skala=2/n; y=skala*y; y(1)=y(1)/2; figure(2) stem(f,y,'k'); Modulerande frekvens Bärfrekvens Samplingsfrekvens Tidvektor Modulationsgrad Modulerande signal Bärvåg Amplitudmodulerad signal Plotta signal i tidsplan Antal sampel Frekvensupplösning Frekvensvektor FFT-beräkning Skär bort spegelbild för enkelsidigt spektrum Justera DC-nivån Plotta signal i frekvensplan De figurer programmet genererar visas nedan MATLAB-stöd 17

1.5 1.5 -.5-1 -1.5.1.2.3.4.5.6 Amplitudmodulerad signal i tidsplanet. 1.9.8.7.6.5.4.3.2.1 1 2 3 4 5 6 7 8 9 Amplitudmodulerad signal i frekvensplanet. MATLAB-stöd 18

Om man låter en digital signalkälla modulera en bärvåg enligt följande, talar vi fortfarande om analog modulation: s5.m Program som slumpar fram en binär talföljd och låter den modulera en bärvåg. Nbit=1; Antal bitar slump=rand(1,nbit); Slumpa fram ett tal mellan och 1 binary=slump>.5; Alla Slump>.5 ger 1:a, övriga ger :a M=1; Antal sampel/bit x=[]; Reservera plats Skapa en analog signal av bitmönstret for index=1:nbit x=[x binary(index)*ones(1,m)]; end figure(1) plot(.1*(1:length(x)),x,'k'); axis([-.1 15 -.1 1.1]); Tidsplan Låt binary modulera en bärvåg dt=.1; t=:dt:dt*nbit*m-dt; carrier=sin(2*pi*2*t); mod=carrier.*x; figure(2) plot(.1*(1:length(x)),mod,'k'); N=length(mod); Transformera till frekvensplan: fs=1/dt; df=fs/n; f=:df:df*(n/2-1); y=abs(fft(mod)); y=(2/n)*y; [yy,idx_max]=max(y); y(idx_max)=; y=y(1:n/2); figure(3) plot(f,y,'k'); Sampelintervall Bärvåg Modulera Modulerad signal i tidsplanet Antal element Kapa max-komponent, dvs bärvågen Frekvensplan Plotta den modulerade signalen MATLAB-stöd 19

1.9.8.7.6.5.4.3.2.1 4 4.5 5 5.5 Figur 1. Binär signal, bit-tid.1 sekund.8.6.4.2 -.2 -.4 -.6 -.8 4 4.5 5 5.5 Figur 2.1 Modulerad bärvåg..8.6.4.2 -.2 -.4 -.6 -.8 4.1 4.15 4.2 4.25 4.3 4.35 4.4 4.45 Figur 2.2. Modulerad bärvåg. Detalj MATLAB-stöd 2

.9.8.7.6.5.4.3.2.1 16 17 18 19 2 21 22 23 24 Figur 3. Detalj av spektrum runt bärvågen vid 2 Hz. Obs frekvensområdet från 2 19 till 21 som kallas huvudlob och vars bredd är Bit tiden Övning 7. Hur bred är huvudloben vid ett system där bit-hastigheten är 27 kbit/s. ( Svar: 54 khz ) MATLAB-stöd 21