📄 shiyan3.m
字号:
%例三 升余弦滚降系统
%本程序中时间单位是微秒
%频率单位为MHz
%码速率单位是Mb/s
global dt t df N
close all
N=2^14; %采样点数
L=64; %每码元的采样点数
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个码元
%alph=input('滚降系数=[0.5]');
%if alpha==[],alpha=0.5;end
alpha=0.05;
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,400,300])
hold on
grid
xlabel('f (MHz)')
ylabel('Ps(f) (dBm/MHz)')
title('升余弦信号的功率谱')
%设定窗口位置及大小
figure(2)
set(2,'Position',[430,50,350,300])
%设定窗口位置及大小
hold on
grid
xlabel('t in us')
ylabel('s(t) in V')
EP=zeros(size(f))+eps;
for ii=1:100
a=round(rand(1,M))*2;
imp=zeros(1,N); %产生冲激序列
imp(L/2:L:N)=a/dt;
S=t2f(imp).*G; %升余弦信号的傅氏变换
s1=f2t(t2f(imp).*G); %升余弦信号的时域波形
s=real(s);
P=S.*conj(S)/T; %升余弦信号的功率谱
EP=(EP*(ii-1)+P+eps)/ii;
figure(1)
plot(f,30+10*log10(EP),'g');
grid
axis([-3,+3,0,50])
xlabel('f (MHz)')
ylabel('Ps(f) (dBm/MHz)')
title('升余弦信号的功率谱')
fill(f,30+10*log10(EP),'g');
figure(2)
title('升余弦信号的眼图')
tt=[0:dt:Na*L*dt];
for jj=1:Na*L:N-Na*L
plot(tt,s(jj:jj+Na*L));
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -