【实验目的】
1.掌握数字基带信号的波形及产生方法。
2.掌握数字基带信号的功率谱分析方法。
【实验内容】
1.二进制序列为10110010,以矩形波为例,利用Matlab画出相应的单极性不归零、单极性归零、双极性不归零、双极性归零的波形。
2.利用Matlab绘制单极性不归零、单极性归零、双极性不归零、双极性归零的功率谱图形。
【实验报告】
1.列出实验程序清单,并附上必要的程序说明。
2.记录实验结果,并对结果进行分析。
实验结果:
Ts = 1; % 码元周期
N_sample = 128; % 单个码元抽样点数
dt = Ts / N_sample; % 抽样时间间隔
N = 8; % 码元数
t = 0 : dt : (N * N_sample - 1) * dt; % 序列传输时间
gt1 = ones(1, N_sample); % NRZ
gt2 = [ones(1, N_sample / 2), zeros(1, N_sample / 2)]; % RZ
%% 单极性
RAN = [1 0 1 1 0 0 1 0];
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
if RAN(i)==1
se1 = [se1 gt1];
se2 = [se2 gt2];
else
se1 = [se1 zeros(1, N_sample)];
se2 = [se2 zeros(1, N_sample)];
end
end
%% 绘制出结果
subplot(2, 2, 1);plot(t, se1);grid on;axis([0 8 -1.5 1.5]);title('NRZ');
subplot(2, 2, 2);plot(t, se2);grid on;axis([0 8 -1.5 1.5]);title('RZ');
%% 双极性
RAN = [1 0 1 1 0 0 1 0];
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
if RAN(i)==1
se1 = [se1 gt1];
se2 = [se2 gt2];
else
se1 = [se1 -1*gt1];
se2 = [se2 -1*gt2];
end
end
%% 绘制出结果
subplot(2, 2, 3);plot(t, se1);grid on;axis([0 8 -1.5 1.5]);title('DBNRZ');
subplot(2, 2, 4);plot(t, se2);grid on;axis([0 8 -1.5 1.5]);title('DBRZ');
%% 生成单个码元
Ts = 1; % 码元周期
N_sample = 128; % 单个码元抽样点数
dt = Ts / N_sample; % 抽样时间间隔
N = 8; % 码元数
t = 0 : dt : (N * N_sample - 1) * dt; % 序列传输时间
gt1 = ones(1, N_sample); % NRZ
gt2 = [ones(1, N_sample / 2), zeros(1, N_sample / 2)]; % RZ
%% 单极性
RAN = [1 0 1 1 0 0 1 0]; % 随机0 1序列
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
if RAN(i)==1
se1 = [se1 gt1];
se2 = [se2 gt2];
else
se1 = [se1 zeros(1, N_sample)];
se2 = [se2 zeros(1, N_sample)];
end
end
%% 单极性功率谱密度计算
fft_se1 = fftshift(fft(se1)); % 求序列的频谱
fft_se2 = fftshift(fft(se2));
PE1 = 10 * log10(abs(fft_se1) .^ 2 / (N * Ts)); % 公式法求概率谱密度
PE2 = 10 * log10(abs(fft_se2) .^ 2 / (N * Ts));
PEL1 = (-length(fft_se1) / 2 : length(fft_se1) / 2 - 1) / 10; % 求区间长度
PEL2 = (-length(fft_se2) / 2 : length(fft_se2) / 2 - 1) / 10;
%% 绘制出结果
subplot(2, 2, 1);plot(PEL1, PE1); grid on; axis([-20 20 -20 50]); title('density-NRZ');
subplot(2, 2, 2);plot(PEL2, PE1); grid on; axis([-20 20 -20 50]); title('density-RZ');
%% 双极性
RAN = [1 0 1 1 0 0 1 0]; % 随机0 1序列
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
if RAN(i)==1
se1 = [se1 gt1];
se2 = [se2 gt2];
else
se1 = [se1 -1*gt1];
se2 = [se2 -1*gt2];
end
end
%% 双极性功率谱密度计算
fft_se1 = fftshift(fft(se1)); % 求序列的频谱
fft_se2 = fftshift(fft(se2));
PE1 = 10 * log10(abs(fft_se1) .^ 2 / (N * Ts)); % 公式法求概率谱密度
PE2 = 10 * log10(abs(fft_se2) .^ 2 / (N * Ts));
PEL1 = (-length(fft_se1) / 2 : length(fft_se1) / 2 - 1) / 10; % 求区间长度
PEL2 = (-length(fft_se2) / 2 : length(fft_se2) / 2 - 1) / 10;
%% 绘制出结果
subplot(2, 2, 3);plot(PEL1, PE1); grid on; axis([-20 20 -20 50]); title('density-DBNRZ');
subplot(2, 2, 4);plot(PEL2, PE1); grid on; axis([-20 20 -20 50]); title('density-DBRZ');
