📄 tiaozhi.m
字号:
clear
clear all
N=21;
bit_sequence=rand(1,N)>0.5;
bpsk=bit_sequence*2-1;
temp=[0.5+1j 1+0.5j -0.5+1j -1+0.5j -0.5-1j -1-0.5j 0.5-1j 1-0.5j]/sqrt(3);
transformbit = [0 0 0];
qpsk_sequence = ones(1,N/3);
psk_dianpingi=ones(1,N/3);
psk_dianpingq=ones(1,N/3);
for k=1:N/3
transformbit = bit_sequence(3*k-2:3*k);
if transformbit== [0 0 0]
qpsk_sequence(k) = temp(1);
ge(k)=conj(temp(1));
psk_dianpingi(k)=-0.383;
psk_dianpingq(k)=-0.924;
end
if transformbit== [0 0 1]
qpsk_sequence(k) = temp(2);
ge(k)=conj(temp(2)) ;
psk_dianpingi(k)=-0.924;
psk_dianpingq(k)=-0.383;
end
if transformbit== [0 1 0]
qpsk_sequence(k) = temp(3);
ge(k)=conj(temp(3));
psk_dianpingi(k)=-0.383;
psk_dianpingq(k)=0.924;
end
if transformbit== [0 1 1]
qpsk_sequence(k) = temp(4);
ge(k)=conj(temp(4));
psk_dianpingi(k)=-0.924;
psk_dianpingq(k)=0.383;
end
if transformbit== [1 0 0]
qpsk_sequence(k) = temp(5);
ge(k)=conj(temp(5));
psk_dianpingi(k)=0.383;
psk_dianpingq(k)=-0.924;
end
if transformbit== [1 0 1]
qpsk_sequence(k) = temp(6);
ge(k)=conj(temp(6));
psk_dianpingi(k)=0.924;
psk_dianpingq(k)=-0.383;
end
if transformbit== [1 1 0]
qpsk_sequence(k) = temp(7);
ge(k)=conj(temp(7))
psk_dianpingi(k)=0.383;
psk_dianpingq(k)=0.924;
end
if transformbit== [1 1 1]
qpsk_sequence(k) = temp(8);
ge(k)=conj(temp(8));
psk_dianpingi(k)=0.924;
psk_dianpingq(k)=0.383;
end
x(k)=(qpsk_sequence(k)+ge(k))/2 ;
y(k)=(qpsk_sequence(k)-ge(k))/2j;
t=3*k-3:0.01:3*k;
x1=(psk_dianpingi(k)*cos(2*pi*psk_dianpingi(k)*t)-psk_dianpingq(k)*sin(2*pi*t));
subplot(4,1,4)
axis([0,N-2,-2.5,2.5])
plot(t,x1);hold on
xx=bit_sequence(1);
for ii=1:N;
for kk=ii:0.01:ii+1;
b=ones(1,100);
subplot(4,1,1);
plot(kk,bit_sequence(ii));axis([0,N+1,-2,2]);hold on
if bit_sequence(ii)~=xx;
aa=0:0.01:1;plot(ii,aa);
end
xx=bit_sequence(ii);
end
end
end
xxx=psk_dianpingi(1);
for iii=3:3:21
for kkk=iii:0.01:iii+3
b=ones(1,100);
subplot(4,1,2)
jjj=iii/3;
plot(kkk,psk_dianpingi(jjj));axis([0,21,-2,2]);hold on
ccc=psk_dianpingi(jjj);
if ccc~=xxx;
if xxx<ccc
aaa=xxx:0.01:ccc;plot(iii,aaa,'-b');
else aaa=xxx:-0.01:ccc;plot(iii,aaa,'-b');
end
end
xxx=psk_dianpingi(jjj);
end
end
xxxx=psk_dianpingq(1);
for iiii=3:3:21;
for kkkk=iiii:0.01:iiii+3
b=ones(1,100);
subplot(4,1,3)
jjjj=iiii/3;
plot(kkkk,psk_dianpingq(jjjj));axis([0,21,-2,2]);hold on
cccc=psk_dianpingq(jjjj);
if cccc~=xxxx;
if xxxx<cccc
aaaa=xxxx:0.01:cccc;plot(iiii,aaaa,'-b');
else aaaa=xxxx:-0.01:cccc;plot(iiii,aaaa,'-b');
end
end
xxxx=psk_dianpingq(jjjj);
end
end
subplot(4,1,4);title('8psk调制波形')
subplot(4,1,1);title('随机二进制序列')
subplot(4,1,2);title('产生I(t)序列')
subplot(4,1,3);title('产生Q(t)序列')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -