资源简介
里面有本人运行出来的程序,图,程序语句后面还有注释!希望可以帮到大家!
代码片段和文件信息
clear all;
close all;
A=1;
fc=2; %2Hz
N_sample=8;
N=500; %码元数
Ts=1; %1 Baud/s
dt=Ts/fc/N_sample; %波形采样间隔
t=0:dt:N*Ts-dt;
Lt=length(t);
%产生二进制信源
d=randn(1N)>.5;
%计算相对码元
d0=0;
for i=1:length(d)
if (i==1)
if (d(i)==d0)
d_2dpsk(i)=0;
else
d_2dpsk(i)=1;
end
elseif (d(i)==d_2dpsk(i-1))
d_2dpsk(i)=0;
else
d_2dpsk(i)=1;
end
end
dd=sigexpand(dfc*N_sample);
gt=ones(1fc*N_sample); %NRZ波形
figure(1)
subplot(321); %输入NRZ信号波形(单极性)
d_NRZ=conv(ddgt);
plot(td_NRZ(1:length(t)));
axis([0 10 0 1.2]);
ylabel(‘输入信号‘);
subplot(322); %输入NRZ频谱
[fd_NRZf]=T2F(td_NRZ(1:length(t)));
plot(f10*log10(abs(d_NRZf).^2/Ts));
axis([-2 2 -50 10]);
ylabel(‘输入信号功率谱密度(dB/Hz)‘);
dd1=sigexpand(d_2dpskfc*N_sample);
subplot(323); %差分NRZ信号波形(单极性)
d_NRZ1=conv(dd1gt);
plot(td_NRZ1(1:length(t)));
axis([0 10 0 1.2]);
ylabel(‘差分信号‘);
subplot(324); %差分NRZ频谱
[fd_NRZ1f]=T2F(td_NRZ1(1:length(t)));
plot(f10*log10(abs(d_NRZ1f).^2/Ts));
axis([-2 2 -50 10]);
ylabel(‘差分信号功率谱密度(dB/Hz)‘);
%2dpsk
ht=A*cos(2*pi*fc*t);
d_2dpsk1=2*d_NRZ1-1;
s_2dpsk=d_2dpsk1(1:Lt).*ht;
subplot(325);
plot(ts_2dpsk);
axis([0 10 -1.2 1.2]);
ylabel(‘2DPSK‘);
subplot(326);
[fs_2dpskf]=T2F(ts_2dpsk);
plot(f10*log10(abs(s_2dpskf).^2/Ts));
axis([-fc-4 fc+4 -50 10]);
ylabel(‘2DPSK功率谱密度(dB/Hz)‘);
%采用相位比较法
count=1;
for i=1:length(t)
if(mod(i8)==1&i~=1)
count=
- 上一篇:最优潮流Matlab程序
- 下一篇:思典-粒子群优化Matlab工具箱
评论
共有 条评论