⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lvdongdpsk.m

📁 自己编的
💻 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 + -