请给出以下matlab的代码:生成并绘制 NRZ 和 RZ 信号的时域和频域信息
时间: 2023-02-06 19:40:24 浏览: 210
下面是在 Matlab 中生成并绘制 NRZ 和 RZ 信号的时域和频域信息的代码示例:
生成 NRZ 信号:
```
% 设置常量
T = 1; % 信号周期
fs = 1000; % 采样频率
t = 0:1/fs:T; % 采样时间
% 生成 NRZ 信号
x = [ones(1,length(t)/2) -ones(1,length(t)/2)];
% 绘制时域信息
figure;
plot(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('NRZ Signal in Time Domain');
% 绘制频域信息
X = fft(x);
f = linspace(-fs/2, fs/2, length(t));
figure;
plot(f, abs(fftshift(X)));
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('NRZ Signal in Frequency Domain');
```
生成 RZ 信号:
```
% 设置常量
T = 1; % 信号周期
fs = 1000; % 采样频率
t = 0:1/fs:T; % 采样时间
% 生成 RZ 信号
x = [ones(1,length(t)/4) zeros(1,length(t)/2) -ones(1,length(t)/4)];
% 绘制时域信息
figure;
plot(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('RZ Signal in Time Domain');
% 绘制频域信息
X = fft(x);
f = linspace(-fs/2, fs/2, length(t));
figure;
plot(f, abs(fftshift(X)));
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('RZ Signal in Frequency Domain');
```
在上面的代码中,我们使用了 Matlab 内置函数 `fft` 和 `fftshift` 来计算信号的频域信息。`fft` 函数用于计算信号的离散傅里叶变换(DFT),而 `fftshift` 函数用
阅读全文