📄 urz.txt
字号:
%实验一:画出单(双)极性(不)归零码,及其功率谱
global dt t df N
close all
k=input('取样点数=2^k,k=[14]');
if isempty(k),k=14;end
Rt=input('输入占空比(在[0,1]间,默认为0.5)');
if isempty(Rt),Rt=0.5;end
N=2^k; %采样点数
L=64; %每码元的采样点数
M=N/L; %码元数
Rb=2; %码速率为2Mb/s
Ts=1/Rb; %码元间隔
dt=Ts/L; %时域采样间隔
%Rt=0.5; %占空比
df=1/(N*dt); %频域采样间隔
T=N*dt; %截短时间
Bs=N*df/2; %系统带宽
t=linspace(-T/2,T/2,N); %时域横坐标
f=linspace(-Bs,Bs,N); %频域横坐标
EP=zeros(1,N);
%---------单极性归零码 ----------
for jj=1:100
a=round(rand(1,M)); %产生M个取值0,1等概的随机码
s=zeros(1,N); %产生一个N个元素的零序列
for ii=1:Rt*Ts/dt
s(ii+[0:M-1]*L)=a; %产生单极性归零码
end
Q=t2f(s); %付氏变换
P=Q.*conj(Q)/T; %P为单极性归零码的功率
EP=(EP*(ii-1)+P)/ii; %累计平均
aa=30+10*log10(EP+eps); %加eps以避免除以零
end
figure(1)
set(1,'position',[10,50,750,350]) %设定窗口位置及大小
subplot(1,2,1)
plot(f,aa,'g')
title('单极性归零码的功率谱')
xlabel('f(MHZ)')
ylabel('Ps(f)(MHZ)')
axis([-15,+15,-50,50])
grid
subplot(1,2,2)
plot(t,s,'r')
title('单极性归零码')
xlabel('t(ms)')
ylabel('s(t)(V)')
axis([-5,5,-1.5,1.5])
grid
%---------单极性不归零码 ----------
for jj=1:100
a=round(rand(1,M)); %码元矢量
s=zeros(1,N);
for ii=1:L
s(ii+[0:M-1]*L)=a;
end %产生NRZ码
S=t2f(s);
P=S.*conj(S)/T; %功率谱
EP=(EP*(ii-1)+P)/ii; %累计平均
aa=30+10*log10(EP+eps); %加eps以避免除以零
end
figure(2)
set (2,'position',[10,50,750,350]);%设定窗口位置及大小
subplot(1,2,1)
plot(f,aa,'g');
title('单极性不归零码的功率谱')
grid
axis([-10,+10,-50,+50])
xlabel('f(MHZ)')
ylabel('Ps(f)(MHZ)')
subplot(1,2,2)
plot(t,s,'r')
title('单极性不归零码')
grid
axis([-10,+10,-1,+2])
xlabel('t(us)')
ylabel('s(t)(V)')
%---------双极性不归零码 ----------
for jj=1:100
a=round(rand(1,M)); %码元矢量
a=1-2*a;
s=zeros(1,N);
for ii=1:L
s(ii+[0:M-1]*L)=a;
end %产生NRZ码
S=t2f(s);
P=S.*conj(S)/T; %功率谱
EP=(EP*(ii-1)+P)/ii; %累计平均
aa=30+10*log10(EP+eps); %加eps以避免除以零
end
figure(3)
set (3,'position',[10,50,750,350]);%设定窗口位置及大小
subplot(1,2,1)
plot(f,aa,'g');
title('双极性不归零码的功率')
grid
axis([-10,+10,-50,+50])
xlabel('f(MHZ)')
ylabel('Ps(f)(MHZ)')
subplot(1,2,2)
plot(t,s,'r')
title('双极性不归零码')
grid
axis([-10,+10,-2,+2])
xlabel('t(us)')
ylabel('s(t)(V)')
%---------双极性归零码 ----------
for jj=1:100
a=round(rand(1,M)); %产生M个取值0,1等概的随机码
a=1-2*a;
s=zeros(1,N); %产生一个N个元素的零序列
for ii=1:Rt*Ts/dt
s(ii+[0:M-1]*L)=a; %产生双极性归零码
end
Q=t2f(s); %付氏变换
P=Q.*conj(Q)/T; %P为双极性归零码的功率
EP=(EP*(ii-1)+P)/ii; %累计平均
aa=30+10*log10(EP+eps); %加eps以避免除以零
end
figure(4)
subplot(1,2,1)
set(4,'position',[10,50,750,350]) %设定窗口位置及大小
plot(f,aa,'g')
title('双极性归零码的功率')
xlabel('f(MHZ)')
ylabel('Ps(f)(MHZ)')
axis([-15,+15,-50,50])
grid
subplot(1,2,2)
plot(t,s,'r')
title('双极性归零码')
xlabel('t(ms)')
ylabel('s(t)(V)')
axis([-5,5,-2,2])
grid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -