|
不太情况是哪里的设置问题,首先我用MATLAB自带的函数产生了一个码元数据,然后丢给眼图分析函数
* \3 h* c0 E, h$ |* U! P+ g7 \
, G, B4 @! K( |. r代码如下:+ P O9 N! r0 U' ^: i! b% m
///////////////////////////////////////////////////////////////////////////////////////////////) a1 m$ R5 V8 ?
clear
- `) Q! [8 K: [- Y% X; r" V0 |+ xclose all8 \8 |% S3 i, N" d
3 L$ y/ Y9 g6 V1 }; E3 l% Initialize system parameters
/ X# [; l1 B; B. J8 B; g/ U4 q* h( kFs = 10000000000; Rs = 200000000; nSamps = Fs/Rs; rollOff = 0.8; M=4;& q$ Z& s( `7 Z' P
hMod = comm.QPSKModulator; % comm.QPSKModulator System object
& |- ?1 ^, y% K+ V& _2 H7 H' ^" }" @, S( K
% Square root raised cosine filters) H0 q( E2 u$ l K/ T
filtSpec = fdesign.pulseshaping(nSamps,'Square root raised cosine',...
2 y' a v2 f5 L( V 'Nsym,Beta',6,rollOff);
; N0 m+ h% a9 ~3 ]4 JhTxFlt = design(filtSpec); hTxFlt.PersistentMemory = true;6 H6 c# j, F8 b
hRxFlt = copy(hTxFlt); hTxFlt.Numerator = hTxFlt.Numerator*nSamps;" I3 T, a' v3 P; t1 J8 j
% z% E' ?- ], }
% Generate modulated and pulse shaped signal' _6 A7 N) \1 j- i
frameLen = 1258;) i5 i+ l1 n B4 c5 c& _
msgData = randi([0 M-1],frameLen,1);, d' T1 Z2 S6 H( Q
msgSymbols = step(hMod, msgData);) e6 y( _8 j5 e* J0 W C L
msgTx = hTxFlt.filter(upsample(msgSymbols, nSamps));+ X. K! B6 B, v" c- S8 A4 A
0 y, m j, S" D4 G3 e/ G# I
t = 0:1/Fs:100/Rs-1/Fs; idx = round(t*Fs+1);1 t: U$ t7 O. o2 o/ F1 m, u* Q3 i O2 m
hFig = figure; plot(t, real(msgTx(idx)));5 e( ^* {6 y4 H4 o$ H" y
title('Modulated, filtered in-phase signal');9 t% ?1 u% d) w: a5 n, X: \1 {
xlabel('Time (sec)'); ylabel('Amplitude'); grid on;5 r @ q" R. H% S# |3 m
( Y2 n+ ^! p6 T: w' X8 J' j8 s
save('pqfile1.txt', 'msgTx','-ASCII')1 t# `1 A! G6 |* {5 R
1 e' ?! U9 |$ h/ ^, H$ X0 P3 A% Manage the figures0 h% F, S- F9 p
managescattereyefig(hFig);5 l! e5 K( o5 B8 p5 a
) B' Z6 c8 ]3 x a ^' j5 Q5 h [* D: o( _
% Create an eye diagram object
' x- s2 s5 S) SeyeObj = commscope.eyediagram(...6 g0 Y+ ^2 Q+ l' L
'SamplingFrequency', Fs, ...5 ^) n; E; `; r% ?
'SamplesPerSymbol', nSamps, ...* A5 I4 Y3 b2 ]) }0 c
'MinimumAmplitude', -1.4, ...
2 p9 c) n# z8 A# x8 E0 {; E 'MaximumAmplitude', 1.4, ...: n, G7 n5 n6 m2 q8 k
'SamplingFrequency', Fs, ...1 t: y5 s! i) a' [! n% C6 I/ O
'SamplesPerSymbol', nSamps, ...
$ V$ G8 @+ M8 u' g0 ] Y/ T% U/ R- A 'OperationMode', 'Complex Signal')5 h* G, W+ D' v" N, X Q
8 Y; O( T1 Q- ?+ U6 ?# ?% ^; C% Update the eye diagram object with the transmitted signal
! H1 X/ O1 G/ i) @$ M7 C" B FeyeObj.update(msgTx);
, J4 k2 t) E" e5 H* q8 O5 l2 P# [0 H5 s, \0 {( V
% Manage the figures) d4 B3 W& R. C3 A; J! ^% F( h3 G
5 P' e5 f9 r9 ^7 ~3 S
analyze(eyeObj);
! W- |/ [2 ?3 y+ Q8 A6 b0 f/ reyeObj.Measurements
; T6 W/ c" ]" _8 l; A///////////////////////////////////////////////////////////////////////////////////////////////
( m4 Y+ [! Z- K3 g+ F0 ^
) x) _ Q" O1 c5 Z8 r然后读入pqfile1.txt文件,代码如下:
. l$ m* L" D0 P9 a+ y//////////////////////////////////////////////////////////////////////////////////////////////0 H+ {5 z5 }8 k8 m# e1 |
clear
- }' G: C' s1 p i0 D9 S! b0 wclose all
0 r) f$ w2 S- a4 I
3 m( Q' u, Q. E* |1 XFs = 10000000000; Rs = 200000000; nSamps = Fs/Rs;
, }4 w8 s, [% t8 @" c
; j8 t5 y4 J' @. F s: Xfilename ='pqfile1.txt';, j! x0 v& z! }: `8 e0 U
fid=fopen(filename,'r');
/ `. L p5 @# O. F( b. S1 y[code,count]=fscanf(fid,'%f',62900);
$ A2 R6 Q/ h; r# s4 _) Y$ D+ O3 N& p6 L& l! A4 a+ w
% Create an eye diagram and display properties
0 C* ]8 v# I9 |6 J. H0 EeyeObj = commscope.eyediagram(...
7 K) Z6 J$ B, U% f; d; k+ f 'SamplingFrequency', Fs, ...# Z# u- G% A# e4 n; M- B% ~
'SamplesPerSymbol', nSamps, ...
# M# o$ O4 {. i: J4 S 'SymbolsPerTrace',2,...8 n$ D: F9 o5 C- u7 j, @
'MinimumAmplitude', -1.4, ...
4 t2 g, C+ R6 v8 X. m 'MaximumAmplitude', 1.4, ...
+ p {$ Q3 h, Z7 M4 l @ 'PlotTimeOffse',0,...8 V: N$ [/ |5 T
'PlotType','2D Colo',...
- r" F3 N8 ~, q; [& f( i 'ColorScale', 'log') %#ok
/ b4 A8 Q# b/ ^5 M+ W }1 V- W$ v6 L- a7 E* S
W, o3 ]8 R6 \! L
update(eyeObj, code);* h$ [. z) p" t/ L. S% }
title('Noisy NRZ signal');xlabel('Time (sec)');ylabel('Amplitude');grid on;1 N7 p! | E0 C
analyze(eyeObj);
( ~7 G! A+ i) [% R# `. f5 heyeObj.Measurements" b& v2 ~2 i8 K; e! Z d
//////////////////////////////////////////////////////////////////////////////////////////////
2 B, ^: k/ I/ E' y5 M/ J6 q测量结果是:
& A% s) b/ \. C. ?% ~2 s- r B Type: 'Eye Diagram Measurements'
1 s+ u: M3 \- J3 d" v7 Z8 s z4 o DisplayMode: 'Optimized for Real Signal'3 h! H2 [6 g" N$ j9 l& l
EyeCrossingTime: [2.4972e-09 7.5006e-09]
6 R; A( h. ]9 p EyeCrossingAmplitude: [-0.0109 -0.0117]
8 I1 J9 d9 _8 c8 m6 g( D6 H) g- Z" c EyeDelay: 4.9989e-09
0 k( j1 k' g2 a6 p8 k6 m EyeLevel: [-0.8496 0.8484]
1 o5 q, {' W+ Y6 P6 U( P/ q0 m6 i8 k EyeAmplitude: 1.6980( k! p* T( V# M5 F
EyeHeight: 1.0287 l1 ^9 `2 i9 P2 Y
EyeCrossingPercentage: 49.3703. y. r! I5 C6 \: k+ A: v" W
EyeOpeningVertical: 0.6723+ L! M! C$ {5 W s2 e+ H
EyeSNR: 7.6107
& O$ c0 j' s7 z1 v0 s QualityFactor: 13.1948
9 k1 ^) `+ L0 p2 z$ g EyeWidth: 4.3069e-098 i' r6 U" ]& e
EyeOpeningHorizontal: 4.8000e-095 C4 O4 J6 H2 Z, w/ y' v! z
JitterRandom: 0
; ~+ s3 A; p, K9 Q7 o JitterDeterministic: 2.0000e-10
, s8 p7 p& }9 z& W' v$ J JitterTotal: 2.0000e-101 Q! P$ T4 [ m
JitterRMS: 1.0180e-10
* U: a' [$ n s" @$ ~0 k JitterPeakToPeak: 2.4000e-094 ?% k* I9 k1 V9 Z0 i$ a, }
EyeRiseTime: 2.1848e-09
# n; v% w1 O1 m) J3 P( e0 D EyeFallTime: 2.1804e-09 |
|