NRZ、RZ信号的时频域区别及它们的谱效率


一、NRZ和RZ信号的时域比较

NRZ信号的特征是信号脉冲之间无间隔,即信号脉冲宽度 τ \tau τ等于码元宽度 T B T_{B} TB。NRZ信号可分为单极性NRZ和双极性NRZ信号。

RZ信号的特征是信号脉冲宽度 τ \tau τ等于码元宽度 T B T_{B} TB,即一个信号在码元终止时刻前总要回归到零电平处。RZ信号也可分为单极性RZ和双极性RZ信号。

NRZ和占空比为50%的RZ信号时域波形如图1所示:
在这里插入图片描述

图1 占空比为50%的RZ和NRZ信号的时域波形

二、NRZ和RZ信号的频域比较

时域矩形脉冲,在频域中对应为Sa函数。
NRZ信号的频域功率谱为:
公式1: P s ( f ) = T B S a 2 ( π f T B ) P_{s}(f)=T_{B}Sa^{2}(\pi fT_{B}) Ps(f)=TBSa2(πfTB)
占空比为50%的RZ信号频域功率谱为:
公式2: P s ( f ) = T B 4 S a 2 ( π 2 f T B ) P_{s}(f)=\frac{T_{B}}{4}Sa^{2}(\frac{\pi}{2} fT_{B}) Ps(f)=4TBSa2(2πfTB)

因此,符号率为20GBd的NRZ-OOK (100% RZ)信号、75% RZ-OOK和50% RZ-OOK信号的功率谱密度如图2、3和4所示。
在这里插入图片描述

图2 20GBd NRZ-OOK信号功率谱密度

在这里插入图片描述
图3 20GBd 75% RZ-OOK信号功率谱密度

在这里插入图片描述
图4 20GBd 50% RZ-OOK信号功率谱密度

从图2可以看出,对于NRZ信号而言,其主瓣的过零点刚好等于波特率,因此,其理论频谱效率为1Baud/s/Hz,只是理论最高谱效率(2 Baud/s/Hz)的一半。

从图3可以看出,对于占空比为75% 的RZ信号而言,其主瓣宽度大于波特率而小于2倍波特率。

从图4可以看出,对于占空比为50%的RZ信号而言,其主瓣宽度等于2倍波特率,因此,其理论谱效率为0.5 Baud/s/Hz,只是理论最高谱效率(2 Baud/s/Hz)的1/4。


总结

从以上的仿真结果可以看出:
对于占空比为50%的 RZ信号,其谱效率为理论最大谱效率的1/4。
对于占空比为100%的 RZ信号,即NRZ信号,其谱效率为理论最大谱效率的1半。
在相同的波特率情况下,占空比越小的RZ信号频谱的谱宽越大,谱效率越低。因此,相比于RZ信号,NRZ信号具有更高的谱效率。然而,现有研究表明,RZ信号对损伤的抑制能力更强。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 首先,需要使用 `linspace` 函数生成一组间点,例如: ``` t = linspace(0, 1, 1000); % 生成间序列,每秒 1000 个点 ``` 然后,可以使用 `square` 函数生成 NRZ 信号,例如: ``` NRZ = square(2*pi*t*10); % 生成 NRZ 信号,频率为 10Hz ``` 可以使用 `plot` 函数绘制 NRZ 信号域图像,例如: ``` plot(t, NRZ); % 绘制 NRZ 信号域图像 ``` 可以使用 `fft` 函数计算 NRZ 信号频域信息,例如: ``` NRZ_FFT = fft(NRZ); % 计算 NRZ 信号频域信息 ``` 可以使用 `plot` 函数绘制 NRZ 信号频域图像,例如: ``` plot(abs(NRZ_FFT)); % 绘制 NRZ 信号频域图像 ``` RZ 信号的生成和绘制方法类似,可以使用 `pulstran` 函数生成 RZ 信号,例如: ``` t1 = linspace(0, 1, 1000); % 生成间序列,每秒 1000 个点 RZ = pulstran(t1, [0 0.5], [1 -1], 10); % 生成 RZ 信号,频率为 10Hz ``` 然后可以使用 `plot` 函数绘制 RZ 信号域图像,例如: ``` plot(t1, RZ); % 绘制 RZ 信号域图像 ``` 可以使用 `fft` 函数计 ### 回答2: 以下是生成并绘制NRZRZ信号域和频域信息的MATLAB代码: ```matlab % 生成NRZ信号 T = 1; % 位周期 bit_duration = 0.1; % 位持续间 bit_sequence = [1 0 0 1 1 0 1]; % 位序列 t = 0:bit_duration/100:bit_duration; % 间点 nrz = zeros(1, length(t) * length(bit_sequence)); % 初始化NRZ信号 for i = 1:length(bit_sequence) if bit_sequence(i) == 1 nrz((i-1)*length(t)+1:i*length(t)) = 1; end end % 绘制NRZ信号域信息 figure; subplot(2, 1, 1); plot(0:length(nrz)-1, nrz); xlabel('间'); ylabel('振幅'); title('NRZ信号域信息'); % 绘制NRZ信号的频信息 nrz_freq = abs(fft(nrz)); f = (0:length(nrz_freq)-1) / max(length(nrz_freq)-1); subplot(2, 1, 2); plot(f, nrz_freq); xlabel('频率'); ylabel('幅度'); title('NRZ信号频域信息'); % 生成RZ信号 rz = zeros(1, length(t) * length(bit_sequence)); % 初始化RZ信号 for i = 1:length(bit_sequence) if bit_sequence(i) == 1 rz((i-1)*length(t)+1:(i-1)*length(t)+length(t)/2) = 1; else rz((i-1)*length(t)+length(t)/2+1:i*length(t)) = -1; end end % 绘制RZ信号域信息 figure; subplot(2, 1, 1); plot(0:length(rz)-1, rz); xlabel('间'); ylabel('振幅'); title('RZ信号域信息'); % 绘制RZ信号的频信息 rz_freq = abs(fft(rz)); subplot(2, 1, 2); plot(f, rz_freq); xlabel('频率'); ylabel('幅度'); title('RZ信号频域信息'); ``` 这段代码首先生成了一个NRZ信号和一个RZ信号,然后分别绘制了它们的域信息和频域信息。NRZ信号域信息,每个1都被表示为高电平,每个0都被表示为低电平。频域信息,显示了NRZ信号的频内容。同样,RZ信号域信息,每个1都被表示为高电平,每个0都被表示为低电平加上负脉冲,频域信息也被绘制出来。 ### 回答3: 以下是生成并绘制NRZRZ信号域和频域信息的Matlab代码: %生成NRZ信号 T = 1; %信号周期为1秒 bit_duration = 0.1; %比特持续间为0.1秒 t = 0:0.001:T; %间采样点 bit = [0 1 0 1]; %数据比特序列 nrz_signal = []; for i = 1:length(bit) if bit(i) == 1 nrz_signal = [nrz_signal ones(1, bit_duration*1000)]; else nrz_signal = [nrz_signal zeros(1, bit_duration*1000)]; end end %绘制NRZ信号域图像 figure; subplot(2,2,1); plot(t, nrz_signal); title('NRZ信号域图像'); xlabel('间(秒)'); ylabel('幅度'); %绘制NRZ信号频域图像 subplot(2,2,2); freq = linspace(-1000, 1000, length(t)); nrz_spectrum = abs(fftshift(fft(nrz_signal))); plot(freq, nrz_spectrum); title('NRZ信号频域图像'); xlabel('频率(Hz)'); ylabel('幅度'); %生成RZ信号 rz_signal = []; for i = 1:length(bit) if bit(i) == 1 rz_signal = [rz_signal ones(1, bit_duration*500) zeros(1, bit_duration*500)]; else rz_signal = [rz_signal zeros(1, bit_duration*1000)]; end end %绘制RZ信号域图像 subplot(2,2,3); plot(t, rz_signal); title('RZ信号域图像'); xlabel('间(秒)'); ylabel('幅度'); %绘制RZ信号频域图像 subplot(2,2,4); rz_spectrum = abs(fftshift(fft(rz_signal))); plot(freq, rz_spectrum); title('RZ信号频域图像'); xlabel('频率(Hz)'); ylabel('幅度'); 代码,我们首先设置了信号的周期T和比特的持续间bit_duration,并且给出了数据比特序列bit。然后,我们利用每个比特的值来生成NRZRZ信号。对于NRZ信号,我们通过在每个比特持续间内输出1或0来生成信号。对于RZ信号,我们通过在前一半比特持续间内输出1,后一半持续间内输出0来生成信号。最后,我们绘制了NRZRZ信号域和频域图像。在频域图像,我们使用傅里叶变换来将信号转换到频域,并使用fftshift函数将频的零频移到心。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿__星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值