📄 lvdongdpsk.m
字号:
clear all
clc
close all
%输入一个二进制序列,绘制一个正弦波,将二进制序列绘制成方波,
%输入二进制序列,并绘制成方波,然后绘制出一个正弦波,根据二进制序列绘正弦波的PSK和DPSK波形图,并输出其二进制序列
%PSK序列:
%初始化输入
%输入PSK序列
%PSK=[1 0 1 1 0 0 1];
PSK=input('请输入二进制序列(形如[1 0 1 1 0 0 1]):');
% DPSK= xor([0,PSK(1:length(PSK)-1)], PSK)
DPSK=[];
for i=1:length(PSK)
if i==1
DPSK(i)=xor(PSK(i),0);
else
DPSK(i)=xor(PSK(i),DPSK(i-1));
end
end
PSK=DPSK;
%输入正弦波参数
omega=1;
fai=0;
A=1;
TP=2*pi/omega;
%f=A*sin(omega*t+fai);
t=0:TP/1000:length(PSK)*TP;
%绘制未调载波
figure(1)
subplot(3,1,1)
f=A*sin(omega*t+fai);
plot(t,f)
%输入方波
subplot(3,1,2)
for i=1:length(PSK)
tfang=[TP*(i-1);TP*i];
fPSK=[PSK(i);PSK(i)];
line(tfang,fPSK)
hold on
if i<length(PSK)
tfang=[TP*i;TP*i];
fPSK=[PSK(i+1);PSK(i)];
line(tfang,fPSK)
end
hold on
end
%绘制PSK波
f1=[];t1=[];
for i=1:length(PSK)
t11=(i-1)*TP:TP/1000:i*TP;
f11=A*sin(omega*t11+pi*PSK(i));
f1=[f1 f11];
t1=[t1 t11];
end
subplot(3,1,3)
plot(t1,f1)
% figure(1)
% t = 0:pi/20:2*pi;
% hline1 = plot(t,exp(t).*sin(t),'k');
% hline2 = line(t+.06,exp(t).*sin(t),'LineWidth',4,'Color',[.8 .8 .8]);
% set(gca,'Children',[hline1 hline2])
%
% figure(2)
% plot(t+.06,exp(t).*sin(t))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -