【通信原理】实验六 基于Matlab的2PSK和2DPSK调制

一、实验目的

1.掌握2PSK和2DPSK的调制原理原理。
2.学会Matlab仿真软件在相移键控调制中的应用。
3.掌握参数设置方法和性能分析方法。
4.通过实验中波形的变换,学会分析实验现象。

二、实验器材

计算机,MATLAB软件

三、实验原理

1.2PSK的基本原理

数字相位调制又称相移键控,记作PSK( Phase shift keying ),二进制相移键控记作2PSK。用载波的两种相位(0和π)去对应基带信号的“0”与“1”两种码元。因此二元数字调相就是让载波在两种相位间切换,故称相移键控。
二进制移相键控信号的典型时间波形如图1所示。
在这里插入图片描述

					图1 二进制相移键控信号的时间波形

2.2DPSK的基本原理

二进制差分相移键控常简称为二进制相对调相,记为2DPSK。它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对载波相位是只本码元初相与前一码元初相之差。
传输系统中要保证信息的有效传输就必须要有较高的传输速率和很低的误码率。在传输信号中,2PSK信号和2ASK及2FSK信号相比,具有较好的误码率性能,但是,在2PSK信号传输系统中存在相位不确定性,并将造成接收码元“0”和“1”的颠倒,产生误码。为了保证2PSK的优点,又不会产生误码,将2PSK体制改进为二进制差分相移键控(2DPSK),及相对相移键控。
2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2所示。

在这里插入图片描述

					图2  2DPSK信号波形图

3.2PSK和2DPSK的产生方法

2PSK信号与2DPSK信号的产生方法相同主要有两种。第一种叫相乘法(如图3),是用二进制基带不归零矩形脉冲信号与载波相乘,得到相位反相的两种码元。第二种方法叫选择法(如图4和图5),是用此基带信号控制一个开关电路,以选择输入信号,开关电路的输入信号是相位相差的同频载波。这两种方法都可以用数字信号处理器实现。

在这里插入图片描述

			图3  相乘法实现2DSP

在这里插入图片描述

			图4  2DSP开关键控法

在这里插入图片描述

			图5  2DPSK信号调制器原理图

四、实验内容及要求

利用MATLAB仿真平台,完成下列任务:
(1)产生二进制随机信号源,绘制信号源波形图;实现2PSK调制,绘制相应的信号波形图,将2PSK通过含有高斯白噪声的信道,并进行解调,绘制对应的波形图。

clear all; 
clc;
M=10;                       %产生码元数    
L=100;                           %每码元复制L次
Ts=1;           %每个码元的宽度,即码元的持续时间
Rb=1/Ts;           %码元速率
dt=Ts/L;                        %采样间隔
TotalT=M*Ts;                     %总时间
t=0:dt:TotalT-dt;                     %时间
a=randi(1,M);  %长度为M的随机二进制序列
f=Rb;%载波频率
m1=[];
c1=[];
b1=[];
%与ask、fsk程序相似,是给变量赋值空向量做中间变量存储数据
for i=1:M
      t1=(i-1)*Ts:dt:i*Ts-dt; 
        if a(i)==0;
            m=ones(1,L);
            b=zeros(1,L);
        else a(i)==1;
            m=-ones(1,L);
            b=ones(1,L);
        end
%通过循环方式对输入信号的进行赋值实现调制目的
        c=sin(2*pi*f*t1);
        m1=[m1 m];
        c1=[c1 c];
        b1=[b1,b];
end
%注意每个for循环后面必须以end结束
%if条件函数,后面要有else,也应该跟有end
psk=c1.*m1;
%注意向量相乘不能直接相乘,要用点成符号
%这条程序是最终实现调制的目的
subplot(411);
plot(t,b1)
title('原始信号');
axis([0 M -0.2 1.1]);
subplot(412);
plot(t,psk)
title('psk信号');
grid on;
%2PSK解调
dpsk1=psk.*c1*2;
wp=2*pi*1;ws=2*pi*(1+1);Ap=2;As=60;   %低通滤波器参数设置
[N,wc]=buttord(wp,ws,Ap,As,'s');
[num,den]=butter(N,wc,'s');
de2psk=lsim(tf(num,den),dpsk1,t);
depsk = zeros(1,L*M);
for m = 1:L:L*M;
    if de2psk(m) < 0; 
        for i = 1:L
            depsk((m-1)+i) = 1;   
        end
    else de2psk(m) >= 0;
        for i = 1:L
            depsk((m-1)+i) =0;   
        end          
    end
end
subplot(413);
plot(t,depsk);
axis([0 M -0.1 1.1]);
title('恢复信号');

在这里插入图片描述
(2)产生二进制随机信号源,绘制信号源波形图;实现2DPSK调制,绘制相应的信号波形图;将2DPSK通过含有高斯白噪声的信道,并进行解调,绘制对应的波形图。

clear all; 
clc;
M=10;                       %产生码元数    
L=100;                           %每码元复制L次
Ts=1;           %每个码元的宽度,即码元的持续时间
Rb=1/Ts;           %码元速率
dt=Ts/L;                        %采样间隔
TotalT=M*Ts;                     %总时间
t=0:dt:TotalT-dt;                     %时间
a=randi(1,M);  %长度为M的随机二进制序列
fz=ones(1,L);               %定义复制的次数L,L为每码元的采样点数
x1=a(fz,:);   %复制的第1行复制L次
dnrz=reshape(x1,1,L*M);   %产生单极性不归零矩形脉冲波形
snrz=2*dnrz-1;
f=Rb;%载波频率
zb=sin(2*pi*f*t);
tiaoz=snrz.*zb;
figure
subplot(211)
plot(t,snrz);
axis([0 M -1.1 1.1]);
subplot(212)
plot(t,tiaoz);

在这里插入图片描述

更多文章如下:

【全套完结】通信原理----全套Matlab仿真实验报告
https://blog.csdn.net/qq_45696377/article/details/121384301

【通信工程】信息类,电子类,电气工程,自动化,计算机,软件工程,机电,等相关专业 全套学习指导
https://blog.csdn.net/qq_45696377/article/details/116434132

上一篇:

实验五 基于Matlab的2PSK和2DPSK调制
https://blog.csdn.net/qq_45696377/article/details/121527803

下一篇:
【通信原理】实验七、基于Matlab的均匀量化和非均匀量化
https://blog.csdn.net/qq_45696377/article/details/121795533

在这里插入图片描述

答疑资料qq群:1007576722

clear all; close all; clc; max=10 g=zeros(1,max); g=randint(1,max);%长度为max的随机二进制序列 cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi; for n=1:length(g); if g(n)==0; A=zeros(1,200);%每个值200个点 else g(n)==1; A=ones(1,200); end cp=[cp A]; %s(t),码元宽度200 c=cos(f*t);%载波信号 mod1=[mod1 c];%与s(t)等长的载波信号,变为矩阵形式 end figure(1);subplot(4,2,1);plot(cp);grid on; axis([0 200*length(g) -2 2]);title('二进制信号序列'); cm=[];mod=[]; for n=1:length(g); if g(n)==0; B=ones(1,200);%每个值200个点 c=cos(f*t); %载波信号 else g(n)==1; B=ones(1,200); c=cos(f*t+pi); %载波信号 end cm=[cm B]; %s(t),码元宽度200 mod=[mod c]; %与s(t)等长的载波信号 end tiaoz=cm.*mod;%e(t)调制 figure(1);subplot(4,2,2);plot(tiaoz);grid on; axis([0 200*length(g) -2 2]);title('2PSK调制信号'); figure(2);subplot(4,2,1);plot(abs(fft(cp))); axis([0 200*length(g) 0 400]);title('原始信号频谱'); figure(2);subplot(4,2,2);plot(abs(fft(tiaoz))); axis([0 200*length(g) 0 400]);title('2PSK信号频谱'); %带有高斯白噪声的信道 tz=awgn(tiaoz,10);%信号tiaoz中加入白噪声,信噪比为10 figure(1);subplot(4,2,3);plot(tz);grid on axis([0 200*length(g) -2 2]);title('通过高斯白噪声信道后的信号'); figure(2);subplot(4,2,3);plot(abs(fft(tz))); axis([0 200*length(g) 0 400]);title('加入白噪声的2PSK信号频谱'); jiet=2*mod1.*tz;%同步解调 figure(1);subplot(4,2,4);plot(jiet);grid on axis([0 200*length(g) -2 2]);title('相乘后信号波形') figure(2);subplot(4,2,4);plot(abs(fft(jiet))); axis([0 200*length(g) 0 400]);title('相乘后信号频谱'); %低通滤波器 fp=500;fs=700;rp=3;rs=20;fn=11025; ws=fs/(fn/2); wp=fp/(fn/2);%计算归一化角频率 [n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率 [b,a]=butter(n,wn);%计算H(z) figure(4);freqz(b,a,1000,11025);subplot(2,1,1); axis([0 4000 -100 3 ]) title('LPF幅频相频图'); jt=filter(b,a,jiet); figure(1);subplot(4,2,5);plot(jt);grid on axis([0 200*length(g) -2 2]);title('经低通滤波器后信号波形') figure(2);subplot(4,2,5);plot(abs(fft(jt))); axis([0 200*length(g) 0 400]);title('经低通滤波器后信号频谱'); %抽样判决 for m=1:200*length(g); if jt(m)=0; jt(m)=0; end end figure(1);subplot(4,2,6);plot(jt);grid on axis([0 200*length(g) -2 2]);title('经抽样判决后信号s^(t)波形') figure(2);subplot(4,2,6);plot(abs(fft(jt))); axis([0 200*length(g) 0 400]);title('经抽样判决后信号频谱');
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gopher-毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值