TA的每日心情 | 擦汗 2020-1-14 15:59 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
不太情况是哪里的设置问题,首先我用MATLAB自带的函数产生了一个码元数据,然后丢给眼图分析函数% Y+ k1 Q/ M7 S8 u; C9 }1 `
2 Y: g. W4 u$ W$ E7 H! Q: A) [
代码如下:% T7 q2 C# e& e' {
///////////////////////////////////////////////////////////////////////////////////////////////
* p! B' H) K" [& a8 ^clear& V/ t8 t5 r; c* a$ W5 h
close all
" N3 q1 s7 Y8 l Z
6 J% E7 c5 J( j0 [0 n% Initialize system parameters/ j- B/ T8 j. e
Fs = 10000000000; Rs = 200000000; nSamps = Fs/Rs; rollOff = 0.8; M=4;
5 i& D W! `0 T" Z. V" UhMod = comm.QPSKModulator; % comm.QPSKModulator System object
1 s$ h/ J# R7 f! h
5 |9 A1 _6 P: d- F3 _3 p% Square root raised cosine filters
4 Q" {; K& ]( a: h( MfiltSpec = fdesign.pulseshaping(nSamps,'Square root raised cosine',...
9 H3 k2 F- M7 n: _+ Y 'Nsym,Beta',6,rollOff);
C1 `" b6 s) @2 J! ?& q) \hTxFlt = design(filtSpec); hTxFlt.PersistentMemory = true;" B; g2 f8 D9 T+ P- {8 v
hRxFlt = copy(hTxFlt); hTxFlt.Numerator = hTxFlt.Numerator*nSamps;6 _0 _) U: d0 M9 r: {) d: y) w; Q
! s' X$ @5 A+ }! C
% Generate modulated and pulse shaped signal
4 T& x' _2 s- E6 A0 `0 qframeLen = 1258;' Q) d/ n3 p1 V5 i
msgData = randi([0 M-1],frameLen,1);
) [! y% p2 L7 O$ ~msgSymbols = step(hMod, msgData);
* k/ t: G! Z4 x! A: ?msgTx = hTxFlt.filter(upsample(msgSymbols, nSamps));
& c7 w0 v' }5 O% J3 v' ?
- W; Z* w, n; q0 it = 0:1/Fs:100/Rs-1/Fs; idx = round(t*Fs+1);
8 H3 D( V! U2 ?+ v/ `$ `8 bhFig = figure; plot(t, real(msgTx(idx)));
* S0 S+ a( I. ttitle('Modulated, filtered in-phase signal');: V# O% b% Q+ }/ E
xlabel('Time (sec)'); ylabel('Amplitude'); grid on;. g5 Q9 w2 o _
9 \* S, B8 y. [+ P4 e& R8 ?& ]save('pqfile1.txt', 'msgTx','-ASCII')
2 D4 G, y5 X, I# x: X5 d! a% }9 w& @+ H( ]1 \& {
% Manage the figures. a. q7 u5 d3 E# ]1 D
managescattereyefig(hFig);
" \0 T1 S4 U- d6 F8 }7 J, X% A4 [! i
2 g1 q/ [5 X8 `/ _9 I l% Create an eye diagram object
6 l7 _( U: J" C$ L" WeyeObj = commscope.eyediagram(...5 j6 D, ]4 d5 G) F0 L
'SamplingFrequency', Fs, ...: q2 Y$ S S9 ~4 C8 ^- z0 x: w
'SamplesPerSymbol', nSamps, ...
% V9 H5 ~8 m8 Y S. O1 ` 'MinimumAmplitude', -1.4, ...
; L( k* n! }7 [8 R 'MaximumAmplitude', 1.4, ...
i% R" z q+ D% m' G) c6 R5 B 'SamplingFrequency', Fs, ...% t j7 {( o5 Q3 Y9 p) ~
'SamplesPerSymbol', nSamps, ...( q' D ?0 o) j0 A v; O" T
'OperationMode', 'Complex Signal')
; C/ L" l. }& O6 |4 \% Y1 C
; A9 U1 {% G l; V1 y" z9 c% Update the eye diagram object with the transmitted signal& [7 q6 A& x' H. c x" T! [
eyeObj.update(msgTx);
( K0 P& S2 |: I/ W9 C7 X: B2 ^) Y& Q6 b! d8 q5 A5 R/ Y+ ^
% Manage the figures0 B" l' D; I1 a2 @5 x3 R
' v, w+ w5 @% V, A; V- {( Q( C
analyze(eyeObj);- e U2 B9 x6 O- V& ?$ q! S
eyeObj.Measurements
: A" L4 l) c) [8 q///////////////////////////////////////////////////////////////////////////////////////////////: l" @5 k* u8 ^) v+ P2 \
7 N. c( U( B9 f5 f0 M然后读入pqfile1.txt文件,代码如下:
2 j7 V" a8 F! [6 d: N" M# {* ~//////////////////////////////////////////////////////////////////////////////////////////////
d0 C \& b# K% |clear' @" x& |+ U; k% }/ U' }
close all+ K& d9 j9 N9 Z* A) v* a
8 T/ V$ A- H1 R
Fs = 10000000000; Rs = 200000000; nSamps = Fs/Rs; h- f y7 O% y) C$ h4 Q
! I1 r$ R1 T, X: w9 k& ]
filename ='pqfile1.txt';
& m! k0 L/ p: K: c5 r% |fid=fopen(filename,'r');7 X2 [* S) M+ ^- [; c, T* W2 x
[code,count]=fscanf(fid,'%f',62900);
+ d7 ~5 h( }3 T3 E( Y; _( R) v- w: n7 p0 P
% Create an eye diagram and display properties
+ D; |+ }1 k+ G W: f0 meyeObj = commscope.eyediagram(...; G3 V& ^" }+ t3 @
'SamplingFrequency', Fs, ...$ Q5 s5 D' J$ L: u* x; A/ {
'SamplesPerSymbol', nSamps, ...2 ~7 G9 l e: |# m5 o* W
'SymbolsPerTrace',2,...
Z# v( L& [7 o5 h6 v0 c 'MinimumAmplitude', -1.4, ...: X& D) B0 H; ^; ]& J
'MaximumAmplitude', 1.4, ...* N/ Y8 r, }( V1 ~# f
'PlotTimeOffse',0,...
! o' Z" I% [& z5 D6 g! p7 z+ U% g 'PlotType','2D Colo',...: K' H& L% Z0 w4 w4 j8 @
'ColorScale', 'log') %#ok
% Q5 v8 |2 O( v. f; U& c& F$ U; [/ }$ E! e" u# T
( u* m; L1 H) v5 {update(eyeObj, code);
% }5 N1 Q. y( _3 A7 Y2 K7 y* t ntitle('Noisy NRZ signal');xlabel('Time (sec)');ylabel('Amplitude');grid on;
( S6 P. a' A# g. z. V8 L; P8 v! M+ Oanalyze(eyeObj);
! A; l3 c6 |, t% p2 ReyeObj.Measurements
; T1 [: [* T2 H5 u: S//////////////////////////////////////////////////////////////////////////////////////////////5 v# c; b7 k9 X: w3 [& z
测量结果是:
9 C. p3 z/ L7 ?$ s1 e- X0 ^. Z Type: 'Eye Diagram Measurements'
$ b, o7 d& m& f4 X& ` DisplayMode: 'Optimized for Real Signal'
+ T! n4 Q+ Q, { EyeCrossingTime: [2.4972e-09 7.5006e-09]
" u. d" Z8 p5 K9 i2 o. K# A EyeCrossingAmplitude: [-0.0109 -0.0117]
% G, i3 {% O& H! `' i Y$ U- n: \ EyeDelay: 4.9989e-09
! ?$ o; p- u/ `! [4 X2 R/ C7 K8 U EyeLevel: [-0.8496 0.8484]- Z2 L5 M! u& {
EyeAmplitude: 1.6980
2 a* B/ B8 H0 g3 H/ k EyeHeight: 1.0287
' q2 b" |: B! R% T EyeCrossingPercentage: 49.37036 Y k! p. [* n
EyeOpeningVertical: 0.6723
7 D% N0 j3 f4 N$ S$ p EyeSNR: 7.61070 Z6 T# D( U( k
QualityFactor: 13.1948
, T% i9 n2 G, Q' B1 ~; Z5 X EyeWidth: 4.3069e-09% X8 m5 j& S! Z% U+ k+ e
EyeOpeningHorizontal: 4.8000e-09
$ O# p8 ?) \+ F+ ~/ g- c D* Y JitterRandom: 0
" i: K& [! k7 k JitterDeterministic: 2.0000e-10
8 W1 r1 r5 G4 j- `. j JitterTotal: 2.0000e-10; _% N1 O2 ]+ l8 ^# Y3 h
JitterRMS: 1.0180e-10" \ P3 R0 C. Q+ t( x6 O' N; W
JitterPeakToPeak: 2.4000e-09
0 h4 E* Y/ U$ ^& S# f$ y EyeRiseTime: 2.1848e-09" M7 {6 b; E F7 C3 Y
EyeFallTime: 2.1804e-09 |
|