生成0,1等概的单极性非归零NRZ信号的波形和功率谱的matlab代码,写好注释
时间: 2024-02-05 07:13:47 浏览: 134
以下是生成0,1等概的单极性非归零NRZ信号的波形和功率谱的Matlab代码:
```matlab
% 生成0,1等概的单极性非归零NRZ信号的波形和功率谱
clear; clc;
fs = 1000; % 采样频率
T = 1/fs; % 采样时间间隔
L = 1000; % 信号长度
t = (0:L-1)*T; % 时间序列
% 生成随机的二进制序列
bits = randi([0,1],1,L);
% 将二进制序列转换成非归零NRZ信号
signal = 2*bits - 1;
% 绘制原始二进制序列和非归零NRZ信号波形
subplot(2,1,1);
stairs(t,bits);
grid on;
axis([0 L/fs -0.5 1.5]);
xlabel('时间(s)');
ylabel('电平');
title('原始二进制序列');
subplot(2,1,2);
plot(t,signal);
grid on;
axis([0 L/fs -1.5 1.5]);
xlabel('时间(s)');
ylabel('电平');
title('非归零NRZ信号');
% 计算非归零NRZ信号的功率谱密度
NFFT = 2^nextpow2(L); % FFT长度
Y = fft(signal,NFFT)/L; % FFT
f = fs/2*linspace(0,1,NFFT/2+1); % 频率向量
PSD = 2*abs(Y(1:NFFT/2+1)).^2; % 单侧功率谱密度
% 绘制功率谱密度图
figure;
plot(f,PSD);
grid on;
xlabel('频率(Hz)');
ylabel('功率谱密度');
title('非归零NRZ信号的功率谱密度');
```
注释已经写在代码中。
阅读全文