找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划

请教关于MATLAB读入外部数据进行眼图分析的过程的问题

查看数: 3040 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-7-4 18:17

正文摘要:

请教关于MATLAB读入外部数据进行眼图分析的过程的问题   h6 x& g" p; Y' ^1 b; o0 Q % L8 d, ?9 u% }8 v使用的是MATLAB2012A的环境0 ?# D4 J) j: p) @ 1 l" g( p2 C+ F7 Q4 {; ?; j- V - N$ M4 f$ E9 ...

回复

yejialu 发表于 2012-7-13 16:30
楼主人丢了吗?
yejialu 发表于 2012-7-6 09:33
估计牵涉的函数也有好几个。 这样吧,你看提示错误在哪个函数, 去查代码。+ a: F5 p' {! H: P9 q
Error using calcEyeCrossingTime (line 67)! j) t+ R6 a& @) n7 U
Error in commscope.eyemeasurements/analyze (line 85)2 X5 D5 k' D5 {0 ^% {
Error in commscope.eyediagram/analyze (line 85)
  c8 x3 r/ x" q8 y' d' Y; bError in Untitled (line 24)。% l0 S2 H+ n$ b; ]3 [- R
The ANALYZE method cannot determine crossing times. Check measurement setup values in the MeasurementsSetup property. Also, the collected data may not be valid. See
, M% q2 A# _* g/ L# A* Fdocumentation for description of valid eye diagrams.
. A& i4 U, N, Y  ]% T从这句话分析,我认为触发信号由于一个UI中的采样点过少,或者说采样频率过低。造成差分触发的P和N的交点无法判断, 也就 无法确定触发时间,无法去切割数据信号的UI,所以报错了。以上分析仅供参考。
yejialu 发表于 2012-7-6 09:23
导出数据的时候选择的step=100ps: s: J$ a) h8 W/ ?
是否这里的采样频率就可以理解为 Fs=100ps?
3 i$ \1 F- X4 `0 W& Istep是采样的步长吧。采样频率应该是步长的倒数。
0 N  [" T8 c, J" T' r% Y" K/ W
mengzhuhao 发表于 2012-7-5 18:57
yejialu 发表于 2012-7-5 15:18 / E6 k5 J5 h. ]6 s
楼主,有问题:
6 u( ?- d7 i8 S+ Y  z1,400MHz 的时钟是差分信号吗?
1 y9 Q  r  f0 {! F4 I2,你的数据中UI才100个, 确实短了。
* f0 ]* P* e4 k) g7 j) C. ~5 x
例如在ansoft designer 里面" b, Z2 k9 v( @3 o
/ `" g0 J7 O# G& r9 c3 u, L
数据码元用的是 V_PRBS_JITTER* f5 `6 L) s5 k7 C7 ?
TR=TF=5E-11
% a# G/ s; D# T' sBITWIDTH=2.5E-9
- G& E5 k3 K2 P: p1 B
: t3 g* _3 {# a! s& _' h+ B仿真时间长度5us  q: J! b1 W0 \6 h) d! w2 W& b

0 k0 m6 V" n8 f  ~& z8 E; l导出数据的时候选择的step=100ps
9 o7 g5 @7 w& {" n6 R- b3 `3 h1 z
( J) H0 B0 t: O' O  i  I是否这里的采样频率就可以理解为 Fs=100ps?
7 Z7 p3 D) G: K: O3 z因为DQS的时钟周期长度是5ns,每个码元的时间是2.5ns,所以每个码元的采样点数为2500/100=25个
+ R1 x0 g1 M! j7 a1 ^+ p; A) r4 U2 T' H. n6 H1 V0 @
目前这样的数据导出再导入到matlab里面无法计算
mengzhuhao 发表于 2012-7-5 18:55
不太情况是哪里的设置问题,首先我用MATLAB自带的函数产生了一个码元数据,然后丢给眼图分析函数8 g- Y! {' q/ t# W( e
' p4 H; _& M2 E! H& f% _
代码如下:, z) n# S; `" K6 U' x4 w
///////////////////////////////////////////////////////////////////////////////////////////////
  |; P" J1 d4 u/ H0 j* iclear( j: S* y" j3 v& e5 l; j0 `
close all6 M/ Z) M2 D2 P' }( O
   
; p7 @: W# Q9 s$ q; t: z% Initialize system parameters
& U7 h5 i& L& {Fs = 10000000000; Rs = 200000000; nSamps = Fs/Rs; rollOff = 0.8; M=4;
% v! T6 U  j( d% shMod = comm.QPSKModulator; % comm.QPSKModulator System object7 q- A- v8 p: ]4 F! G4 B0 b
6 s9 Z7 H- Y8 S( B! ]: o) K
% Square root raised cosine filters
5 n$ E/ `3 p9 IfiltSpec = fdesign.pulseshaping(nSamps,'Square root raised cosine',...
; {7 t/ ^& t7 B5 p" m8 Q; z    'Nsym,Beta',6,rollOff);
# V" f3 U% {) H3 A$ rhTxFlt = design(filtSpec); hTxFlt.PersistentMemory = true;
$ o' U" Q' {  _hRxFlt = copy(hTxFlt); hTxFlt.Numerator = hTxFlt.Numerator*nSamps;: w& U3 {! r9 U) {+ q+ Q
! M- j' C7 K) g. }0 x2 m+ U' H2 n
% Generate modulated and pulse shaped signal
- j( p! s( \& O5 Z& y1 \frameLen = 1258;4 U# p  x1 c9 U" i
msgData = randi([0 M-1],frameLen,1);
- B% Z* `8 A" O3 J" qmsgSymbols = step(hMod, msgData);
* g. q. v7 W' T+ C1 C, jmsgTx = hTxFlt.filter(upsample(msgSymbols, nSamps));
8 |. Q; D, U  v; D4 Z2 U
: h8 h$ L% w; r! T* k! u1 I7 Y& D$ it = 0:1/Fs:100/Rs-1/Fs; idx = round(t*Fs+1);" {2 r2 \2 W# j: p
hFig = figure; plot(t, real(msgTx(idx)));1 R3 v- |0 M) ^$ r  ?
title('Modulated, filtered in-phase signal');
) z4 ^/ ~2 X3 q, _: Z# ^7 ^/ H# r3 Kxlabel('Time (sec)'); ylabel('Amplitude'); grid on;6 b1 _  B: \# u
  I# x$ C% ^+ z
save('pqfile1.txt', 'msgTx','-ASCII')
3 s; |. |% t- D* p4 h& @. |% Q/ q4 I; I+ l
% Manage the figures
1 p7 o7 t6 L6 @managescattereyefig(hFig);
! G8 z) I5 |1 V& |) X! h* \$ }' [5 M: X+ d" t
8 k& X2 G; a+ E9 _, V2 x$ U
% Create an eye diagram object
$ n2 x$ U& ~' i/ CeyeObj = commscope.eyediagram(...: R+ v  t2 K7 b% V; Y; b* _% i
    'SamplingFrequency', Fs, ...! P# U3 t* D5 V( s  J6 X7 ?: P8 w3 @
    'SamplesPerSymbol', nSamps, ...
# z& W/ n1 l( Q9 K* M% w    'MinimumAmplitude', -1.4, ...: v' [2 }' k/ g5 M3 Q7 |( ]
    'MaximumAmplitude', 1.4, ...
+ B2 ~1 j# F, J    'SamplingFrequency', Fs, ...; \8 T/ t7 \' v0 U
    'SamplesPerSymbol', nSamps, ...
# |8 |6 y9 `) \: T    'OperationMode', 'Complex Signal')$ p+ w, Y  z7 W* O9 z: ^! C
* t, |7 O2 V& l; ?
% Update the eye diagram object with the transmitted signal' |+ R; N8 \+ d9 R1 n* Y
eyeObj.update(msgTx);8 N/ E* o$ n, H9 {  O

! Q6 y9 k- n5 [' q% Manage the figures7 V- r& R+ c. V2 C  l
  s% p5 k$ O5 {
analyze(eyeObj);
8 B% a6 Y3 |! G$ g% o" d8 A9 BeyeObj.Measurements! }0 z7 r( T; w) ], H6 N! ?
///////////////////////////////////////////////////////////////////////////////////////////////5 h" ^2 m% g# K1 R" M3 `

7 h: V+ a) K7 `! \5 M) y$ a6 G0 j然后读入pqfile1.txt文件,代码如下:
5 _- A6 j/ G$ c, w//////////////////////////////////////////////////////////////////////////////////////////////
* F& i* @5 J) k- D# Zclear6 i  b% l6 v. w9 u$ p: _6 r' R7 G
close all+ j: A# Q2 O3 R% h

  ~! g: A6 |4 E3 _# j* VFs = 10000000000; Rs = 200000000; nSamps = Fs/Rs;4 A/ K( }+ K# v5 ?' e2 \* n, w

; ?% g' f/ g+ m! T# h8 V$ L/ nfilename ='pqfile1.txt';
8 U' I7 U  ?0 W! R' c8 b) Q" Rfid=fopen(filename,'r');* z% l, P2 S0 }$ _! b. D' m# k" Z
[code,count]=fscanf(fid,'%f',62900);3 }5 x+ Q( x, a5 l, c1 {
; ~/ M+ Z, @1 h; M2 D" k" a8 z9 i: l
% Create an eye diagram and display properties# c2 q1 {& L( A9 e0 ^: G' Y, Q
eyeObj = commscope.eyediagram(...
* L, d6 W/ v% |) d4 q    'SamplingFrequency', Fs, ...
3 A( c- D' X0 H9 W    'SamplesPerSymbol', nSamps, ...2 L: ?7 u6 G; |+ p! X3 M
    'SymbolsPerTrace',2,...2 s  v, d7 T, q
    'MinimumAmplitude', -1.4, ...
$ ]- X- Q# x4 u    'MaximumAmplitude', 1.4, ...) z: Z$ h$ X1 ~2 {  g
    'PlotTimeOffse',0,...
9 p' H0 p0 w# h& h+ J, I0 ?    'PlotType','2D Colo',...8 ^& v& l4 y3 |. u
    'ColorScale', 'log') %#ok1 M- A" e8 \& S6 [- I* |. N/ W
1 N; c: E( m8 L/ a

  S3 U" e/ g( T& m3 i! w$ Rupdate(eyeObj, code);, P8 ]9 B- i4 A# u1 u8 l1 |9 i
title('Noisy NRZ signal');xlabel('Time (sec)');ylabel('Amplitude');grid on;
/ R) e* c2 W$ N; ^analyze(eyeObj);
/ d% V8 g$ K) Z5 Y% P" M9 J2 YeyeObj.Measurements
6 `0 ]( @* Z; f* V//////////////////////////////////////////////////////////////////////////////////////////////: Y/ N2 @* B) n% h( I6 E; K
测量结果是:$ b0 f1 b- K) ]* @. ]  W, I6 |
                     Type: 'Eye Diagram Measurements'
8 r* q0 V$ T" O* Z0 d( s              DisplayMode: 'Optimized for Real Signal'9 U( o5 K8 j+ s+ B$ B9 S" E% x& u
          EyeCrossingTime: [2.4972e-09 7.5006e-09]0 h1 y( I) Y% u2 X' H* C$ m
     EyeCrossingAmplitude: [-0.0109 -0.0117]
2 I3 G+ i! u9 W2 x" r) Q# J9 l                 EyeDelay: 4.9989e-09
5 ]. A9 H. X8 j- \$ h+ Q                 EyeLevel: [-0.8496 0.8484]: S2 M, R- d; ?# H+ V0 ]
             EyeAmplitude: 1.6980
) ?0 N  {7 m! c# m& y  ]                EyeHeight: 1.02877 `+ J5 C9 ]- s/ V" ?( T/ X1 W3 m
    EyeCrossingPercentage: 49.3703
, \+ m+ i/ j4 c9 k2 ^       EyeOpeningVertical: 0.67237 C/ |2 k. B1 H9 l& T/ R: ~
                   EyeSNR: 7.61071 @  g7 }3 E% h3 a  P
            QualityFactor: 13.1948
5 `, D+ I- R# u4 h2 J( z                 EyeWidth: 4.3069e-09
1 s2 ]8 D% M- G: V3 q3 p8 z     EyeOpeningHorizontal: 4.8000e-09
: [& o) {: O2 l             JitterRandom: 0
7 @+ |8 K( [- v+ x; w$ i, d      JitterDeterministic: 2.0000e-10- x( r$ [+ [3 r7 t3 s3 \
              JitterTotal: 2.0000e-10
6 P% ~) ~/ f! ^9 _# s8 h                JitterRMS: 1.0180e-104 U8 ^, X8 D9 g  x- R$ |
         JitterPeakToPeak: 2.4000e-09
' C' O: I3 I' [) a1 f              EyeRiseTime: 2.1848e-092 w# \# R* n3 ^7 R3 p8 L9 I& f! A
              EyeFallTime: 2.1804e-09
mengzhuhao 发表于 2012-7-5 18:07
yejialu 发表于 2012-7-5 15:18 ' b$ l5 C8 N4 }5 }" u/ j- F) t5 E
楼主,有问题:
! B: ~& j/ @) [1,400MHz 的时钟是差分信号吗?
1 g/ Z- ~2 h6 E+ J1 o2,你的数据中UI才100个, 确实短了。

* f2 @' h) N/ R% Fcommscope.eyediagram* k+ {. x' ?% o4 R. a/ O/ u
是在2012版本才有的 ,旧版本估计没有这个函数% R' P1 e9 v: T: e# f

* `2 T# M9 ~) N% B; X. Z1 P/ l7 _
yejialu 发表于 2012-7-5 15:18
楼主,有问题:
- I1 s) E* x! S1,400MHz 的时钟是差分信号吗?& N! `# Z, W/ c. s- m& q) }) w
2,你的数据中UI才100个, 确实短了。
- l: e$ i& ~) d1 ], u3,主要问题出在 commscope.eyediagram,而这个函数你未提供。分析该函数,就应该能找到问题的根源。
关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-15 19:04 , Processed in 0.061655 second(s), 36 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表