TA的每日心情 | 擦汗 2020-1-14 15:59 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
不太情况是哪里的设置问题,首先我用MATLAB自带的函数产生了一个码元数据,然后丢给眼图分析函数! p* b7 A1 f* t4 W# d8 Y
* I, I; s! B) e& P0 Y
代码如下:4 b6 M2 M: C R q {6 d
///////////////////////////////////////////////////////////////////////////////////////////////$ a' i2 z" R' m& B
clear
5 y; @( A+ |' X7 }; Sclose all1 l0 Z* P3 E- U6 `# D
) [0 U3 c X) h( h. ]& E8 u$ r
% Initialize system parameters" _$ `* U# y- {# e I& x
Fs = 10000000000; Rs = 200000000; nSamps = Fs/Rs; rollOff = 0.8; M=4;
; a/ }5 v8 E; B7 g3 X! ahMod = comm.QPSKModulator; % comm.QPSKModulator System object* y3 V$ d- A3 u
5 F! f# O e6 v3 N% Square root raised cosine filters2 x. Z9 c2 A: u
filtSpec = fdesign.pulseshaping(nSamps,'Square root raised cosine',...+ R4 W% ]( d( L5 F% Q8 }
'Nsym,Beta',6,rollOff);
4 `) q7 h0 }+ T, v9 {0 P! M% {hTxFlt = design(filtSpec); hTxFlt.PersistentMemory = true;* T ^; t# V7 C& p
hRxFlt = copy(hTxFlt); hTxFlt.Numerator = hTxFlt.Numerator*nSamps;9 s+ c& q4 f/ n+ ~( H# t. D
3 D" D" A& ^! q: J0 R4 r! U% Generate modulated and pulse shaped signal0 b0 H$ A8 P! a: j, g
frameLen = 1258;
& {. V. h& K0 rmsgData = randi([0 M-1],frameLen,1);
3 K8 K7 v& C0 G* M3 U- U. m3 `' XmsgSymbols = step(hMod, msgData);4 X6 s0 S% y b5 g. @2 _
msgTx = hTxFlt.filter(upsample(msgSymbols, nSamps));3 W% ~3 A! p$ r6 \# n4 I# k- ^
& X8 E2 q {1 L0 q) s! J1 \t = 0:1/Fs:100/Rs-1/Fs; idx = round(t*Fs+1);7 }) c* z. r: l( }% x G
hFig = figure; plot(t, real(msgTx(idx)));/ ?3 v" I/ G/ ?2 e1 p
title('Modulated, filtered in-phase signal');
" j' u: V1 G% K% J$ V4 D3 S3 Vxlabel('Time (sec)'); ylabel('Amplitude'); grid on;
2 i$ k1 e% _) v5 W. b8 m) c! H
$ D4 e+ Z( V: z) |7 usave('pqfile1.txt', 'msgTx','-ASCII')
1 V. f7 b, w* _9 e% T2 N9 Z
- H: J# K1 ^. ~1 z3 V. N% Manage the figures, k9 j( [& X1 I
managescattereyefig(hFig);3 N5 q- h* a+ b, d$ c
& F0 s0 `) E6 A# A R8 |, E" B7 O Y9 T! p4 O5 }# y! B
% Create an eye diagram object
) s, K5 k# H* C4 X8 zeyeObj = commscope.eyediagram(...) u8 ^5 p7 ^" G4 r) M
'SamplingFrequency', Fs, ...# v5 A) N+ Q1 y
'SamplesPerSymbol', nSamps, ..., P. L8 b5 k, N! k
'MinimumAmplitude', -1.4, ...
* X0 d" s& P- S, T! R; u+ _ 'MaximumAmplitude', 1.4, ...& U! @1 U- _' q2 j) ?: p+ R2 T
'SamplingFrequency', Fs, ...
1 v8 V: O6 S& P+ s% ~ 'SamplesPerSymbol', nSamps, ...
) K+ @$ n$ g6 E2 ?' Y- w 'OperationMode', 'Complex Signal')* y% Q8 d0 S% W* t8 d9 O9 i- Y: e
+ T9 `1 v" y3 x! M) U5 c
% Update the eye diagram object with the transmitted signal" o( \5 R/ M4 s$ S! g$ f
eyeObj.update(msgTx);
9 |6 P9 M2 `% p1 F5 C' f; \' k4 k3 j5 I( c6 p/ C2 s% d
% Manage the figures7 C& n* H7 O* V1 e7 z1 a
& H; h. I# w4 r" O! r: Hanalyze(eyeObj);
8 p3 Q( M8 m M' _9 Y1 t2 k' GeyeObj.Measurements
$ Q& s8 X4 l2 \+ g# W- y0 z///////////////////////////////////////////////////////////////////////////////////////////////! l/ K2 d# x8 l+ m( r. b! h; D
6 _3 b3 b" z Y. v
然后读入pqfile1.txt文件,代码如下:# G+ W% _- g( n% R6 c2 }
//////////////////////////////////////////////////////////////////////////////////////////////
& i; |# ^& l7 ~% A: V/ o5 `( X+ `' P; Lclear3 z) {* p4 l3 u+ U1 E' V
close all
( h3 F0 c# k& Q0 V5 F! s, i2 W" K6 F+ @& X
Fs = 10000000000; Rs = 200000000; nSamps = Fs/Rs;
+ }: R) D- H( H; B* r3 T4 f& O* K& M, E3 m
filename ='pqfile1.txt';
$ {0 v7 b: j8 w1 F& a: W4 y5 Kfid=fopen(filename,'r');
" ?5 I; ^" |' b[code,count]=fscanf(fid,'%f',62900);1 G; `# b$ Z! k
8 C4 E- f8 ?0 n+ W4 a8 X& d% Create an eye diagram and display properties0 I: W/ T9 K; D' V" _1 P
eyeObj = commscope.eyediagram(...
& D; n* o! a2 w: w* A4 o 'SamplingFrequency', Fs, ...3 r8 u# |6 q* ^) L7 l0 e4 b, K6 }# j7 L
'SamplesPerSymbol', nSamps, ...5 a& T) y0 d7 O0 _( S! h
'SymbolsPerTrace',2,...
0 j% j& Z( X! v0 R; M1 u! i 'MinimumAmplitude', -1.4, ...
5 V! r& B2 z% h 'MaximumAmplitude', 1.4, ...$ I- i. O1 z! b# x- b* e$ A5 A
'PlotTimeOffse',0,...) |" |8 u5 ]- l1 B0 n8 _+ q
'PlotType','2D Colo',..." S' P' N. I8 W+ \2 W/ W7 P2 U
'ColorScale', 'log') %#ok8 J4 V# ?& @4 @
3 X# q+ m3 y' G& H2 v" K! V, j5 Z, O) b9 z
update(eyeObj, code);# x6 i/ U; [7 f6 ?8 N
title('Noisy NRZ signal');xlabel('Time (sec)');ylabel('Amplitude');grid on;
+ ~* t# a; p1 T3 u2 ]' yanalyze(eyeObj);
: n! B+ j- r: Y9 l, AeyeObj.Measurements
5 ]% v" P; H3 a. r" I1 R- u0 u//////////////////////////////////////////////////////////////////////////////////////////////# z& h, k/ X: c2 _2 ^# K4 Z
测量结果是:
- w9 l! o5 y8 G% W* r+ T Type: 'Eye Diagram Measurements'
% L9 S8 Q1 Y3 b DisplayMode: 'Optimized for Real Signal'
" b) X" Y5 S7 l: Z0 V EyeCrossingTime: [2.4972e-09 7.5006e-09]
% O) ?" K b) x1 a7 a0 p1 |. w EyeCrossingAmplitude: [-0.0109 -0.0117]* e6 k8 i$ h+ Z
EyeDelay: 4.9989e-097 ~3 g$ q+ l: M9 k
EyeLevel: [-0.8496 0.8484]( X- t/ D" L: A8 O
EyeAmplitude: 1.6980
8 i! r' l! L6 y M: f+ V EyeHeight: 1.0287
' Q( V9 e D9 X+ n$ z4 r" A- } EyeCrossingPercentage: 49.3703, Z. o& G9 H# |/ i" \& q7 S) n6 u
EyeOpeningVertical: 0.67238 l' w5 o* A8 R
EyeSNR: 7.6107
" x* d2 h) X( q$ j1 r QualityFactor: 13.1948
5 o4 i! F1 J( a, p8 y" X7 u EyeWidth: 4.3069e-09
5 f1 b1 T8 e5 P EyeOpeningHorizontal: 4.8000e-09
, D8 E8 A2 c; V) Q4 }5 S JitterRandom: 0
1 C }, p3 r' ] JitterDeterministic: 2.0000e-10- l2 Z+ p: M" O& I" N
JitterTotal: 2.0000e-104 P5 J3 x+ Q B% b
JitterRMS: 1.0180e-108 U9 Z5 x* w4 L& O- ?9 j5 w
JitterPeakToPeak: 2.4000e-09
5 H; Y4 r" ^% O6 w EyeRiseTime: 2.1848e-099 {- t) H6 V6 ^9 z3 f- u
EyeFallTime: 2.1804e-09 |
|