📄 p(f)and-eye.m
字号:
%例三 升余弦滚降波形的眼图及功率谱
%本程序中时间单位是微秒
%频率单位为MHz
%码速率单位是Mb/s
global dt t df N
close all
N=2^14; %采样点数
L=32; %每码元的采样点数
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=0.5
t=[-T/2+dt/2:dt:T/2]; %时域横坐标
f=[-Bs+df/2:df:Bs]; %频域横坐标
g1=sin(pi*t/Ts)./(pi*t/Ts);
g2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
g=g1.*g2; %升余弦脉冲波形
G=t2f(g);
figure(1)
set(1,'Position',[10,50,300,200])
%设定窗口位置及大小
figure(2)
set(2,'Position',[350,50,300,200])
%设定窗口位置及大小
hold on
grid
xlabel('t in us')
ylabel('s(t) in V')
figure(3)
set(3,'Position',[690,50,300,200])
%设定窗口位置及大小
EP=zeros(size(f))+eps;
for ii=1:40
a=2*sign(randn(1,M)); %码元取值为0,2
imp=zeros(1,N); %产生冲激序列
imp(L/2:L:N)=a/dt;
S=t2f(imp).*G; %升余弦信号的傅氏变换
s=f2t(t2f(imp).*G); %升余弦信号的时域波形
s=real(s);
P=S.*conj(S)/T; %升余弦信号的功率谱
EP=(EP*(ii-1)+P+eps)/ii;
c=zeros(1,N);
c=reshape(a(ones(1,L),:),1,L*M);
figure(1) %功率谱图
plot(f,30+10*log10(EP),'g');
grid
axis([-3,+3,-50,50])
xlabel('f (MHz)')
ylabel('Ps(f) (dBm/MHz)')
figure(2) %眼图
tt=[0:dt:Na*L*dt];
for jj=1:Na*L:N-Na*L
plot(tt,s(jj:jj+Na*L));
end
figure(3)
plot(t,c,'g');
grid on
axis([-T/10,T/10,-.5,3]);
title(['发送信号码形'])
xlabel('t (us)')
ylabel('c(t) (V)')
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -