eyes.m

来自「升余弦滚降波形的眼图及功率谱。滚降系数 。发送码元取值为0、2。」· M 代码 · 共 63 行

M
63
字号
global dt df t f N
close all
%初始化
N=2^16;%总取样点数
L=64;%每码元的采样点数
M=N/L;%码元数
Rb=2;%码率
Rt=0.5;%占空比
Ts=0.5;%码元宽度
dt=Ts/L;%系统时域采样间隔
df=1/(N*dt);%系统频域采样间隔
T=N*dt;%截断时间
Bs=N*df/2;
alpha=input('滚降系数(默认[0.5])');
if alpha==[],alpha=0.5;end
Na=4;

t=[-T/2+dt/2:dt:T/2];
f=[-Bs+df/2:df:Bs];

hr1=sin(pi*t/Ts)./(pi*t/Ts);
hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
hr=hr1.*hr2;  %升余弦滤波器冲击响应
HR=abs(t2f(hr));%升余弦滤波器传递函数
GT=sqrt(HR);
GR=GT;

figure(1)
  set(1,'position',[10,50,300,200]);
figure(2)
  set(2,'position',[400,50,300,200]);

 
EP2=zeros(size(f))+eps;
for ii=1:100
    a=round(rand(1,M));%产生双极性信息码
    aa=2*a;
    imp=zeros(1,N);
    imp(L/2:L:N)=aa/dt;%产生冲击序列
    IMP=t2f(imp);
     
    s=f2t(IMP.*HR);%冲击序列经过升余弦滚降信道
    S=t2f(s);%傅立叶变换
    P2=S.*conj(S)/T;%产生功率谱密度
    EP2=(EP2*(ii-1)+P2+eps)/ii;
   end    
    figure(1)
    plot(f,30+10*log10(EP2),'r');    
    grid
    axis([-3,3,-100,50]);
    xlabel('f (MHz)');
    ylabel('Ps(f) (dBm/MHz)');
    title('发送信号升余弦滚降的功率谱');
   
    figure(2)
    tt=[0:dt:Na*L*dt];
    hold on
    for jjj=1:Na*L:N-Na*L
        plot(tt,s(jjj:jjj+Na*L));
    end
    title('升余弦滚降的眼图');
   
    

⌨️ 快捷键说明

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