matlab双极性归零码和不归零码程序
时间: 2023-08-24 15:23:43 浏览: 295
以下是MATLAB实现的双极性归零码和不归零码程序:
双极性归零码:
```matlab
% 输入原始数据
data = [1 0 -1 1 1 0 -1 -1];
% 计算归零后的数据
zero_data = data;
for i = 2:length(data)
if data(i) == 0
zero_data(i) = zero_data(i-1);
else
zero_data(i) = data(i);
end
end
% 绘制原始数据和归零后的数据
plot(data, 'LineWidth', 2);
hold on;
plot(zero_data, 'LineWidth', 2);
grid on;
legend('Raw Data', 'Zero Data');
```
这个程序与单极性归零码程序类似,只是在判断相邻两个数据符号不同时,将归零后的数据设置为前一个数据的符号。
不归零码:
```matlab
% 输入原始数据
data = [1 0 -1 1 1 0 -1 -1];
% 计算不归零码后的数据
nrz_data = data;
for i = 1:length(data)
if data(i) == 0
nrz_data(i) = -nrz_data(i-1);
end
end
% 绘制原始数据和不归零码后的数据
plot(data, 'LineWidth', 2);
hold on;
plot(nrz_data, 'LineWidth', 2);
grid on;
legend('Raw Data', 'NRZ Data');
```
这个程序中,当原始数据为0时,不归零码的数据取决于前一个数据的符号,因此在循环中进行判断,如果当前数据为0,则将不归零码的数据设置为前一个数据的相反数。
阅读全文