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 + -
显示快捷键?