MATLAB仿真绘制四种基本基带信号——双极性不归零码(DNRZ)、双极性归零码(DRZ)、单极性不归零码(SNRZ)、单极性归零码(SRZ)的时域波形及其功率谱

MATLAB仿真绘制四种基本基带信号————双极性不归零码(DNRZ)、双极性归零码(DRZ)、单极性不归零码(SNRZ)、单极性归零码(SRZ)的时域波形及其功率谱

目录

一、双极性不归零码

二、双极性归零码

三、单极性不归零码

四、单极性归零码

五、四种基本波形的功率谱

六、MATLAB绘制四种基本波形及其功率谱

七、MATLAB代码

总结


提示:以下是本篇文章正文内容,写文章实属不易,希望能帮助到各位,转载请附上链接。

一、双极性不归零码

  • 无直流

  • 1—高电平+1;0—负电平-1

二、双极性归零码

  • 无直流

  • 基本规则与双极性不归零码雷同,但是在一个信码周期中存在50%的零电平

三、单极性不归零码

  • 单极性:1—高电平;0—0电平,码元持续期间电平不变

  • 不归零:NRZ (nor-return to zero)

  • 有直流且有固定0电平,多用于终端设备或近距离传输(线路板内或线路板间)

四、单极性归零码

  • 归零:RZ (return to zero)发送“1”码时高电平在码元期间内只持续一段时间(一般取占空比50%),多用于近距离波形变换;

  • 有直流;

  • 可直接提取位定时;

  • 规则:1—高电平;0—0电平(与单极性非归零码相同),但是在一个定时信号中,存在归零现象,也就是比如二进制1—高点平1,但是存在归零,高电平不能占满整个一个的定时信号,而会存在50%占空比为0电平。

五、四种基本波形的功率谱

六、MATLAB绘制四种基本波形及其功率谱

七、MATLAB代码

clc;
clear all;
close all;
N=10000;            % 码元个数
fc=1e9;             % 载波信号频率
Rb=1e6;             % 码速率
sps=16;             % 每个码元的采样点数
fs=Rb*sps;          % 采样频率
n=N*sps;            % 总的采样点数
ts=1/fs;            % 最小采样间隔
Tb=ts*sps;          % 码元周期
t1=(1:N)*Tb;        % 码元持续时间
t2=(1:n)*ts;    	% 总的持续时间

%%              产生双极性不归零基带信号 
x=randi([0 1],1,N)*2-1;   % 产生双极性序列 1 -1 
figure(1); 
subplot(211);
stem(t1(1:20),x(1:20));grid on;
ylim([-1.2 1.2]);
title('双极性不归零基带信号');
x1=repmat(x,sps,1);  %将x复制sps行
xt=reshape(x1,1,n);  %将x1按列拼接成行向量
subplot(212);
plot(t2(1:20*sps),xt(1:20*sps));grid on;
ylim([-1.2 1.2]);
title('双极性不归零基带信号时域波形');
figure(2);
[p,f]=pwelch(xt,500,300,500,fs,'centered','power'); %500,300,500分别为计算样本点数,重叠点数,DFT点数
plot(f,10*log10(p));
xlabel('Frequency (Hz)');ylabel('Magnitude (dB)');title('双极性不归零基带信号功率谱');

%%              产生双极性归零基带信号 
x=randi([0 1],1,N)*2-1;   
figure(3); 
subplot(211);
stem(t1(1:20),x(1:20));grid on;
ylim([-1.2 1.2]);
title('双极性归零基带信号');
x1=repmat(x,sps/2,1);
x2=[x1;zeros(sps/2,N)];
xt=reshape(x2,1,n);
subplot(212);
plot(t2(1:20*sps),xt(1:20*sps));grid on;
ylim([-1.2 1.2]);
title('双极性归零基带信号时域波形');
figure(4);
[p,f]=pwelch(xt,500,300,500,fs,'centered','power'); %500,300,500分别为计算样本点数,重叠点数,DFT点数
plot(f,10*log10(p));
xlabel('Frequency (Hz)');ylabel('Magnitude (dB)');title('双极性归零基带信号功率谱');

%%              产生单极性不归零基带信号 
x=randi([0 1],1,N);   % 产生双极性序列 1 0 
figure(5); 
subplot(211);
stem(t1(1:20),x(1:20));grid on;
ylim([-0.2 1.2]);
title('单极性不归零基带信号');
x1=repmat(x,sps,1);
xt=reshape(x1,1,n);
subplot(212);
plot(t2(1:20*sps),xt(1:20*sps));grid on;
ylim([-0.2 1.2]);
title('单极性不归零基带信号时域波形');
figure(6);
[p,f]=pwelch(xt,500,300,500,fs,'centered','power'); %500,300,500分别为计算样本点数,重叠点数,DFT点数
plot(f,10*log10(p));
xlabel('Frequency (Hz)');ylabel('Magnitude (dB)');title('单极性不归零基带信号功率谱');

%%              产生单极性归零基带信号 
x=randi([0 1],1,N);   % 产生双极性序列 1 0 
figure(7); 
subplot(211);
stem(t1(1:20),x(1:20));grid on;
ylim([-0.2 1.2]);
title('单极性归零基带信号');
x1=repmat(x,sps/2,1);
x2=[x1;zeros(sps/2,N)];
xt=reshape(x2,1,n);
subplot(212);
plot(t2(1:20*sps),xt(1:20*sps));grid on;
ylim([-0.2 1.2]);
title('单极性归零基带信号时域波形');
figure(8);
[p,f]=pwelch(xt,500,300,500,fs,'centered','power'); %500,300,500分别为计算样本点数,重叠点数,DFT点数
plot(f,10*log10(p));
xlabel('Frequency (Hz)');ylabel('Magnitude (dB)');title('单极性归零基带信号功率谱');

总结

以上就是今天要讲的全部内容,希望对大家有帮助。

猜你喜欢

转载自blog.csdn.net/m0_66360845/article/details/134483621