📄 dqpsk.m
字号:
clc
clear
c=100;
for i=1:c
n=1;
e=rand(n,1);
if e>0.5;
e=1;
else
e=0;
end
a(i)=e;
end
for i=1:50
mi(i)=a(2*i);
mq(i)=a(2*i-1);
end
for i=1:50
if mi(i)==1&mq(i)==1;
fi(i)=pi/4;
elseif mi(i)==0&mq(i)==1;
fi(i)=3*pi/4;
elseif mi(i)==0&mq(i)==0;
fi(i)=-3*pi/4;
else mi(i)==1&mq(i)==0;
fi(i)=-pi/4;
end
end
for i=2:51
fi(i)=fi(i-1);
end
for i=2:51
I(1)=1;Q(1)=0;
I(i)=I(i-1)*cos(fi(i))-Q(i-1)*sin(fi(i));
Q(i)=I(i-1)*sin(fi(i))+Q(i-1)*cos(fi(i));
end
for i=1:51
u(i)=awgn(I(i),8);
v(i)=awgn(Q(i),8);
end
for i=2:51
x(i)=u(i)*u(i-1)+v(i)*v(i-1);
y(i)=v(i)*u(i-1)-u(i)*v(i-1);
end
for i=2:51
if x(i)>0;
Mi(i-1)=1;
else
Mi(i-1)=0;
end
if y(i)>0;
Mq(i-1)=1;
else
Mq(i-1)=0;
end
end
for i=1:50
X(2*i)=mi(i);
X(2*i-1)=mq(i);
end
for i=1:50
Y(2*i)=Mi(i);
Y(2*i-1)=Mq(i);
end
hold on;
subplot(2,1,1),plot(X),title('原始信号');
hold on;
subplot(2,1,2),plot(Y),title('通过AWGN后并串并变换后的信号');
hold on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -