当前位置: 首页 > news >正文

数字频带传输——二进制数字调制及MATLAB仿真

文章目录

  • 前言
  • 一、OOK
    • 1、表达式
    • 2、功率谱密度
    • 3、调制框图
  • 二、2PSK
    • 1、表达式
    • 2、功率谱密度
  • 三、2FSK
    • 1、表达式
  • 四、MATLAB 仿真
    • 1、MATLAB 源码
    • 2、仿真及结果
      • ①、输入信号及频谱图
      • ②、2ASK 调制
      • ③、2PSK 调制
      • ④、2FSK 调制
      • ⑤、随机相位 2FSK 调制
  • 五、资源自取


前言

数字频带信号通常也称为数字调制信号,其信号频谱通常是带通型的,适合于在带通型信道中传输。数字调制是将基带数字信号变换成适合带通型信道传输的一种信号处理方式,正如模拟通信中的一样,可以通过对基带信号的频谱搬移来适应信道特性,也到同样的目的可以采用频率调制、相位调制的方式来达到同样的目的。

本文将主要通过 Matlab 来学习二进制的调制解调方式,包括 OOK、2PSK、2FSK,并分析和仿真这些调制系统。


一、OOK

1、表达式

如果将二进制码元 “0” 对应信号 0,“1” 对应信号 A c o s 2 π f c t Acos2\pi f_ct Acos2πfct,则 OOK 信号可以写成如下表达式:
s ( t ) = ∑ n a n g ( t − n T s ) A c o s 2 π f c t s(t)={\sum_na_ng(t-nT_s)}Acos2\pi f_ct s(t)=nang(tnTs)Acos2πfct
其中, a n ∈ a_n\in an {0,1}, g ( t ) = { 1 0 ≤ t ≤ T s 0 其他 g(t)=\begin{cases} 1& 0\le t \le T_s \\ 0& \text{其他} \end{cases} g(t)={100tTs其他

可以看到,上式是数字基带信号 m ( t ) = ∑ n a n g ( t − n T s ) m(t)=\sum_na_ng(t-nT_s) m(t)=nang(tnTs) 经过 DSB 调制后形成的信号,OOK 信号波形如下图所示:
在这里插入图片描述

OOK 信号波形

2、功率谱密度

OOK 信号的功率谱密度为:
P s ( f ) = A 2 4 [ P m ( f − f c ) + P m ( f + f c ) ] P_s(f)=\frac{A^2}{4}[P_m(f-f_c)+P_m(f+f_c)] Ps(f)=4A2[Pm(ffc)+Pm(f+fc)]

3、调制框图

OOK 的调制框图如下图所示:
在这里插入图片描述

OOK 信号调制框图

二、2PSK

1、表达式

将二进制码元 “0” 对应相位为 π \pi π 的载波 − A c o s 2 π f c t -Acos2\pi f_ct Acos2πfct,“1” 对应相位为 0 的载波 A c o s 2 π f c t Acos2 \pi f_ct Acos2πfct,则 2PSK 信号可以写成如下表达式:
s ( t ) = ∑ n a n g ( t − n T s ) A c o s 2 π f c t s(t)={\sum_na_ng(t-nT_s)}Acos2\pi f_ct s(t)=nang(tnTs)Acos2πfct
其中, a n ∈ a_n\in an {+1,-1}, g ( t ) = { 1 0 ≤ t ≤ T s 0 其他 g(t)=\begin{cases} 1& 0\le t \le T_s \\ 0& \text{其他} \end{cases} g(t)={100tTs其他

2PSK 信号波形如下图所示,其实现框图与 OOK 相同,只是输入是双极性的
在这里插入图片描述

2PSK 信号波形

2、功率谱密度

2PSK 信号的功率谱密度为:
P s ( f ) = A 2 4 [ P m ( f − f c ) + P m ( f + f c ) ] P_s(f)=\frac{A^2}{4}[P_m(f-f_c)+P_m(f+f_c)] Ps(f)=4A2[Pm(ffc)+Pm(f+fc)]

三、2FSK

1、表达式

将二进制码元 “0” 对应载波 A c o s 2 π f 1 t Acos2 \pi f_1t Acos2πf1t,“1” 对应载波 A c o s 2 π f 2 t Acos2\pi f_2t Acos2πf2t,则形成 2FSK 信号,可以写成如下表达式:
s ( t ) = ∑ n a n ‾ g ( t − n T s ) A c o s ( 2 π f 1 t + φ n ) + ∑ n a n g ( t − n T s ) A c o s ( 2 π f 1 t + θ n ) s(t)=\sum_n \overline{a_n}g(t-nT_s)Acos(2\pi f_1t+\varphi_n)+\sum_n a_ng(t-nT_s)Acos(2\pi f_1t+\theta_n) s(t)=nang(tnTs)Acos(2πf1t+φn)+nang(tnTs)Acos(2πf1t+θn)
a n = 1 a_n=1 an=1 时,对应的传输信号频率为 f 2 f_2 f2,当 a n = 0 a_n=0 an=0 时,对应的传输信号频率为 f 1 f_1 f1,上式中, φ n \varphi_n φn θ n \theta_n θn 时两个频率波的初相。2FSK 也可以写成另外的形式如下:
s ( t ) = A c o s [ 2 π f c t + 2 π h ∑ n = − ∞ ∞ a n g ( t − n T s ) ] s(t)=Acos[2\pi f_ct+2\pi h\sum_{n=-\infty}^{\infty}{a_n}g(t-nT_s)] s(t)=Acos[2πfct+2πhn=ang(tnTs)]
其中, a n ∈ a_n\in an {+1,-1}, f c = ( f 1 + f 2 ) / 2 f_c=(f_1+f_2)/2 fc=(f1+f2)/2 g ( t ) = { 1 0 ≤ t ≤ T s 0 其他 g(t)=\begin{cases} 1& 0\le t \le T_s \\ 0& \text{其他} \end{cases} g(t)={100tTs其他 h = ∣ f c − f 1 ∣ h=|f_c-f_1| h=fcf1 为频偏,其波形如下图所示:
在这里插入图片描述

2FSK 波形

2FSK 信号可以看成是两个不同载波的 OOK 信号的叠加:
s ( t ) = s 1 ( t ) c o s ( ω t + ϕ 1 ) + s 2 ( t ) c o s ( ω t + ϕ 2 ) s(t)=s_1(t)cos(\omega t+\phi_1)+s_2(t)cos(\omega_t+\phi_2) s(t)=s1(t)cos(ωt+ϕ1)+s2(t)cos(ωt+ϕ2)
当这两项不相关时(如载波之间频率差足够大),它的功率谱密度为:
P s = 1 4 [ P s 1 ( f + f 1 ) + P s 1 ( f − f 1 ) ] + 1 4 [ P s 2 ( f + f 1 ) + P s 1 ( f − f 2 ) ] P_s=\frac{1}{4}[P_{s1}(f+f_1)+P_{s1}(f-f_1)]+\frac{1}{4}[P_{s2}(f+f_1)+P_{s1}(f-f_2)] Ps=41[Ps1(f+f1)+Ps1(ff1)]+41[Ps2(f+f1)+Ps1(ff2)]

四、MATLAB 仿真

以下代码使用 MATLAB 产生独立等概的二进制信源,并完成了下面三个功能:

  • 画出 OOK 信号波形及其功率谱;
  • 画出 2PSK 信号波形及其功率谱;
  • 画出 2FSK 信号波形及其功率谱(设 ∣ f 1 − f 2 ∣ > > 1 T s |f_1-f_2|>>\frac{1}{T_s} f1f2>>Ts1)。

1、MATLAB 源码

% 2ASK,2PSK
clear all;
close all;A  = 1;
fc = 2;                                     % 2Hz;
N_sample = 8; 
N  = 500;                                   % 码元数
Ts = 1;                                     % 1 baud/sdt = Ts/fc/N_sample;                        % 波形采样间隔
t = 0 : dt : N*Ts-dt;
T = dt * length(t);
Lt = length(t);% 产生二进制信源
d = sign(randn(1, N));                      
dd = sigexpand((d+1)/2, fc*N_sample);
gt = ones(1, fc*N_sample);                   % NRZ 波形figure(1)
subplot(221);                               % 输入 NRZ 信号波形(单极性)
d_NRZ = conv(dd, gt);
plot(t, d_NRZ(1:length(t))); 
axis([0 10 0 1.2]); xlabel('t/s'); ylabel('输入信号');subplot(222);                               % 输入 NRZ 频谱
[f, d_NRZf] = T2F(t, d_NRZ(1:length(t)));
plot(f, 10*log10(abs(d_NRZf).^2/T));
axis([-2 2 -50 10]); xlabel('f/Hz'); ylabel('输入信号功率谱密度(dB/Hz)');%2ASK信号
ht = A*cos(2*pi*fc*t);
s_2ask = d_NRZ(1:Lt).*ht;subplot(223)
plot(t,s_2ask);
axis([0 10 -1.2 1.2]); xlabel('t/s'); ylabel('2ASK');[f, s_2askf]=T2F(t, s_2ask );
subplot(224)
plot(f, 10*log10(abs(s_2askf).^2/T));
axis([-fc-4 fc+4 -50 10]); xlabel('f/Hz'); ylabel('2ASK功率谱密度(dB/Hz)');figure(2)
%2PSK信号
d_2psk = 2*d_NRZ-1;
s_2psk = d_2psk(1:Lt).*ht;
subplot(221)
plot(t,s_2psk);
axis([0 10 -1.2 1.2]); xlabel('t/s'); ylabel('2PSK');subplot(222)
[f, s_2pskf] = T2F(t, s_2psk);
plot( f, 10*log10(abs(s_2pskf).^2/T) );
axis([-fc-4 fc+4 -50 10]); xlabel('f/Hz'); ylabel('2PSK功率谱密度(dB/Hz)');% 2FSK
% s_2fsk = Acos(2*pi*fc*t + int(2*d_NRZ-1) );sd_2fsk = 2*d_NRZ-1;s_2fsk = A*cos(2*pi*fc*t + 2*pi*sd_2fsk(1:length(t)).*t );
subplot(223)
plot(t, s_2fsk);
axis([0 10 -1.2 1.2]);xlabel('t/s'); ylabel('2FSK')
subplot(224)
[f, s_2fskf] = T2F(t, s_2fsk);
plot(f, 10*log10(abs(s_2fskf).^2/T));
axis([-fc-4 fc+4 -50 10]); xlabel('f/Hz'); ylabel('2FSK功率谱密度(dB/Hz)');% 随机相位 2FSK
fai = 2*pi*rand(1, N);
fai_2fsk = sigexpand(fai, fc*N_sample);
fai_2fsk = conv(fai_2fsk, gt);
s_2fskd = A*cos(2*pi*fc*t + 2*pi*sd_2fsk(1:length(t)).*t + fai_2fsk(1:length(t)) );
figure(3)
subplot(211);
plot(t, s_2fskd);
axis([0 10 -1.2 1.2]); xlabel('t/s'); ylabel('随机相位 2FSK');
[f, s_2fskdf] = T2F(t, s_2fskd);
subplot(212);
plot(f, 10*log10(abs(s_2fskdf).^2/T));
axis([-fc-4 fc+4 -50 10]); xlabel('f/Hz'); ylabel('随机相位 2FSK 功率谱密度(dB/Hz)');

2、仿真及结果

①、输入信号及频谱图

在这里插入图片描述

②、2ASK 调制

在这里插入图片描述

③、2PSK 调制

在这里插入图片描述

④、2FSK 调制

在这里插入图片描述

⑤、随机相位 2FSK 调制

在这里插入图片描述

五、资源自取

二进制数字调制及MATLAB仿真
在这里插入图片描述


我的qq:2442391036,欢迎交流!


相关文章:

数字频带传输——二进制数字调制及MATLAB仿真

文章目录 前言一、OOK1、表达式2、功率谱密度3、调制框图 二、2PSK1、表达式2、功率谱密度 三、2FSK1、表达式 四、MATLAB 仿真1、MATLAB 源码2、仿真及结果①、输入信号及频谱图②、2ASK 调制③、2PSK 调制④、2FSK 调制⑤、随机相位 2FSK 调制 五、资源自取 前言 数字频带信…...

Bitdu 150万美元投资MSG:Web3合作典范催动极致交易体验

在Web3时代,如何一键把握DEX领域的机遇,是摆在一众中心化交易所面前的难题。 近期,新锐加密资产交易所Bitdu向MsgSender(MSG)投资150万美元,引起了专业的交易者们的关注。大家普遍认为,这一事件…...

CentOS一键部署Docker

Docker官网:https://www.docker.com/ CentOS(7.6) Docker(18.06.1)一键安装脚本 #!/bin/bash echo "1、安装依赖..." yum -y install gcc yum -y install gcc-c##验证gcc版本 gcc -vecho "2、卸载老…...

Centos虚拟机安装配置与MobaXterm工具及Linux常用命令

目录 一、Centos操作系统 1.1 Centos介绍 1.2 Centos虚拟机安装 1.3 配置centos的镜像 1.4 虚拟机开机初始设置 1.4.1 查看网络配置 1.4.2 编辑网络配置 二、MobaXterm工具 2.1 MobaXterm介绍 2.2 MobaXterm安装 2.3 切换国内源 三、Linux常用命令和模式 3.1 查看网络配置 …...

springboot医院绩效考核系统源码

医院绩效考核系统是一种以人力资源管理为基础,选用适合医院组织机构属性的绩效理论和方法,基于医院战略目标,构建全方位的绩效考评体系,在科学、合理的绩效管理体系基础上,采用科学管理的方法,如平衡计分卡…...

Java--枚举类型

Java中枚举类型可以取代一般的常量定义方式,可以将常量封装在类或接口中;枚举类型本质上还是以类的形式存在的,枚举类型继承于java.lang.Enum类,定义一个枚举类型时,每一个枚举类型成员都可以看做是枚举类型的一个实例…...

有没有好用的配音工具?推荐这5款

为什么越来越多的短视频创作者愿意使用配音工具。 除了这些配音工具可以进行批量处理,实现大规模的音频制作,从而提高生产效率。还可以帮助其节约大量的人力,想一下,以前配音,不同的音色、角色需要不同的人来完成&…...

tomcat安装及配置教程

以下是 Tomcat 安装及配置的基本步骤: 下载 Tomcat 并解压缩:在 Apache Tomcat 的官网上下载最新版本的 Tomcat,然后解压缩到你想要安装的目录下(比如 /usr/local/tomcat)。 配置 PATH 环境变量:在终端中打…...

UNIPOSE: DETECTING ANY KEYPOINTS(2023.10.12)

文章目录 AbstractIntroduction现有的方法存在哪些不足基于此,我们提出了哒哒哒取得惊人的成绩Related Work MethodMULTI -MODALITY PROMPTS ENCODING(多模态提示编码)Textual Prompt Encoder(文本提示编码器)Visual P…...

如何用ChatGPT快速写出一份合格的PPT报告

我们【AI写稿专家】的小伙伴中有很多企业高管和公务员,大家经常有写报告写ppt的需求,下面小编给大家介绍一下我们新发布生成PPT的功能,很简单很方便,看完大家不到1分钟就能生成一份拿得出手的PPT报告,再也不用费尽心思…...

Linux内存管理的分页机制

分段机制的原理如下: 分段机制下的虚拟地址由两部分组成,段选择子和段内偏移量。段选择子就保存在段寄存器里面。段选择子里面最重要的是段号,用作段表的索引。段表里面保存的是这个段的基地址、段的界限和特权等级等。虚拟地址中的段内偏移量…...

Unity DOTS系列之托管/非托管Component的区别与性能分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面托管与非托管Component的区别与性能分析,方便大家上手学习掌握Unity DOTS开发。托管与非托管的区别在于是不是基于自动垃圾回收的。托管是由垃圾回收器来负责自动回收,非托管需要我们手动来做相关内存管…...

elementui el-upload 上传文件

文章目录 前言一、Html2.上传 总结 前言 在使用element中的el-upload上传文件或者图片时,需要先把el-upload的自动上传改为手动上传:auto-upload“false”然后el-upload内部会调用this.$refs.upload.submit();方法,从而实现多个文件上传。 提示&#xf…...

Python图像处理【15】基于非锐化掩码锐化图像

基于非锐化掩码锐化图像 0. 前言1. 使用 scikit-image filters 模块执行非锐化掩码2. 使用 PIL ImageFilter 模块执行非锐化掩码3. 使用 SimpleITK 执行拉普拉斯锐化4. 使用 OpenCV 实现非锐化掩码小结系列链接 0. 前言 非锐化滤波器是一个简单的锐化算子,通过从原…...

介绍几款Linux 下终极SSH客户端

安全外壳协议(Secure Shell,简称 SSH)是一种网络连接协议,允许您通过网络远程控制计算机。特别是在Linux命令行模式下,使用SSH,可以很方便管理linux上的运维工作。以下是一些最受欢迎的Linux SSH客户端&…...

项目综合实训,vrrp+bfd,以及策略路由的应用

目录 一. 项目需求 二. Visio设备画图 三. 设备选型 三.vlan规划 四.Ip地址规划 五.实验拓扑图 六.配置过程及结果 项目需求 1.S1作为VLAN10的主网关和根桥,S2作为v…...

[架构之路-246/创业之路-77]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 客户关系管理系统CRM

目录 前言: 一、企业信息化的结果:常见企业信息化软件 1.1 客户关系管理系统CRM 1.1.1 什么是客户关系管理系统 1.1.2 CRM总体架构 1.1.3 什么类型的企业需要CRM 1.1.4 创业公司在什么阶段需要CRM 1.1.5 研发型创业公司什么时候需要CRM 1.1.6 C…...

python manage.py createsuperuser运行错误

我把思念作笺,随风而去,落在你常路过的那个街角… 错误复现 PS D:\教学文件\Django\djangoProject\webDemo02> python manage.py createsuperuser System check identified some issues:WARNINGS: ?: (urls.W005) URL namespace admin isnt unique…...

解决恶意IP地址攻击:保卫网络安全的有效方法

随着互联网的发展,网络安全威胁变得日益复杂,其中包括恶意IP地址攻击。这些攻击通常是网络犯罪分子的手段之一,用于入侵系统、窃取数据或进行其他恶意活动。本文将探讨如何解决恶意IP地址攻击,以保护网络安全。 恶意IP地址攻击是…...

Android WMS——WMS窗口添加(十)

Android 的 WMS(Window Manager Service)是一个关键组件,负责管理窗口的创建、显示、布局和交互等。Window 的操作有两大部分,一部分是 WindowManager 来处理,一部分是 WMS 来处理,如下图所示: …...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...

UE5 音效系统

一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...