1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > matlab实现单极性 单极性 双极性 眼图仿真

matlab实现单极性 单极性 双极性 眼图仿真

时间:2022-05-09 20:30:10

相关推荐

matlab实现单极性 单极性 双极性 眼图仿真

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 波形功率谱密度');

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。