Version 4 SHEET 1 2912 1300 WIRE -208 48 -208 16 WIRE -208 160 -208 128 WIRE -160 16 -208 16 WIRE 16 96 16 48 WIRE 16 192 16 96 WIRE 16 320 16 272 WIRE 64 16 -160 16 WIRE 64 48 16 48 WIRE 176 16 128 16 WIRE 384 -16 336 -16 WIRE 384 48 336 48 WIRE 416 -16 384 -16 WIRE 416 48 384 48 WIRE 624 -16 576 -16 WIRE 624 -16 624 -112 WIRE 624 48 576 48 WIRE 624 144 624 48 WIRE 672 -112 624 -112 WIRE 672 144 624 144 WIRE 736 -32 736 -48 WIRE 736 64 736 48 WIRE 736 224 736 208 WIRE 736 320 736 304 WIRE 816 -112 800 -112 WIRE 816 144 800 144 WIRE 864 -112 816 -112 WIRE 864 144 816 144 WIRE 1072 -112 1024 -112 WIRE 1072 -16 1072 -112 WIRE 1072 144 1024 144 WIRE 1072 144 1072 48 WIRE 1088 -16 1072 -16 WIRE 1088 48 1072 48 WIRE 1280 -16 1248 -16 WIRE 1280 48 1248 48 WIRE 1472 112 1472 48 WIRE 1472 240 1472 192 WIRE 1536 16 1440 16 WIRE 1536 48 1472 48 WIRE 1568 -128 1568 -176 WIRE 1600 -224 1552 -224 WIRE 1600 -176 1568 -176 WIRE 1648 -240 1648 -272 WIRE 1648 -128 1568 -128 WIRE 1648 -128 1648 -160 WIRE 1648 -96 1648 -128 WIRE 1680 16 1600 16 WIRE 1792 -272 1648 -272 WIRE 1792 -240 1792 -272 WIRE 1792 -128 1648 -128 WIRE 1792 -128 1792 -176 WIRE 1856 -272 1792 -272 WIRE 1872 80 1872 48 WIRE 1872 208 1872 160 WIRE 1936 48 1872 48 WIRE 1968 16 1840 16 WIRE 1968 48 1936 48 WIRE 2080 16 2032 16 WIRE 2096 16 2080 16 WIRE 2160 128 2160 80 WIRE 2160 272 2160 208 WIRE 2240 16 2224 16 FLAG -208 160 0 FLAG -160 16 b_in FLAG 736 64 0 FLAG 736 320 0 FLAG 816 -112 x FLAG 816 144 y FLAG 16 320 0 FLAG 16 96 chip FLAG 384 -16 x1 FLAG 384 48 y1 FLAG 624 -16 x2 FLAG 624 48 y2 FLAG 2080 16 x3 FLAG 1472 240 0 FLAG 2240 16 x4 IOPIN 2240 16 Out FLAG 1872 208 0 FLAG 1936 48 ref FLAG 2160 272 0 FLAG 1648 -96 0 FLAG 1856 -272 BER IOPIN 1856 -272 Out FLAG 1552 -224 x4 IOPIN 1552 -224 In SYMBOL bv -208 32 R0 WINDOW 3 -24 158 Left 0 SYMATTR Value V=rand(time*{rb})>=0.5 SYMATTR InstName B1 SYMBOL ButterwLPF_3th 944 -112 R0 SYMATTR InstName X3 SYMATTR SpiceLine f={fc} SYMBOL ButterwLPF_3th 944 144 R0 SYMATTR InstName X4 SYMATTR SpiceLine f={fc} SYMBOL bv 736 -48 R0 SYMATTR InstName B7 SYMATTR Value V={Un}*Gauss1() SYMBOL bv 736 208 R0 SYMATTR InstName B8 SYMATTR Value V={Un}*Gauss2() SYMBOL add 736 144 R0 SYMATTR InstName X6 SYMBOL add 736 -112 R0 SYMATTR InstName X5 SYMBOL bv 16 176 R0 WINDOW 3 19 104 Left 0 SYMATTR Value V=(rand(time*{rc}+731.5)>=0.5) SYMATTR InstName B13 SYMBOL Digital\\xor 112 -32 R0 SYMATTR InstName A7 SYMBOL pulse_shaping 496 16 R0 WINDOW 39 -66 70 Left 0 SYMATTR SpiceLine Td={Ts/2} SYMATTR InstName X8 SYMBOL bv 1472 96 R0 WINDOW 3 -243 110 Left 0 SYMATTR Value V=delay(V(chip), {Tg+3/rc+45n+Ts/10}) SYMATTR InstName B2 SYMBOL Digital\\xor 1584 -32 R0 SYMATTR InstName A1 SYMBOL bv 1872 64 R0 WINDOW 3 -151 193 Left 0 SYMATTR Value V=delay(V(b_in), {Tg+2/rb-1/rc+60n}) SYMATTR InstName B3 SYMBOL voltage 2160 112 R0 WINDOW 3 -293 207 Left 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR Value PULSE(0 1 {Tg+3/rb-1/rc+50n} {Ts/10} {Ts/10} 0 {1/rb}) SYMATTR InstName V1 SYMBOL Digital\\xor 2016 -32 R0 SYMATTR InstName A2 SYMBOL mult 2160 16 R0 SYMATTR InstName X1 SYMBOL g 1648 -256 R0 SYMATTR InstName G1 SYMATTR Value 1 SYMBOL cap 1776 -240 R0 SYMATTR InstName C1 SYMATTR Value {(Ts/10)*((Tmax-2/rb)*rb)} SYMBOL pulse_reshaping 1168 16 R0 WINDOW 39 -67 70 Left 0 SYMATTR SpiceLine Td={Tg+Ts/2} SYMATTR InstName X2 SYMBOL oqpsk_demod 1360 16 R0 WINDOW 39 -70 70 Left 0 SYMATTR SpiceLine Td={Tg+45n-Ts/10} ref=0 SYMATTR InstName X9 SYMBOL bpsk_demod 1760 16 R0 WINDOW 39 -163 71 Left 0 SYMATTR SpiceLine Td={Tg+1/rb-1/rc+45n} ref=4 SYMATTR InstName X10 SYMBOL serial_to_par 256 16 R0 WINDOW 39 -65 69 Left 0 SYMATTR SpiceLine Td=0 SYMATTR InstName X11 TEXT 896 -304 Center 0 ;Coherent O-QPSK system (equivalent baseband) TEXT 136 -312 Left 0 !.params\n+ fc = 1.25e6\n+ rb=250e3\n+ rc=2e6\n+ Ts=1/(6*rc)\n+ fIF=3e6 TEXT -226 -238 Left 0 !.tran 0 {Tmax} {Tmax-Ts} {Ts} TEXT -224 -184 Left 0 !.options nomarch TEXT -224 -112 Left 0 !.save V(BER) TEXT -144 112 Left 0 ;bits in TEXT 288 -200 Left 0 ;Ts = sample-rate TEXT 536 -248 Left 0 !.func Gauss1() sqrt(-2*ln(1e-5+rand(2*time/{Ts})))*sin(2*pi*rand(2*time/{Ts}+2.43e4)) TEXT 536 -216 Left 0 !.func Gauss2() sqrt(-2*ln(1e-5+rand(2*time/{Ts})))*cos(2*pi*rand(2*time/{Ts}+2.43e4)) TEXT 136 -128 Left 0 !.params\n+ Tg =265n TEXT 288 -104 Left 0 ;Tg = groupdelay of LPF TEXT -224 -280 Left 0 !.params Tmax = 0.1 TEXT 336 -304 Left 0 !.params Un = 2.4 TEXT 1008 288 Left 0 ;C = 0.94 V^2\nN = 1.076 V^2 in a bandwidth of 3 MHz\n \nC/Nrx = -0.6 dB for a BER = 1e-3 RECTANGLE Normal 1376 400 992 256