📄 zeroreturncode.m
字号:
%产生单极性归零码a
global dt t f df N T
close all
k=input('取样点数=2^k, k取10左右');
if isempty(k), k=13; end
z=input('每个信号取样点数=2^z,z<k');
if isempty(z), z=5; end
f0=input('f0=取1(kz)左右');
if isempty(f0), f0=1; end
N=2^k; %一共的取样点数
L=2^z; %每个码元的取样点数(偶数)
M=N/L; %信号数目 即码元数目
Rb=2;
Ts=0.05 %码元宽度是0.05us=50ns
dt=Ts/L; %时域采样间隔
df=1/(N*dt) %MHz
T=N*dt %截短时间
Bs=N*df/2 %系统带宽
f=[-Bs+df/2:df:Bs]; %频域横坐标
t=[-T/2+dt/2:dt:T/2]; %时域横坐标
EP=zeros(size(f))+eps;
for ii1=1:30
b=round(rand(1,M)); %产生随机码
s=zeros(1,N);
for ii=1:L/2;
s(ii+[0:M-1]*L)=b;
end
S=t2f(s); %S是s的傅氏变换
a=f2t(S); %a是S的傅氏反变换
a=abs(a);
P=S.*conj(S)/T; %功率谱
EP=(EP*(ii1-1)+P+eps)/ii1;
figure(1) %输出的功率画图
plot(f,10*log10(EP),'b');
grid
axis([-15,15,-100,20]);
xlabel('f (KHz)');ylabel('P (V/KHz)') ;title('功率谱图')
figure(2) %输出信号波形画图
plot(t,a,'b')
grid
axis([-3,3,0,1.3]);
xlabel('t (ms)');ylabel('s(t) (V)');title('单极性RZ的时域图')
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -