|
不太情况是哪里的设置问题,首先我用MATLAB自带的函数产生了一个码元数据,然后丢给眼图分析函数5 [# w2 E% Q7 ^' k. v! g; G
8 Z, A% o% z" r代码如下:
4 G+ m. ~# l0 w: ^7 P- l///////////////////////////////////////////////////////////////////////////////////////////////
6 n2 x/ M: F# ]7 B' c" B' Tclear3 C' _& N( h7 g3 D, \( P R3 [# w
close all" g) l/ A% K3 [; x( j
( @4 B ^& q: i; C0 x
% Initialize system parameters" H3 |' E, Y) p' g( o0 M; X3 Z: P
Fs = 10000000000; Rs = 200000000; nSamps = Fs/Rs; rollOff = 0.8; M=4;. V) [+ \! D, r6 @) C
hMod = comm.QPSKModulator; % comm.QPSKModulator System object& t3 x/ o9 K4 V
. g* m9 [' g+ u$ d; K3 g
% Square root raised cosine filters
# k! Z6 f% Q1 L4 BfiltSpec = fdesign.pulseshaping(nSamps,'Square root raised cosine',...5 t* l( L8 w: @6 k
'Nsym,Beta',6,rollOff);/ r: z! F3 B# f6 y! j: J) ]
hTxFlt = design(filtSpec); hTxFlt.PersistentMemory = true;
! p1 E* L" D4 W. k+ b* jhRxFlt = copy(hTxFlt); hTxFlt.Numerator = hTxFlt.Numerator*nSamps;
2 i- I* t8 M# v8 z+ |
* M( N% P( P+ W' m8 d; N6 U% Generate modulated and pulse shaped signal$ P; l: D8 H9 b3 m+ O1 b7 x
frameLen = 1258;; n. }+ \# H( O0 B' n0 J
msgData = randi([0 M-1],frameLen,1);
: ~- E' Q% p5 r( z+ N7 V" ^( `8 [msgSymbols = step(hMod, msgData);
* k! E7 ]. V/ i n! j) F/ y9 XmsgTx = hTxFlt.filter(upsample(msgSymbols, nSamps));% |7 _" L9 E0 N- o+ F* M7 X# v3 F; y
( O1 \8 [ Z8 l+ |: i8 ^t = 0:1/Fs:100/Rs-1/Fs; idx = round(t*Fs+1);
2 i7 j, }; d. @( e2 ]% O0 ?- \* ]hFig = figure; plot(t, real(msgTx(idx)));$ q' W: a6 n; }; b& W6 `
title('Modulated, filtered in-phase signal');2 F8 r' U& d% e9 T) t$ v) O- V
xlabel('Time (sec)'); ylabel('Amplitude'); grid on;
2 u0 S. s, X3 q6 I2 c2 R6 w7 s8 H" k' H8 H R6 \2 w3 x
save('pqfile1.txt', 'msgTx','-ASCII')
+ ^+ v1 L' D# O$ P& g& p4 ^. k8 X; H7 @3 H7 j
% Manage the figures+ q8 c7 A: S" `4 w |
managescattereyefig(hFig);
" w8 F! Y, C# X, a/ V
$ t7 T* d) n, v( E R6 y; _) L( Y* J+ Q
% Create an eye diagram object% R6 j8 }2 c- \# Q6 B1 d
eyeObj = commscope.eyediagram(...# m% o: p$ j$ a
'SamplingFrequency', Fs, ...
+ A% l f- s: Q# l4 O# X$ P 'SamplesPerSymbol', nSamps, ...5 C' Q$ r" H( c, Y( J8 I0 e0 ]
'MinimumAmplitude', -1.4, ...' X; B* z$ v0 `% ?2 ~2 y0 c
'MaximumAmplitude', 1.4, ...9 G, v9 R7 L+ D
'SamplingFrequency', Fs, ...
# U& O$ Z; R8 {4 x1 ^5 }/ {1 l 'SamplesPerSymbol', nSamps, ...
5 Y* H& G) ]% p2 d0 a' I5 D 'OperationMode', 'Complex Signal') R/ c+ ~; Y& `1 E2 U( a6 a' i0 A
% u, C& _$ i& W% W1 X ~% Update the eye diagram object with the transmitted signal
- i9 h, R! d: u: m0 Q3 neyeObj.update(msgTx);" _: S- c9 Q4 A- T8 }, _
; ~( h9 p+ N* Z) g: I- ]
% Manage the figures) d3 o- Y; Q5 G6 m# {: f% A8 B
3 i# E9 K3 a% |$ j# ?; m$ Z
analyze(eyeObj);
; @3 c; H5 ~" }* g( b+ FeyeObj.Measurements7 d% q2 X& G4 H6 r" K# W1 o
///////////////////////////////////////////////////////////////////////////////////////////////
! M* Q+ \9 M# @& ^
, G7 o; L) E1 ^; C. a然后读入pqfile1.txt文件,代码如下:9 W6 V9 p% ?/ H, h0 h
//////////////////////////////////////////////////////////////////////////////////////////////' P# V/ f1 j6 v- Y
clear
- u$ L8 o1 N Z) X8 D" `# |close all1 Q7 x1 n3 X% h X
& t$ l. R) {! Q* K' Y
Fs = 10000000000; Rs = 200000000; nSamps = Fs/Rs;
+ M N6 o. @) c0 C+ R4 y& G
5 |: M2 Y( \* I. Wfilename ='pqfile1.txt';4 f+ z7 I8 W) \+ C2 I8 r- [* z
fid=fopen(filename,'r');; }4 y' h5 A9 s9 H1 q/ i- U
[code,count]=fscanf(fid,'%f',62900);% j4 }9 a$ |5 t& R' g4 Z
. c* D0 @ A! L3 G6 i; X" R# B7 A
% Create an eye diagram and display properties
5 ?! K P4 C2 G0 X, V$ u; W8 TeyeObj = commscope.eyediagram(...7 s4 `' n( h: \7 V& ]; ~+ D% z
'SamplingFrequency', Fs, ...* q- X* Q% s5 Z( |0 e0 w
'SamplesPerSymbol', nSamps, ...; y& M* A t# c5 q# W1 A" q
'SymbolsPerTrace',2,...0 f* `) |/ e/ Y1 |" q6 S% R; q
'MinimumAmplitude', -1.4, ...
! o2 w& e, }; y( | 'MaximumAmplitude', 1.4, ...3 G' K D2 V" a6 ^8 v3 I5 h3 i
'PlotTimeOffse',0,.../ V+ o" F6 n3 m) h; J( a7 g5 g, n
'PlotType','2D Colo',...
( o+ j+ h' |& d* I+ v L$ E, V 'ColorScale', 'log') %#ok
' k9 B* j7 ^: q: V. f
/ w- P2 ~* a1 T$ D, L# z$ S' t! z* U, ~9 a+ P' h
update(eyeObj, code);# f5 o* x$ ]1 V" ]* T/ z! k( P* I
title('Noisy NRZ signal');xlabel('Time (sec)');ylabel('Amplitude');grid on;# f% i5 }" ]! L' r
analyze(eyeObj);
# Z. T! m/ r& T8 H& ZeyeObj.Measurements
* C' a. e& |9 x( e- D//////////////////////////////////////////////////////////////////////////////////////////////8 i2 g3 o% z) k( C! N) a/ t6 U( E
测量结果是:
2 u2 x) ^. n- p% W, x+ U) V Type: 'Eye Diagram Measurements'
4 I5 _* P) V. J) c DisplayMode: 'Optimized for Real Signal'
2 O' G6 b, z$ O4 b) W$ t& V) v$ g0 h EyeCrossingTime: [2.4972e-09 7.5006e-09]: r4 z) p, j3 ^/ \
EyeCrossingAmplitude: [-0.0109 -0.0117]7 G, B# V. m. y, r1 c# p- q: D, W
EyeDelay: 4.9989e-09
) p, n4 g6 u- b1 b EyeLevel: [-0.8496 0.8484]/ E, F8 U/ y+ N$ i. p
EyeAmplitude: 1.6980/ W8 G. h3 t! P' F
EyeHeight: 1.0287
9 \ ^) h/ y# H0 x, v9 N EyeCrossingPercentage: 49.3703! n f$ _" G3 u4 N2 h1 O
EyeOpeningVertical: 0.6723
7 d1 X/ K0 M8 a0 B. g EyeSNR: 7.6107
; G- }6 M3 e- r+ ]: |2 C QualityFactor: 13.1948. Q( e. u5 w, C) x! a: x* Y8 X5 d
EyeWidth: 4.3069e-09
' k3 F0 \5 u% \' M; u EyeOpeningHorizontal: 4.8000e-09# d$ N: w0 y" t! q
JitterRandom: 0
/ S, @8 B% V* s+ j$ ~4 ^/ W JitterDeterministic: 2.0000e-10
3 r0 P7 Z8 E1 h9 U6 A JitterTotal: 2.0000e-10 p7 T* V5 @: ^1 k8 ?4 B
JitterRMS: 1.0180e-10- \1 u& s _* A/ E
JitterPeakToPeak: 2.4000e-09
) m/ L" B" _/ f k, G EyeRiseTime: 2.1848e-09
' I1 O; Q- A1 K% }# i8 z EyeFallTime: 2.1804e-09 |
|