dnrz.m

来自「使用Matlab实现双极性不归零码」· M 代码 · 共 51 行

M
51
字号
%实验一:双极性不归零码的波形及功率谱密度
global dt df t f N
close all
N=2^13            % 采样点数
L=64               % 每码元的采样点数
M=N/L              % 码元数
Rb=2               % 发送码元的信息速率:2Mbps
Ts=1/Rb            % 码元宽度:0.5us
dt=Ts/L;            
df=1/(dt*N);        
T=N*dt             % 截短时间
B=N*df/2           % 系统带宽
t=[-T/2+dt/2:dt:T/2];    % 时域横坐标
f=[-B+df/2:df:B];    % 频域横坐标
figure(1);
set(1,'Position',[10,100,250,200]);    % 设定窗口位置及大小
figure(2);
set(2,'Position',[500,100,250,200]);  % 设定窗口位置及大小
figure(3);
set(3,'Position',[500,100,250,200]);  % 设定窗口位置及大小
EP=zeros(size(f));
for j=1:50;
a=sign(randn(1,M));
s=zeros(size(t));
for i=1:L,s(i+[0:M-1]*L)=a;end
RZ=t2f(s);
P=RZ.*conj(RZ)/T;
EP=(EP*(j-1)+P)/j;       %RZ功率谱的累计平均
end
PRZ=30+10*log10(EP+eps);% 换算为dbm值
figure(1)
plot(t,s)          % 发送码元波形  
grid on            % 打开网格
axis([-2,2,-1.5,1.5])   % 限定范围
xlabel('t   (us)')
ylabel('s(t)   (V)')
figure(2)
plot(f,PRZ)         % RZ的功率谱  
grid on             % 打开网格
axis([-4.5,4.5,-70,70])   % 限定范围
xlabel('f   (MHz)')
ylabel('Ps(f)   (dBm)')

st=f2t(t2f(s));
figure(3)
plot(t,st)          % 发送码元波形  
grid on            % 打开网格
axis([-2,2,-1.5,1.5])   % 限定范围
xlabel('t   (us)')
ylabel('s(t)   (V)')

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?