TA的每日心情 | 擦汗 2020-1-14 15:59 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
不太情况是哪里的设置问题,首先我用MATLAB自带的函数产生了一个码元数据,然后丢给眼图分析函数
; x" ^/ i- M) x- u7 E: v
* A4 C3 O9 L1 h, ^! D1 A代码如下:
: e; p. V+ b/ y/ i///////////////////////////////////////////////////////////////////////////////////////////////
b4 L1 d3 b+ H2 M+ Lclear
9 \2 @ J k& u- v- }" Jclose all! o/ y2 g b4 Y9 D
) Q" Z2 F6 P$ m* r% Initialize system parameters
# J$ i. } R) X' C6 K( F IFs = 10000000000; Rs = 200000000; nSamps = Fs/Rs; rollOff = 0.8; M=4;1 q" _4 t4 M9 o3 _$ n/ Q. p* d2 G
hMod = comm.QPSKModulator; % comm.QPSKModulator System object6 a6 J3 l; W& ~! U8 R" Y0 L
- s9 v7 }! ?2 J% Square root raised cosine filters+ U6 i O" \' P; A& X
filtSpec = fdesign.pulseshaping(nSamps,'Square root raised cosine',...) O& B. p" D& g- o2 R
'Nsym,Beta',6,rollOff);- E& Z1 k/ L$ o7 _ m {3 t
hTxFlt = design(filtSpec); hTxFlt.PersistentMemory = true;
- L" I- ^$ {& x/ C6 Z& |) ohRxFlt = copy(hTxFlt); hTxFlt.Numerator = hTxFlt.Numerator*nSamps;8 u! e& U1 t) L% b- y9 N* S- [) E
- T$ E' \0 _$ Y
% Generate modulated and pulse shaped signal0 L" W$ n: r d$ l0 }
frameLen = 1258;8 |3 Y& T9 P. u! J: u# g8 ?' O
msgData = randi([0 M-1],frameLen,1);9 C! ?; v% @: Q; J
msgSymbols = step(hMod, msgData);# l- ?, _; r0 U
msgTx = hTxFlt.filter(upsample(msgSymbols, nSamps));
6 w. u( L" w& ~3 `0 @' p
! \& p0 W6 h0 ~t = 0:1/Fs:100/Rs-1/Fs; idx = round(t*Fs+1);4 {& ~# p- l, O7 b
hFig = figure; plot(t, real(msgTx(idx)));6 |: V {4 C, x6 z8 i8 D
title('Modulated, filtered in-phase signal');
# W, }' t. b$ { Bxlabel('Time (sec)'); ylabel('Amplitude'); grid on;! _; P2 ?7 ^1 f4 w5 O5 w
/ X3 e8 x) m7 f! xsave('pqfile1.txt', 'msgTx','-ASCII'); E+ b0 S9 b' a
3 k: \* _4 y" R
% Manage the figures
. t% K' [' ~4 v. \managescattereyefig(hFig);
7 {1 j3 X, I4 B+ L% m; \% J, @% p9 Y* W
" ]& Q5 Z6 f. w% ^0 X' e
% Create an eye diagram object9 w) b; v2 S2 W, Z! [7 e9 ?& C
eyeObj = commscope.eyediagram(...
: ?* E) {4 b: K- ]* ` 'SamplingFrequency', Fs, ...
* k; W+ ]$ v; S. r" l 'SamplesPerSymbol', nSamps, ...% e. x8 Y3 T b9 H. S% }, R) S9 J
'MinimumAmplitude', -1.4, ...
, n8 t9 u6 Y! i( b- c" W6 C 'MaximumAmplitude', 1.4, ...
. k9 r% P, W4 P: j+ p; e 'SamplingFrequency', Fs, ...
0 s9 q* S) }9 Y! w4 x6 Y# H8 F 'SamplesPerSymbol', nSamps, ...
, u8 X2 p4 W9 l- l0 w0 j 'OperationMode', 'Complex Signal')
8 L+ ~; B6 D" P0 B q
' T7 m2 I s5 S1 y0 m% Update the eye diagram object with the transmitted signal! _" D' M, ]8 v/ b: R' b% Y
eyeObj.update(msgTx);( g& i8 @# n7 w7 N- O8 E0 {( b
2 r+ N9 O9 [: @3 d( H( ~7 Y, V
% Manage the figures* }0 t* ~0 c% \% I. Z
$ F% S/ G6 H4 H* I* t# y
analyze(eyeObj);) ~, F- V; P) `! q: }3 d8 z
eyeObj.Measurements
1 F8 ]( v$ Z$ c. b; ?& l9 b8 G///////////////////////////////////////////////////////////////////////////////////////////////
3 z$ ~3 z5 v+ k
" w- j2 r# S5 ^# L7 }. Y然后读入pqfile1.txt文件,代码如下:# f ]9 x9 b- z+ A1 |" Q7 Y
//////////////////////////////////////////////////////////////////////////////////////////////% X8 w( ?7 p) y& G
clear
4 `$ B" T9 L8 d% V- wclose all5 s( p: q1 N& ^1 m' k. V f
0 f. Y7 S+ m+ }6 N/ D2 V5 J, CFs = 10000000000; Rs = 200000000; nSamps = Fs/Rs;& s4 e& ?3 k/ n5 R5 P
" O5 g. T& J/ Y6 X0 @8 f0 ]7 Pfilename ='pqfile1.txt';- w( t; q: |% {8 q* [3 Y
fid=fopen(filename,'r');3 g6 c2 L* r! v _2 \
[code,count]=fscanf(fid,'%f',62900);8 x; q8 O. Z7 i3 d# v
- p4 s3 h: ~* _2 @7 N
% Create an eye diagram and display properties5 _6 y. N& g w+ Q3 j5 G$ W
eyeObj = commscope.eyediagram(...
2 e2 Z$ s' f. C 'SamplingFrequency', Fs, ...
9 v/ C2 R4 ?* K 'SamplesPerSymbol', nSamps, ...
# e- f6 |+ W9 f$ o 'SymbolsPerTrace',2,...1 h9 I# \0 |# f7 x, H6 ~9 o
'MinimumAmplitude', -1.4, ...2 q" c# `9 x& O( C
'MaximumAmplitude', 1.4, ...7 v2 `" z3 I* K9 [, o) [' D
'PlotTimeOffse',0,...
1 C! ~$ _9 Z: H 'PlotType','2D Colo',...: y5 Q4 s e, k' _
'ColorScale', 'log') %#ok0 q- J9 E8 n! n8 q( V5 [8 a; e
6 N3 l- O9 N3 C& P# X
' E$ w5 W+ z. j/ }+ ^
update(eyeObj, code);
3 J" E# J1 H# E- s0 y& a0 x+ }title('Noisy NRZ signal');xlabel('Time (sec)');ylabel('Amplitude');grid on;
0 L6 x8 Z. s3 ?6 t" u8 W& kanalyze(eyeObj);
2 B9 X) N$ u. k: F2 _5 geyeObj.Measurements
$ a- R! ?' }8 q( A//////////////////////////////////////////////////////////////////////////////////////////////
) u+ R4 `, }% T" u" k1 y测量结果是:
8 \5 [+ f3 U8 s1 J Type: 'Eye Diagram Measurements'" }2 e B) W3 N) D9 E
DisplayMode: 'Optimized for Real Signal'& ^( l' G6 P/ n2 b. Q$ n* i+ q
EyeCrossingTime: [2.4972e-09 7.5006e-09]
j( B9 w2 T6 [) ]1 N! z3 U: u EyeCrossingAmplitude: [-0.0109 -0.0117]
9 [6 ~8 n( v' ~1 U- Q0 U f* _2 { EyeDelay: 4.9989e-09
( M8 T) ^) I8 w1 b `. j8 F EyeLevel: [-0.8496 0.8484]
- _3 S: r6 b, t; [% K EyeAmplitude: 1.69805 L, a0 a3 f$ A$ l. M4 O H* _
EyeHeight: 1.0287
* P9 `4 I+ b/ _. Q u# e EyeCrossingPercentage: 49.3703' e o) G9 ~4 q
EyeOpeningVertical: 0.6723
: Z; K. r! e5 E. J F+ s$ N \ EyeSNR: 7.6107
, n6 Y ~& Y3 l9 K8 y QualityFactor: 13.19480 C( J4 h, M9 `. ], z- F8 s2 k$ G
EyeWidth: 4.3069e-09; N. U1 y' a$ @2 G) A, e
EyeOpeningHorizontal: 4.8000e-09! u/ ]$ Y2 K1 e3 \
JitterRandom: 0
9 {% e1 x# }3 \: a3 u8 E JitterDeterministic: 2.0000e-10/ v( ]0 |7 s1 Q8 F% ^/ ~" |
JitterTotal: 2.0000e-10* l% F) b/ B+ ?5 b
JitterRMS: 1.0180e-10) s! H! m$ y; r3 c _# Q% b
JitterPeakToPeak: 2.4000e-092 [! |. N3 R4 M# V9 G% \$ N8 b) q
EyeRiseTime: 2.1848e-096 A9 ?' n* f5 e
EyeFallTime: 2.1804e-09 |
|