WOLFRAM NOTEBOOK

Frequency Characteristics of Dual-DAC NRZ, RZ and Doublet mode

(Local) In[]:=
T_s=1;(*samplingperiod[s]]*)

Prepare time-domain signal

Discrete - time signal

(Local) In[]:=
x_d[n_]=UnitStep[n](Exp[-n*T_s]-Exp[-n/2*T_s]/2+Exp[-n/3*T_s]/3-Exp[-n/4*T_s]/4);
DiscretePlot[x_d[n],{n,-10,10},PlotRange->Full,AxesLabel->{"n","value"},PlotLabel->"x_d"]
(Local) Out[]=
DTFT of x_d
(Local) In[]:=
X_d[f_]=Sum[x_d[n]Exp[-I*2Pi*f*n*T_s],{n,0,Infinity}];
Plot[{Abs[X_d[f/T_s]],Arg[X_d[f/T_s]]},{f,-2,2},PlotRange->Full,Prolog->{LightBlue,Rectangle[{-1/2,-1},{1/2,2}]},AxesLabel->{"f×T_s","value"},PlotLegends->{"abs.","arg."},PlotLabel->"X_d"]
(Local) Out[]=
abs.
arg.

Continuous - time signal

(Local) In[]:=
x_NRZ[t_]=x_d[Quotient[t,T_s]];
(Local) In[]:=
x_RZ[t_]=Mod[Quotient[t,T_s/2]+1,2]*x_d[Quotient[Quotient[t,T_s/2],2]];
(Local) In[]:=
x_Dbl[t_]=x_RZ[t]-x_RZ[t-T_s/2];
Plot[x_NRZ[t],{t,-3,10},Filling->Axis,PlotRange->{-0.7,0.7},AxesLabel->{"t [s]","value"},PlotLabel->"x_NRZ"]
(Local) Out[]=
Plot[x_RZ[t],{t,-3,10},Filling->Axis,PlotRange->{-0.7,0.7},AxesLabel->{"t [s]","value"},PlotLabel->"x_RZ"]
(Local) Out[]=
Plot[x_Dbl[t],{t,-3,10},Filling->Axis,PlotRange->{-0.7,0.7},AxesLabel->{"t [s]","value"},PlotLabel->"x_Dbl"]
(Local) Out[]=

Frequency Characteristic

Gains multiplied to DTFT
(Local) In[]:=
G_NRZ[f_]=T_s*Exp[-I*Pi*f*T_s]Sinc[Pi*f*T_s];
(Local) In[]:=
G_RZ[f_]=T_s/2*Exp[-I*Pi/2*f*T_s]Sinc[Pi/2*f*T_s];
(Local) In[]:=
G_dbl[f_]=I*T_s*Exp[-I*Pi*f*T_s]Sin[Pi/2*f*T_s]Sinc[Pi/2*f*T_s];
Plot[{Abs[G_NRZ[f/T_s]],Abs[G_RZ[f/T_s]],Abs[G_dbl[f/T_s]]},{f,-3,3},Prolog->{LightBlue,Rectangle[{-1/2,-1},{1/2,2}],LightGreen,Rectangle[{1/2,-1},{3/2,2}]},AxesLabel->{"f×T_s","value"},PlotLegends->{"NRZ","RZ","Doublet"},PlotLabel->"Gains in 3 modes, NRZ, RZ, Doublet"]
(Local) Out[]=
NRZ
RZ
Doublet
(Local) In[]:=
X_NRZ[f_]=G_NRZ[f]X_d[f];
(Local) In[]:=
X_RZ[f_]=G_RZ[f]X_d[f];
(Local) In[]:=
X_dbl[f_]=G_dbl[f]X_d[f];
Plot[{Abs[X_NRZ[f/T_s]],Abs[X_RZ[f/T_s]],Abs[X_dbl[f/T_s]]},{f,-3,3},Prolog->{LightBlue,Rectangle[{-1/2,-1},{1/2,2}],LightGreen,Rectangle[{1/2,-1},{3/2,2}]},AxesLabel->{"f×T_s","value"},PlotLegends->{"NRZ","RZ","Doublet"},PlotLabel->"Amp.s in 3 modes, NRZ, RZ, Doublet"]
(Local) Out[]=
NRZ
RZ
Doublet
Wolfram Cloud

You are using a browser not supported by the Wolfram Cloud

Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


I understand and wish to continue anyway »

You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.