基于matlab的2PSK的系统仿真_倒π现象-程序员宅基地

技术标签: 板块1:通信与信号处理  MATLAB  

由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图2-4所示,各点的波形如图2-5所示。

由于2PSK信号的载波回复过程中存在着180°的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒π”现象或“反相工作”。但在本次仿真中是直接给其同频同相的载波信号,所以不存在此问题。

% 2PSK调制解调程序及注释
clear all
close all
i=10;
j=5000;
fc=4;               %载波频率
fm=i/5;             %码元速率
B=2*fm;
t=linspace(0,5,j);
a=round(rand(1,i));    %随机序列,基带信号
figure(3);
stem(a);
st1=t;
for n=1:10
    if a(n)<1;
        for m=j/i*(n-1)+1:j/i*n
            st1(m)=0;
        end
    else
        for m=j/i*(n-1)+1:j/i*n
            st1(m)=1;
        end
    end
end
figure(1);
subplot(411);
plot(t,st1);
title('基带信号st1');
axis([0,5,-1,2]);
%由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码
st2=t;               
for k=1:j;
    if st1(k)>=1;
        st2(k)=0;
    else
        st2(k)=1;
    end
end;
subplot(412);
plot(t,st2);
title('基带信号反码st2');
axis([0,5,-1,2]);
st3=st1-st2;
subplot(413);
plot(t,st3);
title('双极性基带信号st3');
axis([0,5,-2,2]);
s1=sin(2*pi*fc*t);
subplot(414);
plot(s1);
title('载波信号s1');
e_psk=st3.*s1;
figure(2);
subplot(511);
plot(t,e_psk);
title('e_2psk');
noise=rand(1,j);
psk=e_psk+noise;            %加入噪声
subplot(512);
plot(t,psk);
title('加噪后波形');
psk=psk.*s1;                %与载波相乘
subplot(513);
plot(t,psk);
title('与载波s1相乘后波形');
[f,af] = T2F(t,psk);              %通过低通滤波器
[t,psk] = lpf(f,af,B);
subplot(514);
plot(t,psk);
title('低通滤波后波形');
for m=0:i-1;
    if psk(1,m*500+250)<0;
       for j=m*500+1:(m+1)*500;
            psk(1,j)=0;
       end
    else
       for j=m*500+1:(m+1)*500;
           psk(1,j)=1;
       end
    end
end
subplot(515);
plot(t,psk);
axis([0,5,-1,2]);
title('抽样判决后波形')


 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ccsss22/article/details/113066026

智能推荐

Camera hal 之 CameraProvider_icameraprovider-程序员宅基地

文章浏览阅读2.4k次。Camera hal 之 CameraProvider 一、CameraProvider的作用二、CameraProvider的启动、初始化一、CameraProvider的作用cameraProvider的主要作用就是向下调用CameraModule,通过CameraModule 来和 Camera driver 交流,向上通过binder会被framework java 层的CameraProviderManager调用,然后CameraProviderManager 最终会被CameraServi_icameraprovider

极光推送+科大讯飞实现推送消息语音播放初步实现_极光推送带声音-程序员宅基地

文章浏览阅读1.6k次。最近公司有个需求,就是给客户推送语音,简单分析了逻辑,打算采用极光推送+科大讯飞的方式来实现这个需求。对于极光推送,这个也没啥说的,还是先一步一步的来吧,先实现简单的文字推送信息再说吧注册开发者账号 注册这个是哪个开放平台都绕不过去的一关,先去极光平台https://www.jiguang.cn/,一把梭的注册一把,一般来说简单的足够使用了,没啥特别的。然后是创建应用,..._极光推送带声音

在OutSystems创建一个实体来记录数据_outsystem entity连接数据库-程序员宅基地

文章浏览阅读842次。在OutSystems中,数据库表作为一个实体,行列是实体属性。要创建实体,您需要:打开应用程序中默认创建的实体;右键单击画布上的任意位置,然后选择“Add Entity”;在弹出的窗口中:为实体命名;实体已将Id属性创建为实体标识符(主键),添加其他属性;必要时添加索引;也可以在“Data”选项卡中创建实体:右键单击Entities文件夹,然后选择“Add Entity”;右..._outsystem entity连接数据库

Python编程快速上手《让繁琐工作自动化》之Collatz_collatz函数python-程序员宅基地

文章浏览阅读832次。题目编写一个名为collatz()的函数,它有一个名为number 的参数。如果参数是偶数,那么collatz()就打印出number // 2,并返回该值。如果number 是奇数,collatz()就打印并返回3 * number + 1。然后编写一个程序,让用户输入一个整数,并不断对这个数调用collatz(),直到函数返回值1(令人惊奇的是,这个序列对于任何整数都有效,利用这个序列,你迟早会得到1!既使数学家也不能确定为什么。你的程序在研究所谓的“Collatz......_collatz函数python

java计算机毕业设计高校医务管理系统源程序+mysql+系统+lw文档+远程调试-程序员宅基地

文章浏览阅读105次。springboot基于SSM框架的项目实训管理系统设计与实现。springcloud基于微服务架构的乐居租房网的设计与实现。JSP计算机C语言学习网站的设计与实现sqlserver。JSP客户关系管理系统的设计与实现sqlserver。ssm基于VUE.js的保护环境的App的开发与实现。JSP教学视频点播系统的设计与实现SQLServer。ssm基于Java的燕理快递中转站系统的设计与实现。jsp会议管理系统的设计与实现sqlserver。ssm基于JAVA的求职招聘网站的设计与实现。

射频测试 —— 蓝牙定频测试3_qrct-程序员宅基地

文章浏览阅读3.5k次。上一章中说明了通过“QC.BluetoothLE_DirectMode.exe“工具(“C:\Program Files (x86)\Qualcomm\QDART\bin”路径下,运行“QC.BluetoothLE_DirectMode.exe”)进行配置的方法,本章详细说明通过“QRCT”工具(“C:\Program Files (x86)\Qualcomm\QDART\bin”路径下,运行“QRCT.exe”)配置,以进行蓝牙定频测试的方法。..._qrct

随便推点

Neptune: 图数据库服务在移动和物联网领域的应用_图数据库在物联网中的应用-程序员宅基地

文章浏览阅读1.7k次。The Top 5 Amazon Neptune Use Cases for Modern Data”系列文章将从数据处理、分析到可视化,通过实际案例展示了如何利用AWS Neptune构建现代的数据集市、数据仓库、分析平台。该系列的文章既关注Neptune的特点及其能力,也注重如何应用它构建复杂的高级数据体系。本文是《The Top 5 Amazon Neptune Use Cases for Modern Data》系列文章的第一篇文章,主要讨论了Neptune在移动和物联网领域的应用。_图数据库在物联网中的应用

海康摄像机-新手二次开发_net_dvr_capturepictureblock_new-程序员宅基地

文章浏览阅读1.9k次。海康威视摄像机SDK二次开发_net_dvr_capturepictureblock_new

多线程调用static方法线程安全问题_static 多线程-程序员宅基地

文章浏览阅读5.3k次。最近在工作中遇到了线程安全的问题,是在一个方法中调用了静态方法解析Date的字符串。因为 SimpleDateFormat这个类是线程不安全的,所以不能在静态方法中定义全局的成员变量。@Testvoid contextLoads() { ExecutorService executorService= Executors.newFixedThreadPool(6); for (int i = 0; i < 6; i++) { Runnable runnabl_static 多线程

GRE、MGRE 详解-程序员宅基地

文章浏览阅读756次,点赞22次,收藏18次。一、GRE---通用路由封装三层隧道技术,并且是属于点到点的隧道。_mgre

Lua游戏逆向及破解方法介绍_lua逆向-程序员宅基地

文章浏览阅读1.7w次,点赞7次,收藏27次。背景介绍随着手游的发展,越来越多的Cocos-lua端游开发者转移到手游平台。Lua脚本编写逻辑的手游也是越来越多,如梦幻西游、刀塔传奇、开心消消乐、游龙英雄、奇迹暖暖、疾风猎人、万万没想到等手游。随着Lua手游的增加,其安全性更值得关注,在此归纳一些常用的分析方法,同时介绍一些辅助工具。识别Lua游戏Android平台的apk包可以直接解压,找到./lib目录下的so逻辑模块,一个个..._lua逆向

网狐6603服务器文档,网狐6603服务器配置-程序员宅基地

文章浏览阅读475次。网狐6603服务器配置 内容精选换一换简要介绍OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项,用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。开发语言:C/C++一句话描述:一个基于Nginx与Lua的高性能Web平台开源协议:BSD license建议的版本根据通过华为云创建的ECS...

推荐文章

热门文章

相关标签