Ts=1;
N_sample=8;
N=1000; %码元个数
dt=Ts/N_sample; %抽样频率
t=0:dt:(N*N_sample-1)*dt;
gt1=ones(1,N_sample); %单个码元, NRZ
gt2=ones(1,N_sample/2);
gt2=[gt2 zeros(1,N_sample/2)]; %单个码元, RZ
d=sign(randn(1,N)); % 产生 1000 个服从标准正态分布的随机
数,并
% 取其符号,即产生-1, 0, 1 矩阵
e=(d+1)/2; %产生 0, 1 矩阵
data1=sigexpand(d,N_sample); %sigexpand 为自定义函数
data2=sigexpand(e,N_sample); %对矩阵 d 每个元素后插入 N_sample 个 0
st1=conv(data2,gt1); %产生单极性 NRZ 波形
st2=conv(data2,gt2); %产生单极性 RZ 波形
st3=conv(data1,gt1); %产生双极性 NRZ 波形
st4=conv(data1,gt2); %产生双极性 RZ 波形
st11=st1(1:length(t)); %将其长度与 t 对齐
st22=st2(1:length(t));
st33=st3(1:length(t));
st44=st4(1:length(t));
window=boxcar(length(t)); %矩形窗(单个矩形窗长度为序列长度)
noverlap=0; %数据无重叠
nfft=pow2(nextpow2(N*N_sample)); %求大于序列长度最小的 2 的幂次数值,以便做8
%傅里叶变换
fs=dt; %抽样频率
[pxx1,f1]=pwelch(st11,window,noverlap,nfft,fs,'centered'); %计算 st11 的功
率谱密度
[pxx2,f2]=pwelch(st22,window,noverlap,nfft,fs,'centered');
[pxx3,f3]=pwelch(st33,window,noverlap,nfft,fs,'centered');
[pxx4,f4]=pwelch(st44,window,noverlap,nfft,fs,'centered');
figure(1);
subplot(4,2,1);
plot(t,st11); %画单极性 NRZ 波形
axis([0 32 -1.2 1.2]); %设置 x 轴、 y 轴的取值范围
title('单极性 NRZ'); %设置标题
xlabel('时间/s'); %设置 x 轴名称
ylabel('电压/v'); %设置 y 轴名称
subplot(4,2,2);
plot(f1,10*log10(pxx1)); %画单极性 NRZ 功率谱密度图
axis([-0.08 0.08 -40 30]);
xlabel('频率/Hz');
ylabel('功率谱密度/dB');
title('单极性 NRZ 波形功率谱密度');
subplot(4,2,3);
plot(t,st22); %画单极性 RZ 波形
axis([0 32 -1.2 1.2]);
title('单极性 RZ');
xlabel('时间/s');
ylabel('电压/v');
subplot(4,2,4);
plot(f2,10*log10(pxx2)); %画单极性 RZ 功率谱密度图
axis([-0.08 0.08 -40 30]);
xlabel('频率/Hz');
ylabel('功率谱密度/dB');
title('单极性 RZ 波形功率谱密度');
subplot(4,2,5);
plot(t,st33); %画双极性 NRZ 波形
axis([0 32 -1.2 1.2]);
title('双极性 NRZ');
xlabel('时间/s');
ylabel('电压/v');
subplot(4,2,6);
plot(f3,10*log10(pxx3)); %画双极性 NRZ 功率谱密度图
axis([-0.08 0.08 -40 30]);
xlabel('频率/Hz');
ylabel('功率谱密度/dB');
title('双极性 NRZ 波形功率谱密度');
subplot(4,2,7);
plot(t,st44); %画双极性 RZ 波形
title('双极性 RZ');
xlabel('时间/s');
ylabel('电压/v');
axis([0 32 -1.2 1.2]);
subplot(4,2,8);
plot(f4,10*log10(pxx4)); %画双极性 RZ 功率谱密度图
axis([-0.08 0.08 -40 30]);
xlabel('频率/Hz');9
ylabel('功率谱密度/dB');
title('双极性 RZ 波形功率谱密度');