载波同步matlab,基于Matlab的载波同步建模与仿真(科斯塔斯环)——超全原理讲解,超全代码和图(这篇终于看懂了!)...

本文主要是介绍载波同步matlab,基于Matlab的载波同步建模与仿真(科斯塔斯环)——超全原理讲解,超全代码和图(这篇终于看懂了!)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

1 设计原理

1.1 载波同步的原理

1.1.1 平方环载波同步法原理

1.1.2 科斯塔斯环载波同步法原理

1.2 二进制移相键控(2PSK)的原理

1.3 复信号

2 仿真实现

2.1 2PSK信号载波提取及解调仿真设计流程及原理

2.1.1 产生数字基带信号

2.1.2 产生载波信号

2.1.3 调制产生2PSK信号

2.1.4 锁相环参数清零及初始化

2.1.5 科斯塔斯环的正式处理过程

2.1.6 原始载波与提取载波

2.1.7 调制信号与解调信号

2.2 DSB信号载波提取及解调仿真设计流程及原理

2.2.1 产生正弦波模拟信号

2.2.2 产生载波信号

2.2.3 调制产生DSB信号

2.2.4 锁相环参数清零及初始化

2.2.5 科斯塔斯环的正式处理过程

2.2.6 原始载波与提取载波

2.2.7 调制信号与解调信号

2.3 2PSK信号载波同步及解调仿真结果

2.4 DSB信号载波同步及解调仿真结果

2.5 仿真结果分析

3 心得体会

4 参考文献

5 资源链接

1 设计原理

1.1 载波同步的原理

载波同步又称载波恢复( carrier restoration),即在接收设备中产生一个和接收信号的载波同频同相的本地振荡( local oscillation),供给解调器作相干解调用。当接收信号中包含离散的载频分量时,在接收端需要从信号中分离出信号载波作为本地相干载波;这样分离出的本地相干载波频率必然与接收信号载波频率相同,但为了使相位也相同,可能需要对分离出的载波相位作适当的调整。若接收信号中没有离散载波分量,例如在2PSK信号中(“1”和“0”以等 概率出现时),则接收端需要用较复杂的方法从信号中提取载波。因此,在这些接收设备中需要有载波同步电路,以提供相干解调所需要的相干载波,相干载波必须与接收信号的载波严格地同频同相。

造成载波不同步的原因有:

·任何两个独立的振荡器都是不同步的;

·即便发射机和接收机使用的两个独立振荡器是同步的,电磁波在信道中的传播也会引起对接收机来说是未知的相位变化。比如电磁波的行程相位(一个波长的距离对应2π相移),绕射、反射、散射引起的附加相移等,另外多普勒现象也会引起频率抖动。通常θ(t)\theta

(t)θ(t)相对于信息信号是缓慢变化的,因此经常写成 的形式。这里虽然 θ\thetaθ 不为0,但却是固定的,如果接收端已知其数值,则这两个载波在实质上是同步的。不过做相干解调时,需要对本地载波做相移以消除这个 θ\thetaθ 。

载波提取的目的:

要在接收端建立一个和发送信号完全一致(同频同相)的本地载波(称此为相干载波或同步载波)。

提取载波的方法:

一般分为两类:

一类是不专门发送导频,而在接收端直接从发送信号中提取载波,这类方法称为直接法,也称为自同步法;

另一类是在发送有用信号的同时,在适当的频率位置上,插入一个(或多个)称作导频的正弦波,接收端就利用导频提取出载波,这类方法称为插入导频法,也称为外同步法。

本篇报告主要介绍直接法提取载波中的平方环法和科斯塔斯环(Costas环)法提取相干载波的原理,并利用MATLAB程序仿真实现科斯塔斯环(Costas环)法分别对2PSK信号和DSB信号进行载波提取并解调出原始信号。

1.1.1 平方环载波同步法原理

设调制信号为m(t)m(t)m(t),m(t)m(t)m(t)中无直流分量,则抑制载波的双边带信号为

s(t)=m(t)∗cos⁡ωct(1.1)\text{s}(t)=m(t)*\cos {{\omega }_{c}}t \tag {1.1}s(t)=m(t)∗cosωc​t(1.1)

接收端将该信号进行平方变换,即经过一个平方律部件后就得到

e(t)=m2(t)∗cos⁡2ωct=12m2(t)+12m2(t)cos⁡2ωct(1.2)e(t)={{m}^{2}}(t)*{{\cos }^{2}}{{\omega }_{c}}t=\frac{1}{2}{{m}^{2}}(t)+\frac{1}{2}{{m}^{2}}(t)\cos 2{{\omega }_{c}}t \tag {1.2}e(t)=m2(t)∗cos2ωc​t=21​m2(t)+21​m2(t)cos2ωc​t(1.2)

由上式可以看出,虽然前面假设m(t)m(t)m(t)中无直流分量,但 却一定有直流分量,这是因为m2(t){{m}^{2}}(t)m2(t)必为大于等于0的数,因此,m2(t){{m}^{2}}(t)m2(t)的均值必大于0,而这个均值就是直流分量,这样e(t)e(t)e(t)的第二项中就包含2fc2{{f}_{c}}2fc​频率的分量。例如,对于2PSK信号,为双极性矩形脉冲序列,设 =±1,那么m2(t){{m}^{2}}(t)m2(t)=1,这样经过平方率部件后可以得到

e(t)=m2(t)∗cos⁡2ωct=12+12cos⁡2ωct(1.3)e(t)={{m}^{2}}(t)*{{\cos }^{2}}{{\omega }_{c}}t=\frac{1}{2}+\frac{1}{2}\cos 2{{\omega }_{c}}t\tag {1.3}e(t)=m2(t)∗cos2ωc​t=21​+21​cos2ωc​t(1.3)

由上式可知,通过2fc2{{f}_{c}}2fc​窄带滤波器从中很容易取出2fc2{{f}_{c}}2fc​频率分量。经过一个二分频器就可以得到2fc2{{f}_{c}}2fc​的频率成分,这就是所需要的同步载波。因而,利用图1-1所示的方框图就可以提取出载波。

28185b6e0fea580ac6a89d7e555d5de5.png

图1-1 平方变换法提取载波原理框图

为了改善平方变换的性能,可以在平方变换法的基础上,把窄带滤波器用锁相环替代,构成如图1-2所示框图,这样就实现了平方环法提取载波。由于锁相环具有良好的跟踪、窄带滤波和记忆性能,因此平方环法比一般的平方变换法具有更好的性能,因而得到广泛的应用。

3c86af97ad9982d974d5a58de346355c.png

图1-2 平方环法提取载波原理框图

1.1.2 科斯塔斯环载波同步法原理

科斯塔斯(Costas)环法又称同相正交环法或边环法。相比于平方环法,它仍然利用锁相环提取载频,但是不需要对接收信号作平方运算就能得到载频输出。在载波频率上进行平方运算后,由于频率倍增,使后面的锁相环工作频率加倍,实现的难度增大。科斯塔斯环则用相乘器和较简单的低通滤波器取代平方器;这是它的主要优点。它和平方环法的性能在理论上是一样的。

图1-2中示出了其原理方框图。图中,接收信号s(t)s(t)s(t)被送入二路相乘器,两相乘器输入的a点和b点的压控振荡电压分别为

va=cos⁡(ωct+φ)(1.4){{v}_{a}}=\cos ({{\omega }_{c}}t+\varphi )\tag {1.4}va​=cos(ωc​t+φ)(1.4)va=sin⁡(ωct+φ)(1.5){{v}_{a}}=\sin ({{\omega }_{c}}t+\varphi )\tag {1.5}va​=sin(ωc​t+φ)(1.5)

1c19e63cd955a88a26f10815096cc9f6.png

图1-3 科斯塔斯环法提取载波原理框图

它们和接收信号电压相乘后,得到c点和d点的电压为

vc=m(t)cos⁡(ωct+θ)cos⁡(ωct+φ)=1

这篇关于载波同步matlab,基于Matlab的载波同步建模与仿真(科斯塔斯环)——超全原理讲解,超全代码和图(这篇终于看懂了!)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/437892

相关文章

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

C++归并排序代码实现示例代码

《C++归并排序代码实现示例代码》归并排序将待排序数组分成两个子数组,分别对这两个子数组进行排序,然后将排序好的子数组合并,得到排序后的数组,:本文主要介绍C++归并排序代码实现的相关资料,需要的... 目录1 算法核心思想2 代码实现3 算法时间复杂度1 算法核心思想归并排序是一种高效的排序方式,需要用

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

SpringBoot集成Shiro+JWT(Hutool)完整代码示例

《SpringBoot集成Shiro+JWT(Hutool)完整代码示例》ApacheShiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,在现代应用开发中,Shiro因... 目录一、背景介绍1.1 为什么使用Shiro?1.2 为什么需要双Token?二、技术栈组成三、环境

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

MySQL连表查询之笛卡尔积查询的详细过程讲解

《MySQL连表查询之笛卡尔积查询的详细过程讲解》在使用MySQL或任何关系型数据库进行多表查询时,如果连接条件设置不当,就可能发生所谓的笛卡尔积现象,:本文主要介绍MySQL连表查询之笛卡尔积查... 目录一、笛卡尔积的数学本质二、mysql中的实现机制1. 显式语法2. 隐式语法3. 执行原理(以Nes

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl