实验总览
主要分析单极性归零、不归零码,双极性归零、不归零码,AMI码和HDB3码。
单极性不归零码
单极性不归零码产生
信号发生程序
function [signal, t] = SNRZ(N, Ts, L)
dt = Ts / L;
totalt = N * Ts;
wave = round(rand(1, N));
signal = zeros(1, N * L);
t = 0 : dt : totalt - dt; %得到自变量时间采样点,从0采样到totalt - dt,采样间隔为dt
for i = 1 : N
if wave(i) == 1
signal((i - 1) * L + 1 : i * L) = 1;
else
signal((i - 1) * L + 1 : i * L) = 0;
end
end
end
实验主程序
clc;clear;
%% 参数定义
N = 2000;
Ts1 = 1;
Ts2 = 0.1;
L = 200;
%% 产生码型
[SNRZ1, t1] = SNRZ(N, Ts1, L);
[SNRZ2, t2] = SNRZ(N, Ts2, L);
%% 频谱分析
HSNRZ1 = fft(SNRZ1);
HSNRZ2 = fft(SNRZ2);
n1 = length(t1);
n2 = length(t2);
nf1 = 0 : 1 / n1 : 1 - 1 / n1;
nf2 = 0 : 1 / n2 : 1 - 1 / n2;
fs1 = L / Ts1;
fs2 = L / Ts2;
f1 = nf1 * fs1;
f2 = nf2 * fs2;
%% 画图
subplot(3, 1, 1); plot(t1, SNRZ1); title('单极性不归零码时域波形 Ts = 1');
subplot(3, 1, 2); plot(f1, abs(HSNRZ1)); title('单极性不归零码频谱 Ts = 1');
subplot(3, 1, 3); plot(f2, abs(HSNRZ2)); title('单极性不归零码频谱 Ts = 0.1');
实验结果
单极性不归零码频谱中含有直流分量,没有定时信息,谱零点带宽为fB。
单极性归零码
单极性归零码产生
信号发生程序
function [signal, t] = SRZ(N, Ts, L)
dt = Ts / L;
totalt = N * Ts;
wave = round(rand(1, N));
signal = zeros(1, N * L);
t = 0 : dt : totalt - dt; %得到自变量时间采样点,从0采样到totalt - dt,采样间隔为dt
for i = 1 : N
if wave(i) == 1
signal((i - 1) * L + 1 : (i - 1 / 2) * L) = 1;
signal((i - 1 / 2) * L + 1 : i * L) = 0;
else
signal((i - 1) * L + 1 : i * L) = 0;
end
end
end
实验主程序
clc;clear;
%% 参数定义
N = 2000;
Ts1 = 1;
Ts2 = 0.1;
L = 200;
%% 产生码型
[SRZ1, t1] = SRZ(N, Ts1, L);
[SRZ2, t2] = SRZ(N, Ts2, L);
%% 频谱分析
HSRZ1 = fftshift(fft(SRZ1));
HSRZ2 = fftshift(fft(SRZ2));
n1 = length(t1);
n2 = length(t2);
nf1 = - 1 / 2 + 1 / n1 : 1 / n1 : 1 / 2;
nf2 = - 1 / 2 + 1 / n2 : 1 / n2 : 1 / 2;
fs1 = L / Ts1;
fs2 = L / Ts2;
f1 = nf1 * fs1;
f2 = nf2 * fs2;
%% 画图
subplot(3, 1, 1); plot(t1, SRZ1); title('单极性归零码时域波形 Ts = 1');
subplot(3, 1, 2); plot(f1, abs(HSRZ1)); title('单极性归零码频谱 Ts = 1');
subplot(3, 1, 3); plot(f2, abs(HSRZ2)); title('单极性归零码频谱 Ts = 0.1');