exampl_4.m

来自「这是对网孔均衡的仿真」· M 代码 · 共 82 行

M
82
字号
%例四 网孔均衡

%本程序中时间单位是微秒
%频率单位为MHz
%码速率单位是Mb/s

global dt t f df N
close all

N=2^13; %采样点数
L=16;   %每码元的采样点数
M=N/L   %码元数
Rb=2;		%码速率是2Mb/s
Ts=1/Rb;        %码元间隔
dt=Ts/L;        %时域采样间隔
df=1/(N*dt)     %频域采样间隔
T=N*dt          %截短时间
Bs=N*df/2       %系统带宽
Na=4;           %示波器扫描宽度为4个码元

alpha=input('滚降系数=[0.5]');
if alpha==[],alpha=0.5;end

t=[-T/2+dt/2:dt:T/2]; %时域横坐标
f=[-Bs+df/2:df:Bs]+eps;   %频域横坐标

%网孔均衡
WK=(pi*f*Ts)./sin(pi*f*Ts).*LPF(1/Ts); 
  
%升余弦
hr1=sin(pi*t/Ts)./(pi*t/Ts);
hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
hr=hr1.*hr2;		 
HR=t2f(hr);

%矩形脉冲
G=t2f(rect(Ts));

tt=[0:dt:Na*L*dt];
for ii=1:2
 figure(ii)
 set(ii,'Position',[10+(ii-1)*400,50,350,200])
                %设定窗口位置及大小 
 hold on
 grid
 axis([0,Na*Ts,-1,1])
 xlabel('t (us)')
 ylabel('V')
end

figure(3)
 set(3,'Position',[10,500,600,200])
                %设定窗口位置及大小 
 plot(f,abs(WK))
 grid
 axis([0,1/Ts,0,10])
 xlabel('f (MHz)')
 ylabel('网孔滤波特性')
 
 a=sign(randn(1,M));
 imp=zeros(1,N);    %产生冲激序列
 imp(L/2:L:N)=a/dt;
 IMP=t2f(imp);

 S1=IMP.*G;     %NRZ信号
 S2=S1.*WK.*HR; %加网孔,升余弦滚降
 S3=S1.*HR;     %不加网孔,直接滚降

 s2=real(f2t(S2));
 s3=real(f2t(S3));

 figure(1) 
 for jj=1:Na*L:N/2
  plot(tt,s2(jj:jj+Na*L),'g');
 end
 figure(2)
 for jj=1:Na*L:N/2
  plot(tt,s3(jj:jj+Na*L),'g');
 end


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?