📄 双极性归零码.m
字号:
%时间单位 us 频率单位 MHz 码元速率 Mb/s
clear all
close all
clc
%k=input('取样点数=2^k,k=[14]');
%if isempty(k),
k=14;
%end
N=2^k; %采样点数
L=64; %每码元采样点数
M=N/L; %码元数
Rb=2; %码元速率
Ts=1/Rb; %码元间隔
dt=Ts/L; %时域取样间隔
df=1/(N*dt); %频域取样间隔
T=N*dt; %时域截短时间
Bs=N*df/2; %频域系统带宽
t=[0+dt/2:dt:T]; %时域横坐标
f=[-Bs+df/2:df:Bs]; %频域横坐标
%Rt=input('占空比=0--1,Rt=0.5');
%if isempty(Rt),
Rt=0.5;
%end
Ep=zeros(size(f));
for ii=1:50
a=(round(rand(1,M))-0.5)*2; %产生双极性随机序列
rz=zeros(1,N);
for tt=1:Rt*L
rz(tt+[0:M-1]*L)=a;
end
RZ=t2f(rz,dt); %傅立叶变换
P=RZ.*conj(RZ)/T; %功率谱密度
Ep=(Ep*(ii-1)+P)/ii;
end
figure(1) %画功率谱密度图形
set(1,'position',[10,50,300,200])
aa=30+10*log10(Ep+eps); %将幅度转化成dB值
plot(f,aa,'r')
grid on
axis([-10,+10,-50,50])
xlabel('f(MHz)')
ylabel('Ps(f)(dBm/MHz)')
figure(2) %画双极性归零码时域图形
set(2,'position',[350,50,300,200])
plot(t,rz,'b')
grid on
axis([0,10,-1.5,1.5])
xlabel('t(us)')
ylabel('s(t)(V)')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -