Oblig 4 - Mathias Hedberg

Like dokumenter
Oblig 3 - Mathias Hedberg

Oblig 2 - Mathias Hedberg

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

4 kombinatorisk logikk, løsning

SIE 4005, 8/10 (3. Forelesn.)

Forelesning 3. Karnaughdiagram

ITPE2400/DATS2400: Datamaskinarkitektur

EKSAMEN Emnekode: ITD13012

Repetisjon digital-teknikk. teknikk,, INF2270

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Digitalstyring sammendrag

VEILEDNING TIL LABORATORIEØVELSE NR 4

Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006)

UNIVERSITETET I OSLO

MAT1030 Diskret Matematikk

IN1020. Logiske porter om forenkling til ALU

INF2270. Sekvensiell Logikk

Utkast til: Løsningsforslag til eksamen i. Ingeniørfaglig yrkesutøvelse og arbeidsmetoder. 18.des for oppgave 1, 2 og 3

INF2810: Funksjonell Programmering. Huffmankoding

Lab 6 Klokkegenerator, tellerkretser og digital-analog omformer

INF1400. Karnaughdiagram

Forelesning 7. Tilstandsmaskin

INF 1040 Løsningsforslag til kapittel

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Det fysiske laget, del 2

MAT1030 Plenumsregning 3

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk

INF1400 Kap 1. Digital representasjon og digitale porter

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder

INF Algoritmer og datastrukturer

Kapittel 5 Tilstandsmaskin

MAT1030 Diskret matematikk

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

MAT1030 Diskret matematikk

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Kapittel 12. Spredt spektrum

Det matematisk-naturvitenskapelige fakultet

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

INF2810: Funksjonell Programmering. Huffman-koding

Løsningsforslag INF1400 H04

Forelesning 4. Binær adder m.m.

INF1400. Tilstandsmaskin

NY EKSAMEN Emnekode: ITD13012

MAT1030 Diskret matematikk

LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105)

Innlevering 2a i INF2810, vår 2017

7. Hvilket alternativ (A, B eller C) representerer hexadesimaltallet B737 (16) på oktal form?

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

SIE 4005, 9/10 (4. Forelesn.)

Datakonvertering. analog til digital og digital til analog

INF2810: Funksjonell Programmering. Huffman-koding

Det fysiske laget, del 2

INF2810: Funksjonell Programmering. Huffman-koding

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

Oppgave Nr.og navn LABORATORIEØVELSE NR 6 Revidert utgave desember 2014 T. Lindem, K. Ø. Spildrejorde, M. Elvegård

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

SIE 4005, 2/10 (2. Forelesn.)

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl.

Elektronikk og IT DIGITALTEKNIKK

PLASS og TID IN 106, V-2001 KOMPRESJON OG KODING 30/ Fritz Albregtsen METODER ANVENDELSER

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

MAT-INF 2360: Obligatorisk oppgave 1

INF1020 Algoritmer og datastrukturer GRAFER

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

KONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke)

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Løsningsforslag til 1. del av Del - EKSAMEN

Lab. D2 Datateknikk TELE1004-A 13H HiST-AFT-EDT

Informasjonsteori Skrevet av Joakim von Brandis,

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

FYS1210 Løsningsforslag Eksamen V2015

INF1400. Tilstandsmaskin

INF3430/4431. VHDL byggeblokker og testbenker forts.

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Tilstandsmaskiner (FSM) Kapittel 5

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

ENKLE LOGISKE KRETSER

1. del av Del - EKSAMEN

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Fredag 25. mai Tid. Kl LØSNINGSFORSLAG

INF 1040 høsten 2009: Oppgavesett 13 Kompresjon og koding (løsningsforslag) (kapittel 18) Tenk selv -oppgaver

KYBERNETIKKLABORATORIET. FAG: Dynamiske systemer DATO: OPPG.NR.: DS4 FREKVENS OG SPRANGRESPONSANALYSE

IN1020. Sekvensiell Logikk

TMA4240 Statistikk 2014

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Onsdag 15. august Tid. Kl LØSNINGSFORSLAG

RAPPORT LAB 3 TERNING

INF3340/4431. Tilstandsmaskiner

TFE4101 Krets- og Digitalteknikk Høst 2016

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

UNIVERSITETET I OSLO

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

Utkast med løsningshint inkludert UNIVERSITETET I OSLO

VEILEDNING TIL LABORATORIEØVELSE NR 8

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

Løsningsforslag til eksamen i INF2270

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

INF3340/4340. Synkrone design Tilstandsmaskiner

INF3340. Tilstandsmaskiner

Transkript:

Oblig 4 - Mathias Hedberg Oppgave nr. 1 En ser for QPSK skal overføre data: [0,1,1,0,0,1,1,1,1,0] 1. Tegn datasignalet for I(t) y = [0,1,0,1,1,9];figure; stairs(0:length(y)-1,y); ylim([-.5 1.5]); h = gcf;set(h,'position', [0 0 500 100]) 2. Tegn datasignalet for Q(t) y = [1,0,1,1,0,9];figure; stairs(0:length(y)-1,y); ylim([-.5 1.5]); h = gcf;set(h,'position', [0 0 500 100]) 3. Tegn omhylningkurven for I(t) 4. Tegn omhylningkurven for Q(t) 5. Tegn omhylnigkurven for QPSK signalet

Oppgave nr. 2 a) Hva kjennetegner frekvensspektret for et MSK signal i forhold til QPSK signal MSK pakker inn mer effekt i hovedloben på den frekvensen det ses på. QPSK vil ha mange flere sidefrekvenskomponenter som stjeler effekt. b) Data inn på en MSK modulator er [ 1, 0, 1, 1, 0, 1, 0, 0 ]. Tegn fasen som funksjon av bit. nr. Vi antar fase lik 0 for t=0. Tegn også signalene: data, I og Q som funksjon av tiden binary = [ 1, 0, 1, 1, 0, 1, 0, 0 ]; old=0; i=0; figure; for bit = binary if bit==0 bit=-1; plot([i,i+1], bit*90*[0,1]+old);hold on; x=old+bit*90*1; old=x;i=i+1; c) Et MSK signal har matematisk form: der rad/sek og millisek.

Finn en formel for den øyeblikkelige frekvensen! Hva er forskjellen mellom høyeste og laveste frekvens? Er signalene med høyest og lavest frekvens ortogonale? t=[0:9999]*1e-10; w_c=2*pi*1e7; T_b=0.2e-3; w_max=w_c+(pi/(2*t_b));w_min=w_c-(pi/(2*t_b)); f_c=w_c/(2*pi), f_max=w_max/(2*pi), f_min=w_min/(2*pi); f_c = 10000000 f_max = 10001250 f_diff=f_max-f_min f_diff = 2500 f_dist=1/(2*t_b) f_dist = 2500 Kravene for ortogonalitet er opfylt i følge kompium, men når jeg beregner om de er ortogonale så stemmer det ikke? y1=cos(w_c.*t + (pi/(2*t_b)).*t*1) y1 = 1.0000 1.0000 0.9999 0.9998 0.9997 0.9995 0.9993 0.9990 y2=cos(w_c.*t - (pi/(2*t_b)).*t*2) y2 = 1.0000 1.0000 0.9999 0.9998 0.9997 0.9995 0.9993 0.9990 Dette tyder på ikke ortogonal. Plotten viser at de er ganske like, men faseringen blir større etterhvert. figure;plot(t,y1,'b',t,y2,'r'); grid;

Oppgave nr. 3 a) Finn entropien til en binær kilde med p=0,35 0.35*log2(1/0.35)+0.65*log2(1/0.65) ans = 0.9341 b) Beregn entropien til en diskret kilde med 6 symbol uten minne når: pa=0,45,pb=0,25, pc =0,15, pd=pe= pf=0,05. p=[0.45 0.25 0.15 0.05 0.05 0.05]; beregnentropi(p) %funksjonen beskrevet på siste side ans = 2.0772 Finn informasjonen følge meldinger: 1. ABABBA 2. FDDFDF 3. ABAACF og sammenlign med forventningsverdien for informasjon i en melding som består av 6 vilkårlige symbol a1=['a' 'b' 'a' 'b' 'b' 'a']; a2=['f' 'd' 'd' 'f' 'd' 'f']; a3=['a' 'b' 'a' 'a' 'c' 'f']; sekv1=bitberegn(a1,p) sekv1 = 9.4560

sekv2=bitberegn(a2,p) sekv2 = 25.9316 sekv3=bitberegn(a3,p) %funksjonen beskrevet på siste side sekv3 = 12.5149 c) Finn en Huffman kode for disse symbolene og midlere kodelengde huffmankoder={ 'A',[1]; 'B',[0,1]; 'C',[0,0,1]; 'D',[0,0,0,1]; 'E',[0,0,0,0,0]; 'F',[0,0,0,0,1]; }; bitpersymbol= midlerelengde(p, huffmankoder) %funksjonen beskrevet på siste side bitpersymbol = 2.1000 Oppgave nr. 4 En fjern sivilisasjon bruker et alfabet med tre symbol, $,! og? a) Et raskt studium av språket viser at hyppighet for de tre symbolene er: p$=0,7; p!=0,2 og p?=0,1; Finn kildens entropi, H(X). p=[0.7, 0.2, 0.1]; entropi = beregnentropi(p) entropi = 1.1568

%funksjonen beskrevet på siste side b) Konstruer en Huffman kode med bruk av ett symbol av gangen og finn midlere lengde for denne koden huffmankoder={ '$',[1]; '!',[0,1]; '?',[0,0]; }; bitpersymbol = midlerelengde(p,huffmankoder) %funksjonen beskrevet på siste side bitpersymbol = 1.3000 c) Vi ønsker å effektivisere koden, og ser to og to symbol. Finn sannsynlighet for de forskjellige kombinasjonene og den tilhøre Huffman kode. Finn midlere lengde for denne koden og sammenlign med H(X) parray={}; for i=1:length(p) for y=1:length(p) sans=p(i)*p(y); parray(+1,:) = {huffmankoder{i,1},huffmankoder{y,1},sans}; p=sort(cell2mat(parray(:,3)),'desc'); kombinasjoner=parray(:,:) kombinasjoner = '$' '$' [0.4900] '$' '!' [0.1400] '$' '?' [0.0700] '!' '$' [0.1400] '!' '!' [0.0400] '!' '?' [0.0200] '?' '$' [0.0700] '?' '!' [0.0200] '?' '?' [0.0100] Tallene sorteres of huffman koder beregnes grafisk

huffmankoder ={ '$$',[0]; '!$',[1,1,1]; '$!',[1,1,0]; '?$',[1,0,1,1]; '$?',[1,0,1,0]; '!!',[1,0,0,0]; '!?',[1,0,0,1,0]; '?!',[1,0,0,1,1,1]; '??',[1,0,0,1,1,0] }; bitpersymbol = midlerelengde(p,huffmankoder)/2 %funksjonen beskrevet på siste side bitpersymbol = 1.1650 Vi ser at vi får redusert den fra 1.3 til 1.165. Oppgave nr. 5 En foldingsenkoder er som vist på figur.

a) Finn Coding Rate og Trellis diagrammet for enkoderen Coding rate er 0.5 Trellis = poly2trellis(3,[3,5]) Trellis = numinputsymbols: 2 numoutputsymbols: 4 numstates: 4 nextstates: [4 2 double] outputs: [4 2 double] Trellis.outputs ans = 0 1 3 2 2 3 1 0 Trellis.nextStates ans = 0 2 0 2 1 3 1 3 Vi putter disse resultatene inn i diagramet under b) Vi påtrykker meldingen [1, 0, 1, 0, 1, 0, 0, 0] på Inn porten. Finn signalet som kommer ut på Ut 1 og Ut 2. m=[1, 0, 1, 0, 1, 0, 0, 0]; K=convenc(m, Trellis); % Hvert odde bit representerer utgang 1, resten utgang 2.; utgang1 = K(1:2:length(K)) utgang1 = 0 1 1 1 1 1 1 0 utgang2 = K(2:2:length(K))

utgang2 = 1 0 0 0 0 0 1 0 Oppgave nr.6 En foldingsenkoder har polynombeskrivelse: t = poly2trellis([3 3],[4,5,7; 7,4,2]); a) Tegn hardware for denne enkoderen og finn coding rate for enkoderen Lengden er 3 med to innganger, så 2 grupper av 2 shift registere. Krets={'XOR1',[4,7]; 'XOR2',[5,4]; 'XOR3',[7,2]}; n=3; binary=xorbinary(n,krets); XOR1=binary{1,2}, XOR2=binary{2,2}, XOR3=binary{3,2}, XOR1 = 100 111 XOR2 = 101 100 XOR3 = 111 010 Hver av disse forteler oss hvilke verdier fra shift registerene og inngangene som skal kobles til de forskjellige kretsene. Så XOR1 skal koble seg bare til inngangen 1 fra den første gruppen med shift registere, fra den andre skal den ha fra inngang, ut shift1 og ut shift2. Diagramet under viser dette: Coding rate =2/3 b) Vi påtrykker et signal: m = [1,1, 0,1, 1,1, 1,0, 1,0, 1,1, 0,1, 1,1]. Bruk Matlab for å finne utsignalet! Trellis = poly2trellis([3 3],[4,5,7; 7,4,2]); m=[1,1, 0,1, 1,1, 1,0, 1,0, 1,1, 0,1, 1,1];

K=convenc(m, Trellis) K = 0 0 1 0 1 0 0 1 1 1 1 1 0 utgang1 = K(1:3:length(K)),utgang2 = K(2:3:length(K)),utgang3 = K(3:3:length(K)) utgang1 = 0 0 0 1 0 0 0 0 utgang2 = 0 1 1 1 0 1 0 1 utgang3 = 1 0 1 1 1 1 1 1 Oppgave nr. 7 En krets for Trellis Kodet Modulasjon er som vist på Figur Vi starter med 0 på utgangen av alle skiftregisterene. Vi påtrykker en datasekvens med to bit: [1, 3, 2, 0, 1, 3, 0, 0]; Finn sekvensen av Signal nr. som blir generert.

Det blir generert: 2, 7, 1, 1, 3, 6, 4, 4 Funksjoner: Disse funksjonene har jeg laget 100% selv. Funksjonen for å beregne antall bit brukt function bits = bitberegn(a,p) bits=0; for b = a i=double(b)-96; bits=bits+1*log2(1/p(i)); Regner ut entropi for en array med p. function entropi = beregnentropi(p) entropi=0; for i = p entropi=entropi+i*log2(1/i); Regner ut midlere lengde function bitpersymbol = midlerelengde(p,koderarray)

bitpersymbol=0; for i=1:length(koderarray) koder=koderarray{i,2}; bitpersymbol=bitpersymbol+length(koder)*p(i); Regner xor bit input function binary=xorbinary(n,krets) binary={}; for i=1:length(krets) binary(+1,:)={krets{i,1},dec2bin(krets{i,2},n)};