Abstract. Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

Size: px
Start display at page:

Download "Abstract. Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35"

Transcription

1 Abstract Quadrature Amplitude Modulation (QAM) is used for wireless and cable data transmissions. While QAM is notoriously straightforward mathematically, it is in permanent need of amendments and trade-offs to work properly in the physical world. We discuss the C++ part of a transmitter/receiver (TX/RX) pair that is fed with binary data from a pipe, encodes into a QAM signal, performs DA and AD conversions on microcontrollers, and recovers the original data. It can be used with different analog channels, including fiber optic and long wave radio. The implementation goes a long way to cope with distortions, discretization artifacts, out-of-band noise (literally), in-band noise, out-of sync clocks, varying signal strength, and blocking input. It is vital to control error propagation during signal processing and apply forward error correction. Electromagnetic compatibility requirements restrain signal generation in software and call for low pass filters in hardware. As timing and speed are critical, timed Direct Memory Access (DMA) is mandatory for data transport to and from the Digital to Analog Conversion (DAC) and ADC units. Indeed, timing is so critical that when you put a finger on one of the quartz crystals that drive the DMA channels, observable program behavior changes. Cope with it in software! Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

2 Quadrature Amplitude Modulation (QAM) in C++ Heiko Frederik Bloch November 21, 2017 Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

3 Band-limited Signals '/tmp/adcrecord.monitor' using 2:3 '' using 4:5 '/tmp/adcrecord.monitor2' using 2: The red dots ( symbols ) are complex amplitudes of a 137kHz sine wave They change at a fixed rate, the symbol rate. Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

4 µcs, Amplifiers & Antenna 2x (TX&RX) µc boards with 12 bit ADC and DAC units running at 1Mhz, slow serial connection to PC, 96KB of RAM, 84 MHz clock speed, 32 bit words resonating magnetic loop antenna, 3-15 turns of wire (TX) and ferrite antenna (RX) amplifiers moderately shielded against capacitive coupling, voltage regulators Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

5 Maximum Viable Byproduct '/tmp/artifacts' u 1: reqirement: -60 decibels dampening Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

6 Spectrum Plot 5 '/tmp/artifactsspectrum' u 1: handle this with a hardware filter Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

7 Analogue and Digital Signal Processing Filters pass on different frequency components of the signal with different amplification A(f) They help create low-noise signals in the first place. recover the original signal from a distorted and noisy channel Filters are needed for both baseband signals, here: 300Hz < f < 300Hz, before modulation, digital bandpass signals, here: : 136, 4kHz < f < 137kHz, after modulation, analogue Filters with arbitrary frequency response can be created as digital convolution filters Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

8 1st Order Low Pass Filters analogue: x y τ = RC f 0 = 1 2πτ digital: 1 y += ( x y)>>k ; one clock cycle/sample τ T s f 0 f s 2 k 2 k 2π Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

9 RC-Frequency Response Function RC-filter transfer function's modulus RC-filter transfer function's phase *log 10 ( A ) arg(a) *log 10 (f/f 0 ) *log 10 (f/f 0 ) A(f ) = 1 1+i f f 0 C A: complex amplitude Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

10 RC-Impulse Response Function RC-filter impulse response function K(f ) = A(f ) = K = A y(t) = (x K)(t) = y = x K K(t) e 2πitf dt x(p) K(t p) dp K(t) = { 1 τ e t τ t 0 0 t < 0 K: convolution kernel This generalizes to arbitrary frequency response filters digital kernels may live on both sides of the y-axis digital kernels are actually discrete Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

11 Modulation Modulation is multiplication in the complex plane, W (t) = e iωt B(t), t = time, B(t) C with a complex oscillator. e iωt = cos(ωt) + i sin(ωt) de-modulation is modulation with the oscillator in reverse gear B(t) = e iωt W (t) but we need low pass filters after demodulation to come back to the original signal if we transmit only the real part of W Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

12 Modulation Code (µc) 1 v o i d DACC Handler ( ) { 2 v o l a t i l e u i n t 1 6 t d e s t i n a t i o n = &dmatx [ i chunksizetx ] ; 3 i = (1 + i ) % numchunks ; 4 DACC >DACC TNPR = ( u i n t 3 2 t )&dmatx [ ( ( 1 + i )%numchunks ) chunksizetx ] ; 5 DACC >DACC TNCR = chunksizetx ; 6 s t d : : a r r a y <b a s i c i n t C o m p l e x <i n t 3 2 t >, 2> LP = s t a t i c L P ; 7 unsigned t = s t a t i c T i m e ; 8 f o r ( i n t 3 2 t o u t e r = 0 ; o u t e r < numcomplexperchunk ; ++o u t e r ) { 9 b a s i c i n t C o m p l e x <i n t 3 2 t > BASEB32( baseband. a t ( o u t e r ) ) ; 10 f o r ( i n t 3 2 t i n n e r = 0 ; i n n e r < d i v i d e r T X ; ++i n n e r, ++d e s t i n a t i o n ) { 11 LP [ 0 ]. r e ( ) += (BASEB32. r e ( ) LP [ 0 ]. r e ( ) ) >> LPshiftTX ; 12 LP [ 0 ]. im ( ) += (BASEB32. im ( ) LP [ 0 ]. im ( ) ) >> LPshiftTX ; 13 LP [ 1 ]. r e ( ) += ( LP [ 0 ]. r e ( ) LP [ 1 ]. r e ( ) ) >> LPshiftTX ; 14 LP [ 1 ]. im ( ) += ( LP [ 0 ]. im ( ) LP [ 1 ]. im ( ) ) >> LPshiftTX ; 15 i n t 3 2 t w i r e S i g n a l = EXPTABLE [ t ]. r e ( ) (LP [ 1 ]. r e ( ) >> p r e S h i f t ) 16 EXPTABLE [ t ]. im ( ) (LP [ 1 ]. im ( ) >> p r e S h i f t ) ; 17 t = 1 + ( t? t : EXPTABLE t : : LENGTH ) ; 18 d e s t i n a t i o n = ( w i r e S i g n a l >> p o s t S h i f t ) ; 19 } 20 } 21 baseband. p o p f r o n t ( numcomplexperchunk ), s t a t i c L P = LP, s t a t i c T i m e = t ; 22 } Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

13 De-modulation Code (µc) 1 v o i d ADC Handler ( ) { 2 s t d : : a r r a y <b a s i c i n t C o m p l e x <i n t 3 2 t >, 2> LP = s t a t i c L P ; 3 u i n t 1 6 t s o u r c e = &dmarx [ i c h u n k S i z e ] ; 4 i = ( i+ 1) % numchunks ; 5 ADC >ADC RNPR = ( u i n t 3 2 t )(&dmarx [ ( ( i +1)%numChunks ) c h u n k S i z e ] ) ; 6 ADC >ADC RNCR = c h u n k S i z e ; 7 i n t 3 2 t LS = l a s t S a m p l e, t = s t a t i c T i m e ; 8 unsigned i n t e = BBend. l o a d ( ) ; 9 u i n t 3 2 t d s t = &baseband [ s r. s r i o b u f f e r. numcomplexrx e ] ; 10 f o r ( i n t 3 2 t o u t e r =0; o u t e r <s r. s r i o b u f f e r. numcomplexrx;++outer,++ d s t ){ 11 f o r ( i n t 3 2 t i n n e r = 0 ; i n n e r < d i v i d e r ; ++i n n e r, s o u r c e+=s s t e p ) { 12 i n t 3 2 t a d c v a l = s o u r c e ; 13 i n t 3 2 t d i f f v a l = ( a d c v a l LS ) << p r e S h i f t, LS = a d c v a l ; 14 LP [ 0 ]. r e ( ) += (EXPTABLE [ t ]. r e ( ) d i f f v a l LP [ 0 ]. r e ( ) ) >> LPshiftRX ; 15 LP [ 0 ]. im ( ) += (EXPTABLE [ t ]. im ( ) d i f f v a l LP [ 0 ]. im ( ) ) >> LPshiftRX ; 16 t = 1 + ( t? t : EXPTABLE t : : LENGTH ) ; 17 LP [ 1 ]. r e ( ) += ( LP [ 0 ]. r e () LP [ 1 ]. r e ( ) ) >> LPshiftRX ; 18 LP [ 1 ]. im ( ) += ( LP [ 0 ]. im() LP [ 1 ]. im ( ) ) >> LPshiftRX ; 19 } ; 20 d s t =(( u i n t 3 2 t (LP [ 1 ]. r e ()) > >16)) ((( u i n t 3 2 t (LP [ 1 ]. im ()) > >16)) < <16); 21 } 22 BBend=(( e+1)%numbbbuffersrx ), s t a t i c T i m e=t, l a s t S a m p l e=ls, s t a t i c L P=LP ; 23 } Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

14 Data Forwarding (µc) 1 v o i d l o o p ( ) { 2 s t a t i c unsigned BBbegin { 0 } ; 3 s t a t i c u i n t 3 2 t sequencenr { 0 } ; 4 unsigned e = BBend. l o a d ( ) ; 5 unsigned f i l l = ( ( numbbbuffersrx+e) BBbegin)%numBBbuffersRX ; 6 w h i l e ( f i l l ) { 7 s r. s r i o b u f f e r. SEQ NR = sequencenr ; 8 s r. s r i o b u f f e r. RXMCUbufferFill = f i l l ; 9 s r. s r i o b u f f e r. DIAGNOSTIC = g l o b a l S a m p l e D i s t r i b u t i o n ; 10 g l o b a l S a m p l e D i s t r i b u t i o n = 0 ; 11 s r. w r i t e F r a m e ( 12 ( intcomplex ) &baseband [ s r. s r i o b u f f e r. numcomplexrx BBbegin ] 13 ) ; 14 BBbegin = ( BBbegin + 1) % numbbbuffersrx ; 15 ++sequencenr ; 16 e = basebandend. l o a d ( ) ; 17 f i l l = ( ( numbbbuffersrx + e ) BBbegin ) % numbbbuffersrx ; 18 } 19 } Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

15 Delta Encoding (µc) Serial Connection on µc is slow, so save bandwidth where possible: 1 2 v o i d d i f f e r e n t i a t e ( i ntcomplex s o u r c e I t e r a t o r, b u f f e r T & w) { 3 intcomplex l a s t y = l a s t y v a l u e ; 4 w. complex ( ) = l a s t y ; 5 i n t 8 t d e s t = w. data ; 6 f o r ( i n t s c = 0 ; s c < w. numcomplexrx ; ++s c ) { 7 intcomplex y ( s o u r c e I t e r a t o r ) ; 8 auto d e l t a y = y ; 9 ++s o u r c e I t e r a t o r ; 10 d e l t a y = l a s t y ; 11 d e s t = d e l t a y. r e ( ) ; 12 ++d e s t ; 13 d e s t = d e l t a y. im ( ) ; 14 ++d e s t ; 15 l a s t y = y ; 16 } 17 l a s t y v a l u e = l a s t y ; 18 } Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

16 This is not a pipe '/tmp/adcrecord.monitor' using 2:3 '' using 4:5 '/tmp/adcrecord.monitor2' using 2: yet. Target: QAM256 modulation scheme + pipe interface Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

17 QAM256 y=imag(symbol) Energy x 2 + y 2 = r 2 r = length of symbol vector x=real(symbol) Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

18 Live Demo: Anything that can go wrong '/tmp/adcrecord.monitor' using 2:3 '' using 4:5 '/tmp/adcrecord.monitor2' using 2: Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

19 Trick: Clock Synchronization Allow multiple symbols represent the same info ( tile pattern) See for that the average complex amplitude of the signal is real & positive in TX Adjust RX clock speed according to the number of rotations performed by the average amplitude of the received signal. additional average energy/symbol: moderate additional maximal energy/symbol: very moderate -16 imaginary real Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

20 TX Phase Adjustment (PC) 1 v o i d e n c o d e r : : a d j u s t P h a s e ( i n tcomplex & symbol ) { 2 i n t im = symbol. im ( ), r e = symbol. r e ( ) ; 3 i n t newreal = r e + t i l e ; 4 i f ( newreal newreal + im im <= maxradius maxradius 5 && newreal < t i l e ) 6 r e = newreal ; 7 i n t newimag = im + t i l e ( i n t (0 > imagsum ) i n t (0 < imagsum ) ) ; 8 i f ( r e r e + newimag newimag <= maxradius maxradius 9 && abs ( newimag ) < t i l e ) 10 im = newimag ; 11 imagsum += im ; 12 r e a l a v g = r e a l a v g / realtau, r e a l a v g += r e / r e a l T a u ; 13 symbol. r e ( ) = re, symbol. im ( ) = im ; 14 i f ( ( r e a l a v g < 3. 5 ) && ( maxradius < g l o b a l M a x R a d i u s ) ) { 15 ++maxradius ; 16 } e l s e i f ( ( ( abs ( imagsum ) ) >= 64) && ( maxradius < g l o b a l M a x R a d i u s ) ) { 17 ++maxradius ; 18 } e l s e i f ( maxradius > g l o b a l R a d i u s M i n ) { 19 maxradius ; 20 } 21 } Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

21 RX Phase Adjustment & Clock Sync (PC) 1 auto BBS = c o m p l e x t y p e ( r a w S i g n a l. a t ( 0 ). r e ( ), r a w S i g n a l. a t ( 0 ). im ( ) ) ; 2 BBS += c o m p l e x t y p e ( 0. 5 ( 0. 5 / 65536), 0. 5 ( 0. 5 / ) ) ; 3 p e n d i n g += r o t a t i o n s P e r B B S exptable. s i z e ( ) ; 4 i n t d e l t a = ( p e n d i n g >= 1) ( p e n d i n g <= 1); 5 p e n d i n g = d e l t a ; 6 p h a s e I n d e x = ( p h a s e I n d e x+d e l t a+exptable. s i z e ( ) ) % exptable. s i z e ( ) ; 7 BBS = exptable. a t ( p h a s e I n d e x ) ; 8 TxTime += t i m e S u b d i v i s i o n + d e l t a ; 9 auto n o r m a l i z e d D e l t a = LP [ 1 ] ; 10 f o r ( i n t c = 0 ; c!= LP. s i z e ( ) ; ++c ) { 11 LP [ c ] = LP [ c ] / LPtau [ c ] ; 12 LP [ c ] += ( c? LP [ c 1 ] : BBS) / LPtau [ c ] ; 13 } 14 n o r m a l i z e d D e l t a += LP [ 1 ] ; 15 n o r m a l i z e d D e l t a. n o r m a l i z e (LP [ 1 ] ) ; 16 p h a s e I n t e g r a l += n o r m a l i z e d D e l t a. imag ( ) ; 17 r o t a t i o n s P e r B B S = p h a s e I n t e g r a l r o t a t i o n s P e r B B S a n d P h i ; Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

22 Things to determine: signal Amplitude Intermission When to sample and round the baseband signal? (Every symbol duration time, but in which time slice?) clock speed difference! signal Phase! Things to deal with: distortions, e. g., by resonators arbitrary noise outside the transmission band (large amplitude) random noise inside the transmission band (small amplitude) Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

23 RX Baseband Filter Frequency Response '/tmp/rhoresponse.h' u 1:2 '' u 1:3 '' u 1: x-unit = symbol rate Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

24 RX Baseband Filter Convolution Kernel '/tmp/rhokernel.h' u 0: x-unit = 1 Baseband sample Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

25 Error Correction Code 1 c l a s s e r r o r C o r r e c t i o n t { 2 s t a t i c c o n s t char NIBBLES END = 1 9 ; 3 c o n s t unsigned char codeword [ NIBBLES END ] { 0 b , 0 b , 4 0 b , 0 b , 0 b , 0 b , 0 b , 5 0 b , 0 b , 0 b , 0 b , 0 b , 6 0 b , 0 b , 0 b , 0 b , 0 b , 7 0 b , 0 b } ; 8 p u b l i c : 9 unsigned char fwd ( c o n s t u nsigned char x ) c o n s t { 10 r e t u r n codeword [ x ] ; 11 } 12 unsigned char r e v ( unsigned char c, unsigned & e r r o r s, b o o l v e r b o s e ) { } 14 } ; Hamming distance >= 3, i.e., one bit error is always corrected, sometimes two Values are used for data transmission, 16,17,18 for control purposes Error rate 10 5 in the uncorrected stream (near field longwave version) Noise from switched-mode power supplies introduces many errors. Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

26 Gray Code 1 c l a s s g r a y C o d e t { 2 p u b l i c : 3 char r e v ( c o n s t char x ) c o n s t { 4 r e t u r n g r a y [ x ] ; 5 // Frank Gray ( ) 6 } 7 char fwd ( c o n s t char x ) c o n s t { 8 r e t u r n p i e d C i p h e r [ x ] ; 9 } 10 g r a y C o d e t ( ) { 11 f o r ( i n t c = 0 ; c < 1 6 ; ++c ) 12 p i e d C i p h e r [ g r a y [ c ] ] = c ; 13 } 14 p r i v a t e : 15 c o n s t char g r a y [ 1 6 ] = { 0 b0111, 0 b0101, 0 b0100, 0 b1100, 0 b1101, 0 b b1110, 0 b1010, 0 b1011, 0 b1001, 0 b1000, 0 b0000, 0 b0001, 0 b0011, 17 0 b0010, 0 b0110 } ; 18 char p i e d C i p h e r [ 1 6 ] = { } ; 19 } ; limits number of bit flips due to analogue off-by-one errors Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

27 Amplitude & Time Slice Gauge Can be done only after clock sync. 1. Amplitude Approximation by signal root mean square (RMS) 1% accuracy required. 2. Sampling Time Slice & Amplitude Approximation by Fourier Transforms of Amplitude distributions: imag real 1 : big red dot 16 P(imag) 1 : small red dot 32 0 : elsewhere in the correct time slice Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

28 Fourier Transform 20 re(x/170) Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

29 Fourier Transform from sampled data '/tmp/adcrecord.ampstat' u 0: Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

30 Amplitude & Time Slice Gauge 1 i n t 6 4 t t s = f i l t e r e d S i g n a l. a t ( c ). timestamp ; 2 i n t c y c l e I n d e x = ( t s / t i m e S l i c e T i m e ) % s l i c e s P e r S y m b o l ; 3 r e a l t y p e d e l t a A m p l i t u d e = p r e s c a l e 4 f i l t e r e d S i g n a l. a t ( c ). s i g. imag ( ) / f r e q 1 i n d e x 5 exptable2. s i z e ( ) ; 6 r e a l t y p e amptimesfreq = d e l t a A m p l i t u d e / 2 ; 7 f o r ( i n t f r e q u e n c y = 0 ; f r e q u e n c y < ; ++f r e q u e n c y ) { 8 t i m e S l i c e [ c y c l e I n d e x ] [ f r e q u e n c y ] = ; 9 t i m e S l i c e [ c y c l e I n d e x ] [ f r e q u e n c y ] += 10 exptable2 [ u i n t 6 4 t ( s t d : : l r o u n d ( amptimesfreq ) ) % exptable2. s i z e ( ) ] ; 11 amptimesfreq += d e l t a A m p l i t u d e ; 12 } One timeslice[cycleindex] array contains the fourier transform shown above The negative peaks of the timeslice variable yield both the time slice and the amplitude reference. Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

31 Live Demo: This is a pipe 1 $ c a t o u t f i l e > /tmp/ s d r t x 2 3 $ r e p o r t 4 R : 4. 4 S : 7 5 # count down 3 6 # count down 2 7 # count down 1 8 # s t a r t o f t r a n s m i s s i o n 9 R : 5. 1 S : R : 15 S : 7 12 # count up 0 13 # count up 1 14 # count up 2 15 # r e c e i v e d b y t e s, 800 oob b y t e s 16 # 2 b i t e r r o r s d i c o v e r e d i n raw b i t s, e r r o r r a t e : e # oob 18 +i 3 18 # oob 18 +i 4 19 # oob 18 +i 5 Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

32 Copyright (c): Heiko Frederik Bloch (The slides have been slightly edited since November 2017.Today s improved version of the hardware is more resistant to electrostatic noise) References: J. G. Proakis, Masoud Salehi: Digital Communications, 5th ed., McGraw-Hill L. Grafakos: Classical Fourier Analysis 2nd ed., Springer J. Franz: EMV. Störungssicherer Aufbau elektronischer Schaltungen. 4. Aufl., Teubner/Vieweg Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

33 1 Band-limited Signals 2 Microcontroller Hardware 3 Maximum Viable Byproduct 4 Signal Processing 5 Modulation 6 Serial Interface 7 This is not a pipe 8 QAM256 9 Clocks 10 Intermission 11 RX Baseband Filters 12 Errors 13 Gauge 14 This is a pipe 15 Copyright & References 16 Appendix Roadmap Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

34 Appendix 1 Fast Fourier Transform 2 Cache-friendly Sine and Cosine Lookup Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

35 Fast Fourier Transform 1 // computation time : 6 ns modulerank l o g 2 ( modulerank ) 2 s t a t i c v o i d f a s t ( moduletype & out, c o n s t moduletype & i n ) { 3 s t d : : v e c t o r <r i n g t y p e > b u f f e r (2 modulerank ) ; 4 r i n g t p t r o l d d a t a = &b u f f e r [ 0 ], newdata = &b u f f e r [ modulerank ] ; 5 f o r ( u i n t 3 2 t pos = 0 ; pos < modulerank ; ++pos ) 6 newdata [ pos ] = i n [ b i t s w a p ( pos ) ] ; 7 f o r ( u i n t 3 2 t l e v = 0 ; l e v < numdyadiclevels ; ++l e v ) { 8 auto l e v e l B i t = u i n t 3 2 t ( 1 ) << l e v ; 9 s t d : : swap ( o l d d a t a, newdata ) ; 10 f o r ( u i n t 3 2 t pos = 0 ; pos < modulerank ; ++pos ) { 11 u i n t 3 2 t p h i = pos << ( numdyadiclevels 1 l e v ) ; 12! r e v e r s e ( p h i = p h i ) ; 13 auto acc = o l d d a t a [ pos l e v e l B i t ] ; 14 acc = r o o t O f U n i t y : : t t ( p h i ) ; 15 acc += o l d d a t a [ pos & l e v e l B i t ] ; 16 newdata [ pos ] = acc ; 17 } 18 } 19 out. a s s i g n ( newdata, newdata + modulerank ) ; 20 } Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

36 Cache-friendly Sine and Cosine Lookup 1 template<c l a s s r e a l t y p e, u i n t 3 2 t N> 2 c l a s s c o m p l e x r o o t o f u n i t y { 3 s t a t i c c o n s t u i n t 3 2 t numchunks = ( ( u i n t 3 2 t ) 1) << (N / 2 1 ) ; 4 s t a t i c c o n s t u i n t 3 2 t c h u n k s i z e = ( ( u i n t 3 2 t ) 1) << (N N / 2 1 ) ; 5 s t a t i c s t d : : a r r a y <s t d : : complex<r e a l t y p e >, c h u n k s i z e > e x p t a b l e l o ; 6 s t a t i c s t d : : a r r a y <s t d : : complex<r e a l t y p e >, numchunks> e x p t a b l e h i ; 7 p u b l i c : 8 s t a t i c s t d : : complex<r e a l t y p e > t t ( u i n t 3 2 t k ) { 9 auto c = e x p t a b l e l o [ k & ( c h u n k s i z e 1)] 10 k >>= (N N / 2 1 ) ; 11 c = e x p t a b l e h i [ k & ( numchunks 1 ) ] ; 12 k >>= (N / 2 1 ) ; 13 s w i t c h (3 & k ) { 14 case 1 : r e t u r n { c. imag ( ), c. r e a l ( ) } ; 15 case 2 : r e t u r n c ; 16 case 3 : r e t u r n { c. imag (), c. r e a l ( ) } ; 17 } 18 r e t u r n c ; 19 } 20 } Heiko Frederik Bloch Quadrature Amplitude Modulation (QAM) in C++ November 21, / 35

Mapper & De-Mapper System Document

Mapper & De-Mapper System Document Mapper & De-Mapper System Document Mapper / De-Mapper Table of Contents. High Level System and Function Block. Mapper description 2. Demodulator Function block 2. Decoder block 2.. De-Mapper 2..2 Implementation

More information

Revision of Lecture 4

Revision of Lecture 4 Revision of Lecture 4 We have discussed all basic components of MODEM Pulse shaping Tx/Rx filter pair Modulator/demodulator Bits map symbols Discussions assume ideal channel, and for dispersive channel

More information

Analog Electronics 2 ICS905

Analog Electronics 2 ICS905 Analog Electronics 2 ICS905 G. Rodriguez-Guisantes Dépt. COMELEC http://perso.telecom-paristech.fr/ rodrigez/ens/cycle_master/ November 2016 2/ 67 Schedule Radio channel characteristics ; Analysis and

More information

Successive Approximation ADCs

Successive Approximation ADCs Department of Electrical and Computer Engineering Successive Approximation ADCs Vishal Saxena Vishal Saxena -1- Successive Approximation ADC Vishal Saxena -2- Data Converter Architectures Resolution [Bits]

More information

Digital Band-pass Modulation PROF. MICHAEL TSAI 2011/11/10

Digital Band-pass Modulation PROF. MICHAEL TSAI 2011/11/10 Digital Band-pass Modulation PROF. MICHAEL TSAI 211/11/1 Band-pass Signal Representation a t g t General form: 2πf c t + φ t g t = a t cos 2πf c t + φ t Envelope Phase Envelope is always non-negative,

More information

Square Root Raised Cosine Filter

Square Root Raised Cosine Filter Wireless Information Transmission System Lab. Square Root Raised Cosine Filter Institute of Communications Engineering National Sun Yat-sen University Introduction We consider the problem of signal design

More information

EE5713 : Advanced Digital Communications

EE5713 : Advanced Digital Communications EE5713 : Advanced Digital Communications Week 12, 13: Inter Symbol Interference (ISI) Nyquist Criteria for ISI Pulse Shaping and Raised-Cosine Filter Eye Pattern Equalization (On Board) 20-May-15 Muhammad

More information

LOPE3202: Communication Systems 10/18/2017 2

LOPE3202: Communication Systems 10/18/2017 2 By Lecturer Ahmed Wael Academic Year 2017-2018 LOPE3202: Communication Systems 10/18/2017 We need tools to build any communication system. Mathematics is our premium tool to do work with signals and systems.

More information

Figure 1.1 (a) Model of a communication system, and (b) signal processing functions.

Figure 1.1 (a) Model of a communication system, and (b) signal processing functions. . Introduction to Signals and Operations Model of a Communication System [] Figure. (a) Model of a communication system, and (b) signal processing functions. Classification of Signals. Continuous-time

More information

Digital Communications

Digital Communications Digital Communications Chapter 9 Digital Communications Through Band-Limited Channels Po-Ning Chen, Professor Institute of Communications Engineering National Chiao-Tung University, Taiwan Digital Communications:

More information

Q. 1 Q. 25 carry one mark each.

Q. 1 Q. 25 carry one mark each. Q. Q. 5 carry one mark each. Q. Consider a system of linear equations: x y 3z =, x 3y 4z =, and x 4y 6 z = k. The value of k for which the system has infinitely many solutions is. Q. A function 3 = is

More information

E303: Communication Systems

E303: Communication Systems E303: Communication Systems Professor A. Manikas Chair of Communications and Array Processing Imperial College London Principles of PCM Prof. A. Manikas (Imperial College) E303: Principles of PCM v.17

More information

Principles of Communications Lecture 8: Baseband Communication Systems. Chih-Wei Liu 劉志尉 National Chiao Tung University

Principles of Communications Lecture 8: Baseband Communication Systems. Chih-Wei Liu 劉志尉 National Chiao Tung University Principles of Communications Lecture 8: Baseband Communication Systems Chih-Wei Liu 劉志尉 National Chiao Tung University cwliu@twins.ee.nctu.edu.tw Outlines Introduction Line codes Effects of filtering Pulse

More information

Chapter 12 Variable Phase Interpolation

Chapter 12 Variable Phase Interpolation Chapter 12 Variable Phase Interpolation Contents Slide 1 Reason for Variable Phase Interpolation Slide 2 Another Need for Interpolation Slide 3 Ideal Impulse Sampling Slide 4 The Sampling Theorem Slide

More information

Coding theory: Applications

Coding theory: Applications INF 244 a) Textbook: Lin and Costello b) Lectures (Tu+Th 12.15-14) covering roughly Chapters 1,9-12, and 14-18 c) Weekly exercises: For your convenience d) Mandatory problem: Programming project (counts

More information

EE 521: Instrumentation and Measurements

EE 521: Instrumentation and Measurements Aly El-Osery Electrical Engineering Department, New Mexico Tech Socorro, New Mexico, USA September 23, 2009 1 / 18 1 Sampling 2 Quantization 3 Digital-to-Analog Converter 4 Analog-to-Digital Converter

More information

INSTRUMENTAL ENGINEERING

INSTRUMENTAL ENGINEERING INSTRUMENTAL ENGINEERING Subject Code: IN Course Structure Sections/Units Section A Unit 1 Unit 2 Unit 3 Unit 4 Unit 5 Unit 6 Section B Section C Section D Section E Section F Section G Section H Section

More information

ELECTROMAGNETIC OSCILLATIONS AND ALTERNATING CURRENT

ELECTROMAGNETIC OSCILLATIONS AND ALTERNATING CURRENT Chapter 31: ELECTROMAGNETIC OSCILLATIONS AND ALTERNATING CURRENT 1 A charged capacitor and an inductor are connected in series At time t = 0 the current is zero, but the capacitor is charged If T is the

More information

Consider a 2-D constellation, suppose that basis signals =cosine and sine. Each constellation symbol corresponds to a vector with two real components

Consider a 2-D constellation, suppose that basis signals =cosine and sine. Each constellation symbol corresponds to a vector with two real components TUTORIAL ON DIGITAL MODULATIONS Part 3: 4-PSK [2--26] Roberto Garello, Politecnico di Torino Free download (for personal use only) at: www.tlc.polito.it/garello Quadrature modulation Consider a 2-D constellation,

More information

Analysis of Receiver Quantization in Wireless Communication Systems

Analysis of Receiver Quantization in Wireless Communication Systems Analysis of Receiver Quantization in Wireless Communication Systems Theory and Implementation Gareth B. Middleton Committee: Dr. Behnaam Aazhang Dr. Ashutosh Sabharwal Dr. Joseph Cavallaro 18 April 2007

More information

AC Circuits. The Capacitor

AC Circuits. The Capacitor The Capacitor Two conductors in close proximity (and electrically isolated from one another) form a capacitor. An electric field is produced by charge differences between the conductors. The capacitance

More information

MATHEMATICAL TOOLS FOR DIGITAL TRANSMISSION ANALYSIS

MATHEMATICAL TOOLS FOR DIGITAL TRANSMISSION ANALYSIS ch03.qxd 1/9/03 09:14 AM Page 35 CHAPTER 3 MATHEMATICAL TOOLS FOR DIGITAL TRANSMISSION ANALYSIS 3.1 INTRODUCTION The study of digital wireless transmission is in large measure the study of (a) the conversion

More information

Error Correction and Trellis Coding

Error Correction and Trellis Coding Advanced Signal Processing Winter Term 2001/2002 Digital Subscriber Lines (xdsl): Broadband Communication over Twisted Wire Pairs Error Correction and Trellis Coding Thomas Brandtner brandt@sbox.tugraz.at

More information

EE4512 Analog and Digital Communications Chapter 4. Chapter 4 Receiver Design

EE4512 Analog and Digital Communications Chapter 4. Chapter 4 Receiver Design Chapter 4 Receiver Design Chapter 4 Receiver Design Probability of Bit Error Pages 124-149 149 Probability of Bit Error The low pass filtered and sampled PAM signal results in an expression for the probability

More information

Computation of Bit-Error Rate of Coherent and Non-Coherent Detection M-Ary PSK With Gray Code in BFWA Systems

Computation of Bit-Error Rate of Coherent and Non-Coherent Detection M-Ary PSK With Gray Code in BFWA Systems Computation of Bit-Error Rate of Coherent and Non-Coherent Detection M-Ary PSK With Gray Code in BFWA Systems Department of Electrical Engineering, College of Engineering, Basrah University Basrah Iraq,

More information

Physical Layer and Coding

Physical Layer and Coding Physical Layer and Coding Muriel Médard Professor EECS Overview A variety of physical media: copper, free space, optical fiber Unified way of addressing signals at the input and the output of these media:

More information

Measurement of a Clock-Tuned Digital Non-Foster Circuit for Positive or Negative Digital Capacitance

Measurement of a Clock-Tuned Digital Non-Foster Circuit for Positive or Negative Digital Capacitance Measurement of a Clock-Tuned Digital Non-Foster Circuit for Positive or Negative Digital Capacitance Patrick J. Kehoe, Killian K. Steer, and Thomas P. Weldon Department of Electrical and Computer Engineering

More information

Lab 3 Revisited. Zener diodes IAP 2008 Lecture 4 1

Lab 3 Revisited. Zener diodes IAP 2008 Lecture 4 1 Lab 3 Revisited Zener diodes R C 6.091 IAP 2008 Lecture 4 1 Lab 3 Revisited +15 Voltage regulators 555 timers 270 1N758 0.1uf 5K pot V+ V- 2N2222 0.1uf V o. V CC V Vin s = 5 V Vc V c Vs 1 e t = RC Threshold

More information

Q. 1 Q. 25 carry one mark each.

Q. 1 Q. 25 carry one mark each. GATE 5 SET- ELECTRONICS AND COMMUNICATION ENGINEERING - EC Q. Q. 5 carry one mark each. Q. The bilateral Laplace transform of a function is if a t b f() t = otherwise (A) a b s (B) s e ( a b) s (C) e as

More information

FBMC/OQAM transceivers for 5G mobile communication systems. François Rottenberg

FBMC/OQAM transceivers for 5G mobile communication systems. François Rottenberg FBMC/OQAM transceivers for 5G mobile communication systems François Rottenberg Modulation Wikipedia definition: Process of varying one or more properties of a periodic waveform, called the carrier signal,

More information

EE6604 Personal & Mobile Communications. Week 15. OFDM on AWGN and ISI Channels

EE6604 Personal & Mobile Communications. Week 15. OFDM on AWGN and ISI Channels EE6604 Personal & Mobile Communications Week 15 OFDM on AWGN and ISI Channels 1 { x k } x 0 x 1 x x x N- 2 N- 1 IDFT X X X X 0 1 N- 2 N- 1 { X n } insert guard { g X n } g X I n { } D/A ~ si ( t) X g X

More information

Pulse characterization with Wavelet transforms combined with classification using binary arrays

Pulse characterization with Wavelet transforms combined with classification using binary arrays Pulse characterization with Wavelet transforms combined with classification using binary arrays Overview Wavelet Transformation Creating binary arrays out of and how to deal with them An estimator for

More information

Revision of Lecture 4

Revision of Lecture 4 Revision of Lecture 4 We have completed studying digital sources from information theory viewpoint We have learnt all fundamental principles for source coding, provided by information theory Practical

More information

Analog Digital Sampling & Discrete Time Discrete Values & Noise Digital-to-Analog Conversion Analog-to-Digital Conversion

Analog Digital Sampling & Discrete Time Discrete Values & Noise Digital-to-Analog Conversion Analog-to-Digital Conversion Analog Digital Sampling & Discrete Time Discrete Values & Noise Digital-to-Analog Conversion Analog-to-Digital Conversion 6.082 Fall 2006 Analog Digital, Slide Plan: Mixed Signal Architecture volts bits

More information

Review Quantitative Aspects of Networking. Decibels, Power, and Waves John Marsh

Review Quantitative Aspects of Networking. Decibels, Power, and Waves John Marsh Review Quantitative spects of Networking Decibels, ower, and Waves John Marsh Outline Review of quantitative aspects of networking Metric system Numbers with Units Math review exponents and logs Decibel

More information

2A1H Time-Frequency Analysis II

2A1H Time-Frequency Analysis II 2AH Time-Frequency Analysis II Bugs/queries to david.murray@eng.ox.ac.uk HT 209 For any corrections see the course page DW Murray at www.robots.ox.ac.uk/ dwm/courses/2tf. (a) A signal g(t) with period

More information

Lecture 5b: Line Codes

Lecture 5b: Line Codes Lecture 5b: Line Codes Dr. Mohammed Hawa Electrical Engineering Department University of Jordan EE421: Communications I Digitization Sampling (discrete analog signal). Quantization (quantized discrete

More information

TSKS01 Digital Communication Lecture 1

TSKS01 Digital Communication Lecture 1 TSKS01 Digital Communication Lecture 1 Introduction, Repetition, and Noise Modeling Emil Björnson Department of Electrical Engineering (ISY) Division of Communication Systems Emil Björnson Course Director

More information

Analog to Digital Converters (ADCs)

Analog to Digital Converters (ADCs) Analog to Digital Converters (ADCs) Note: Figures are copyrighted Proakis & Manolakis, Digital Signal Processing, 4 th Edition, Pearson Publishers. Embedded System Design A Unified HW Approach, Vahid/Givargis,

More information

FPGA Resource Utilization Estimates for NI PXI-7854R. LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008

FPGA Resource Utilization Estimates for NI PXI-7854R. LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008 FPGA Resource Utilization Estimates for NI PXI-7854R LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008 Note: The numbers presented in this document are estimates. Actual resource usage for your

More information

Driven RLC Circuits Challenge Problem Solutions

Driven RLC Circuits Challenge Problem Solutions Driven LC Circuits Challenge Problem Solutions Problem : Using the same circuit as in problem 6, only this time leaving the function generator on and driving below resonance, which in the following pairs

More information

6.02 Fall 2012 Lecture #10

6.02 Fall 2012 Lecture #10 6.02 Fall 2012 Lecture #10 Linear time-invariant (LTI) models Convolution 6.02 Fall 2012 Lecture 10, Slide #1 Modeling Channel Behavior codeword bits in generate x[n] 1001110101 digitized modulate DAC

More information

Measurement and Instrumentation. Sampling, Digital Devices, and Data Acquisition

Measurement and Instrumentation. Sampling, Digital Devices, and Data Acquisition 2141-375 Measurement and Instrumentation Sampling, Digital Devices, and Data Acquisition Basic Data Acquisition System Analog Form Analog Form Digital Form Display Physical varialble Sensor Signal conditioning

More information

EE401: Advanced Communication Theory

EE401: Advanced Communication Theory EE401: Advanced Communication Theory Professor A. Manikas Chair of Communications and Array Processing Imperial College London Introductory Concepts Prof. A. Manikas (Imperial College) EE.401: Introductory

More information

Communication Theory Summary of Important Definitions and Results

Communication Theory Summary of Important Definitions and Results Signal and system theory Convolution of signals x(t) h(t) = y(t): Fourier Transform: Communication Theory Summary of Important Definitions and Results X(ω) = X(ω) = y(t) = X(ω) = j x(t) e jωt dt, 0 Properties

More information

ELEG 3124 SYSTEMS AND SIGNALS Ch. 5 Fourier Transform

ELEG 3124 SYSTEMS AND SIGNALS Ch. 5 Fourier Transform Department of Electrical Engineering University of Arkansas ELEG 3124 SYSTEMS AND SIGNALS Ch. 5 Fourier Transform Dr. Jingxian Wu wuj@uark.edu OUTLINE 2 Introduction Fourier Transform Properties of Fourier

More information

Theory and Design for Mechanical Measurements

Theory and Design for Mechanical Measurements Theory and Design for Mechanical Measurements Third Edition Richard S. Figliola Clemson University Donald E. Beasley Clemson University John Wiley & Sons, Inc. New York / Chichester / Weinheim / Brisbane

More information

CS434/534: Topics in Networked (Networking) Systems

CS434/534: Topics in Networked (Networking) Systems CS434/534: Topics in Networked (Networking) Systems Network OS Abstraction: From Data to Function Store; Wireless Foundation: Frequency-Domain Analysis Yang (Richard) Yang Computer Science Department Yale

More information

VID3: Sampling and Quantization

VID3: Sampling and Quantization Video Transmission VID3: Sampling and Quantization By Prof. Gregory D. Durgin copyright 2009 all rights reserved Claude E. Shannon (1916-2001) Mathematician and Electrical Engineer Worked for Bell Labs

More information

FPGA Resource Utilization Estimates for NI crio LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008

FPGA Resource Utilization Estimates for NI crio LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008 FPGA Resource Utilization Estimates for NI crio-9104 LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008 Note: The numbers presented in this document are estimates. Actual resource usage for your

More information

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

ESE 570: Digital Integrated Circuits and VLSI Fundamentals ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 24: April 19, 2018 Crosstalk and Wiring, Transmission Lines Lecture Outline! Crosstalk! Repeaters in Wiring! Transmission Lines " Where transmission

More information

EE303: Communication Systems

EE303: Communication Systems EE303: Communication Systems Professor A. Manikas Chair of Communications and Array Processing Imperial College London Introductory Concepts Prof. A. Manikas (Imperial College) EE303: Introductory Concepts

More information

PY3107 Experimental Physics II

PY3107 Experimental Physics II PY3107 Experimental Physics II ock-in Amplifiers MP aughan and F Peters Related Experiments ock-in ab ignal processing and phase sensitive detection using a lock-in amplifier The problem The signal to

More information

Sistemas de Aquisição de Dados. Mestrado Integrado em Eng. Física Tecnológica 2016/17 Aula 3, 3rd September

Sistemas de Aquisição de Dados. Mestrado Integrado em Eng. Física Tecnológica 2016/17 Aula 3, 3rd September Sistemas de Aquisição de Dados Mestrado Integrado em Eng. Física Tecnológica 2016/17 Aula 3, 3rd September The Data Converter Interface Analog Media and Transducers Signal Conditioning Signal Conditioning

More information

16.36 Communication Systems Engineering

16.36 Communication Systems Engineering MIT OpenCourseWare http://ocw.mit.edu 16.36 Communication Systems Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 16.36: Communication

More information

ELEN E4810: Digital Signal Processing Topic 11: Continuous Signals. 1. Sampling and Reconstruction 2. Quantization

ELEN E4810: Digital Signal Processing Topic 11: Continuous Signals. 1. Sampling and Reconstruction 2. Quantization ELEN E4810: Digital Signal Processing Topic 11: Continuous Signals 1. Sampling and Reconstruction 2. Quantization 1 1. Sampling & Reconstruction DSP must interact with an analog world: A to D D to A x(t)

More information

Signal Design for Band-Limited Channels

Signal Design for Band-Limited Channels Wireless Information Transmission System Lab. Signal Design for Band-Limited Channels Institute of Communications Engineering National Sun Yat-sen University Introduction We consider the problem of signal

More information

Chapter 21: RLC Circuits. PHY2054: Chapter 21 1

Chapter 21: RLC Circuits. PHY2054: Chapter 21 1 Chapter 21: RC Circuits PHY2054: Chapter 21 1 Voltage and Current in RC Circuits AC emf source: driving frequency f ε = ε sinωt ω = 2π f m If circuit contains only R + emf source, current is simple ε ε

More information

! Crosstalk. ! Repeaters in Wiring. ! Transmission Lines. " Where transmission lines arise? " Lossless Transmission Line.

! Crosstalk. ! Repeaters in Wiring. ! Transmission Lines.  Where transmission lines arise?  Lossless Transmission Line. ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 24: April 19, 2018 Crosstalk and Wiring, Transmission Lines Lecture Outline! Crosstalk! Repeaters in Wiring! Transmission Lines " Where transmission

More information

Digital Signal Processing

Digital Signal Processing Digital Signal Processing Introduction Moslem Amiri, Václav Přenosil Embedded Systems Laboratory Faculty of Informatics, Masaryk University Brno, Czech Republic amiri@mail.muni.cz prenosil@fi.muni.cz February

More information

Comparative Performance of Three DSSS/Rake Modems Over Mobile UWB Dense Multipath Channels

Comparative Performance of Three DSSS/Rake Modems Over Mobile UWB Dense Multipath Channels MTR 6B5 MITRE TECHNICAL REPORT Comparative Performance of Three DSSS/Rake Modems Over Mobile UWB Dense Multipath Channels June 5 Phillip A. Bello Sponsor: Contract No.: FA871-5-C-1 Dept. No.: E53 Project

More information

Topic 3. Design of Sequences with Low Correlation

Topic 3. Design of Sequences with Low Correlation Topic 3. Design of Sequences with Low Correlation M-sequences and Quadratic Residue Sequences 2 Multiple Trace Term Sequences and WG Sequences 3 Gold-pair, Kasami Sequences, and Interleaved Sequences 4

More information

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 41 Pulse Code Modulation (PCM) So, if you remember we have been talking

More information

Digital Communications: A Discrete-Time Approach M. Rice. Errata. Page xiii, first paragraph, bare witness should be bear witness

Digital Communications: A Discrete-Time Approach M. Rice. Errata. Page xiii, first paragraph, bare witness should be bear witness Digital Communications: A Discrete-Time Approach M. Rice Errata Foreword Page xiii, first paragraph, bare witness should be bear witness Page xxi, last paragraph, You know who you. should be You know who

More information

Sistemas de Aquisição de Dados. Mestrado Integrado em Eng. Física Tecnológica 2015/16 Aula 6-26 de Outubro

Sistemas de Aquisição de Dados. Mestrado Integrado em Eng. Física Tecnológica 2015/16 Aula 6-26 de Outubro Sistemas de Aquisição de Dados Mestrado Integrado em Eng. Física Tecnológica 2015/16 Aula 6-26 de Outubro Flash Decoder Thermometer code Wired NOR based decoder 2 Successive Approximation ADC (SAR) CONVERT

More information

CS6304 / Analog and Digital Communication UNIT IV - SOURCE AND ERROR CONTROL CODING PART A 1. What is the use of error control coding? The main use of error control coding is to reduce the overall probability

More information

8.1 Circuit Parameters

8.1 Circuit Parameters 8.1 Circuit Parameters definition of decibels using decibels transfer functions impulse response rise time analysis Gaussian amplifier transfer function RC circuit transfer function analog-to-digital conversion

More information

ω 0 = 2π/T 0 is called the fundamental angular frequency and ω 2 = 2ω 0 is called the

ω 0 = 2π/T 0 is called the fundamental angular frequency and ω 2 = 2ω 0 is called the he ime-frequency Concept []. Review of Fourier Series Consider the following set of time functions {3A sin t, A sin t}. We can represent these functions in different ways by plotting the amplitude versus

More information

CHAPTER 7. Exercises 17/ / /2 2 0

CHAPTER 7. Exercises 17/ / /2 2 0 CHAPTER 7 Exercises E7. (a) For the whole part, we have: Quotient Remainders 23/2 /2 5 5/2 2 2/2 0 /2 0 Reading the remainders in reverse order, we obtain: 23 0 = 0 2 For the fractional part we have 2

More information

LABORATORY MANUAL MICROPROCESSOR AND MICROCONTROLLER

LABORATORY MANUAL MICROPROCESSOR AND MICROCONTROLLER LABORATORY MANUAL S u b j e c t : MICROPROCESSOR AND MICROCONTROLLER TE (E lectr onics) ( S e m V ) 1 I n d e x Serial No T i tl e P a g e N o M i c r o p r o c e s s o r 8 0 8 5 1 8 Bit Addition by Direct

More information

Lecture 340 Characterization of DACs and Current Scaling DACs (5/1/10) Page 340-1

Lecture 340 Characterization of DACs and Current Scaling DACs (5/1/10) Page 340-1 Lecture 34 Characterization of DACs and Current Scaling DACs (5//) Page 34 LECTURE 34 CHARACTERZATON OF DACS AND CURRENT SCALNG DACS LECTURE ORGANZATON Outline ntroduction Static characterization of DACs

More information

that efficiently utilizes the total available channel bandwidth W.

that efficiently utilizes the total available channel bandwidth W. Signal Design for Band-Limited Channels Wireless Information Transmission System Lab. Institute of Communications Engineering g National Sun Yat-sen University Introduction We consider the problem of signal

More information

Lecture 14 Dispersion engineering part 1 - Introduction. EECS Winter 2006 Nanophotonics and Nano-scale Fabrication P.C.Ku

Lecture 14 Dispersion engineering part 1 - Introduction. EECS Winter 2006 Nanophotonics and Nano-scale Fabrication P.C.Ku Lecture 14 Dispersion engineering part 1 - Introduction EEC 598-2 Winter 26 Nanophotonics and Nano-scale Fabrication P.C.Ku chedule for the rest of the semester Introduction to light-matter interaction

More information

Wave Phenomena Physics 15c

Wave Phenomena Physics 15c Wave Phenomena Physics 5c Lecture Fourier Analysis (H&L Sections 3. 4) (Georgi Chapter ) What We Did Last ime Studied reflection of mechanical waves Similar to reflection of electromagnetic waves Mechanical

More information

III. Spherical Waves and Radiation

III. Spherical Waves and Radiation III. Spherical Waves and Radiation Antennas radiate spherical waves into free space Receiving antennas, reciprocity, path gain and path loss Noise as a limit to reception Ray model for antennas above a

More information

a) Find the compact (i.e. smallest) basis set required to ensure sufficient statistics.

a) Find the compact (i.e. smallest) basis set required to ensure sufficient statistics. Digital Modulation and Coding Tutorial-1 1. Consider the signal set shown below in Fig.1 a) Find the compact (i.e. smallest) basis set required to ensure sufficient statistics. b) What is the minimum Euclidean

More information

EEO 401 Digital Signal Processing Prof. Mark Fowler

EEO 401 Digital Signal Processing Prof. Mark Fowler EEO 401 Digital Signal Processing Pro. Mark Fowler Note Set #14 Practical A-to-D Converters and D-to-A Converters Reading Assignment: Sect. 6.3 o Proakis & Manolakis 1/19 The irst step was to see that

More information

In this lecture, we will consider how to analyse an electrical circuit by applying KVL and KCL. As a result, we can predict the voltages and currents

In this lecture, we will consider how to analyse an electrical circuit by applying KVL and KCL. As a result, we can predict the voltages and currents In this lecture, we will consider how to analyse an electrical circuit by applying KVL and KCL. As a result, we can predict the voltages and currents around an electrical circuit. This is a short lecture,

More information

Cast of Characters. Some Symbols, Functions, and Variables Used in the Book

Cast of Characters. Some Symbols, Functions, and Variables Used in the Book Page 1 of 6 Cast of Characters Some s, Functions, and Variables Used in the Book Digital Signal Processing and the Microcontroller by Dale Grover and John R. Deller ISBN 0-13-081348-6 Prentice Hall, 1998

More information

Technical Description

Technical Description Overview It is being digitalized and accelerated with builtin micro processor because of development of computer. It is widely used in industrial NC, ROBOT, servo motors and OA equipment in order to detect

More information

Tracking of Spread Spectrum Signals

Tracking of Spread Spectrum Signals Chapter 7 Tracking of Spread Spectrum Signals 7. Introduction As discussed in the last chapter, there are two parts to the synchronization process. The first stage is often termed acquisition and typically

More information

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 3 Brief Review of Signals and Systems My subject for today s discussion

More information

Mobile Communications (KECE425) Lecture Note Prof. Young-Chai Ko

Mobile Communications (KECE425) Lecture Note Prof. Young-Chai Ko Mobile Communications (KECE425) Lecture Note 20 5-19-2014 Prof Young-Chai Ko Summary Complexity issues of diversity systems ADC and Nyquist sampling theorem Transmit diversity Channel is known at the transmitter

More information

Lecture 8: Sequential Multipliers

Lecture 8: Sequential Multipliers Lecture 8: Sequential Multipliers ECE 645 Computer Arithmetic 3/25/08 ECE 645 Computer Arithmetic Lecture Roadmap Sequential Multipliers Unsigned Signed Radix-2 Booth Recoding High-Radix Multiplication

More information

CS6956: Wireless and Mobile Networks Lecture Notes: 2/4/2015

CS6956: Wireless and Mobile Networks Lecture Notes: 2/4/2015 CS6956: Wireless and Mobile Networks Lecture Notes: 2/4/2015 [Most of the material for this lecture has been taken from the Wireless Communications & Networks book by Stallings (2 nd edition).] Effective

More information

ES 272 Assignment #2. in,3

ES 272 Assignment #2. in,3 ES 272 Assignment #2 Due: March 14th, 2014; 5pm sharp, in the dropbox outside MD 131 (Donhee Ham office) Instructor: Donhee Ham (copyright c 2014 by D. Ham) (Problem 1) The kt/c Noise (50pt) Imagine an

More information

Chapter 7: Channel coding:convolutional codes

Chapter 7: Channel coding:convolutional codes Chapter 7: : Convolutional codes University of Limoges meghdadi@ensil.unilim.fr Reference : Digital communications by John Proakis; Wireless communication by Andreas Goldsmith Encoder representation Communication

More information

Channel Coding and Interleaving

Channel Coding and Interleaving Lecture 6 Channel Coding and Interleaving 1 LORA: Future by Lund www.futurebylund.se The network will be free for those who want to try their products, services and solutions in a precommercial stage.

More information

Lecture 12. Block Diagram

Lecture 12. Block Diagram Lecture 12 Goals Be able to encode using a linear block code Be able to decode a linear block code received over a binary symmetric channel or an additive white Gaussian channel XII-1 Block Diagram Data

More information

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes.

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes. 5 Binary Codes You have already seen how check digits for bar codes (in Unit 3) and ISBN numbers (Unit 4) are used to detect errors. Here you will look at codes relevant for data transmission, for example,

More information

Electrical Engineering Written PhD Qualifier Exam Spring 2014

Electrical Engineering Written PhD Qualifier Exam Spring 2014 Electrical Engineering Written PhD Qualifier Exam Spring 2014 Friday, February 7 th 2014 Please do not write your name on this page or any other page you submit with your work. Instead use the student

More information

Digital Signal 2 N Most Significant Bit (MSB) Least. Bit (LSB)

Digital Signal 2 N Most Significant Bit (MSB) Least. Bit (LSB) 1 Digital Signal Binary or two stages: 0 (Low voltage 0-3 V) 1 (High voltage 4-5 V) Binary digit is called bit. Group of bits is called word. 8-bit group is called byte. For N-bit base-2 number = 2 N levels

More information

PHYSICS 122 Lab EXPERIMENT NO. 6 AC CIRCUITS

PHYSICS 122 Lab EXPERIMENT NO. 6 AC CIRCUITS PHYSICS 122 Lab EXPERIMENT NO. 6 AC CIRCUITS The first purpose of this laboratory is to observe voltages as a function of time in an RC circuit and compare it to its expected time behavior. In the second

More information

3.2 Complex Sinusoids and Frequency Response of LTI Systems

3.2 Complex Sinusoids and Frequency Response of LTI Systems 3. Introduction. A signal can be represented as a weighted superposition of complex sinusoids. x(t) or x[n]. LTI system: LTI System Output = A weighted superposition of the system response to each complex

More information

Paper Review. Special Topics in Optical Engineering II (15/1) Minkyu Kim. IEEE Journal of Quantum Electronics, Feb 1985

Paper Review. Special Topics in Optical Engineering II (15/1) Minkyu Kim. IEEE Journal of Quantum Electronics, Feb 1985 Paper Review IEEE Journal of Quantum Electronics, Feb 1985 Contents Semiconductor laser review High speed semiconductor laser Parasitic elements limitations Intermodulation products Intensity noise Large

More information

ETSF15 Analog/Digital. Stefan Höst

ETSF15 Analog/Digital. Stefan Höst ETSF15 Analog/Digital Stefan Höst Physical layer Analog vs digital Sampling, quantisation, reconstruction Modulation Represent digital data in a continuous world Disturbances Noise and distortion Synchronization

More information

Lecture 23. Dealing with Interconnect. Impact of Interconnect Parasitics

Lecture 23. Dealing with Interconnect. Impact of Interconnect Parasitics Lecture 23 Dealing with Interconnect Impact of Interconnect Parasitics Reduce Reliability Affect Performance Classes of Parasitics Capacitive Resistive Inductive 1 INTERCONNECT Dealing with Capacitance

More information

New frequency counting principle improves resolution

New frequency counting principle improves resolution ew frequency counting principle improves resolution Staffan Johansson, M.Sc. in Applied Physiscs (Marketing Manager at Pendulum Instruments AB, Bromma, Sweden) Abstract: Frequency counters have gone through

More information

Carrier Transmission. The transmitted signal is y(t) = k a kh(t kt ). What is the bandwidth? More generally, what is its Fourier transform?

Carrier Transmission. The transmitted signal is y(t) = k a kh(t kt ). What is the bandwidth? More generally, what is its Fourier transform? The transmitted signal is y(t) = k a kh(t kt ). What is the bandwidth? More generally, what is its Fourier transform? The baseband signal is y(t) = k a kh(t kt ). The power spectral density of the transmission

More information

Chapter 6 Shielding. Electromagnetic Compatibility Engineering. by Henry W. Ott

Chapter 6 Shielding. Electromagnetic Compatibility Engineering. by Henry W. Ott Chapter 6 Shielding Electromagnetic Compatibility Engineering by Henry W. Ott 1 Forward A shield is a metallic partition placed between two regions of space. To maintain the integrity of the shielded enclosure,

More information