马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
t=0:0.001:0.999;%输入比特流
b=randint(1,10,2);
s=b(ceil(10*t+0.01));%ceil值为>=10*t+0.01 的最小整数,s为矩阵的第几列
%QPSK调制
m=cos(2*pi*20*t+s*pi/2);%调制信号
r=awgn(m,0);
T=0:0.001:0.099;
Icorrelator=cos(2*pi*20*T);
Qcorrelator=-sin(2*pi*20*T);
for n=0:9
result(n+1,:)=[trapz(T,r(n*100+1:n*100+100).*Icorrelator),trapz(T,r(n*100+1:n*100+100).*Qcorrelator)]; %这一行是什么意思?
end
s0=[trapz(T,cos(2*pi*20*T).*Icorrelator),trapz(T,cos(2*pi*20*T).*Qcorrelator)]; %这一行是什么意思?
s1=[trapz(T,cos(2*pi*20*T+pi/2).*Icorrelator),trapz(T,cos(2*pi*20*T+pi/2).*Qcorrelator)];
for n=0:9
[C,I(n+1)]=min([norm(result(n+1,:)-s0),norm(result(n+1,:)-s1)]);
end
%从for开始,这段代码实现的是相干解调,但是具体的是什么意思,我不大明白
input=b;
output=I-1;
figure
subplot(2,1,1);
plot(t,input(ceil(10*t+0.01)));
axis([0,1,-0.2,1.2]);
xlabel('Time')
ylabel('Amplitude')
title('Input Waveform')
subplot(2,1,2);
plot(t,output(ceil(10*t+0.01)));
axis([0,1,-0.2,1.2]);
xlabel('Time')
ylabel('Amplitude')
title('Output Waveform') |