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

matlab仿真 模拟调制(下)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真   刘学勇编著第五章内容,有兴趣的读者请阅读原书)

clear all
ts=0.001;
t=0:ts:10-ts;
fs=1/ts;
df=fs/length(t);
msg=randi([-3 3],100,1);
msg1=msg*ones(1,fs/10);
msg2=reshape(msg1.',1,length(t));
Pm=fft(msg2)/fs;
f=-fs/2:df:fs/2-df;
subplot(2,1,1)
plot(f,fftshift(abs(Pm)))
title('消息信号频谱')int_msg(1)=0;%消息信号积分(1)
for ii=1:length(t)-1int_msg(ii+1)=int_msg(ii)+msg2(ii)*ts;
endkf=50;
fc=250;%载波频率
Sfm=cos(2*pi*fc*t+2*pi*kf*int_msg);%(2)
Pfm=fft(Sfm)/fs;%FM信号频谱
subplot(2,1,2)
plot(f,fftshift(abs(Pfm)))%画出已调信号频谱
title('FM信号频谱')Pc=sum(abs(Sfm).^2)/length(Sfm)%已调信号功率
Ps=sum(abs(msg2).^2)/length(msg2)%消息信号功率fm=50;
betaf=kf*max(msg)/fm%调制指数
W=2*(betaf+1)*fm%调制信号带宽

 代码中的注释(1)(2)为:

求调频指数的公式为:kf*Amax/fm,其中的Amax是振幅的最大值,这里可以理解为消息序列的最大绝对值

clear all
ts=0.001;
t=0:ts:5-ts;
fs=1/ts;
df=fs/length(t);
msg=randi([-3,3],10,1);
msg1=msg*ones(1,fs/2);
msg2=reshape(msg1.',1,length(t));
subplot(3,1,1)
plot(t,msg2)
title('消息信号')int_msg(1)=0;
for ii=1:length(t)-1int_msg(ii+1)=int_msg(ii)+msg2(ii)*ts;%调制信号中的对消息序列进行积分的部分
endkf=50;
fc=300;3
Sfm=cos(2*pi*fc*t+2*pi*kf*int_msg);%构建fm信号phase=angle(hilbert(Sfm).*exp(-j*2*pi*fc*t));%FM调制信号相位(1)
phi=unwrap(phase);%为了恢复相位,需要将相位卷绕解开
%unwrap函数的作用将相位信息进行平滑处理,使其在整个信号范围内保持连续性。dem=(1/(2*pi*kf)*diff(phi)/ts);%求相位微分,得到消息信号
dem(length(t))=0;
subplot(3,1,2)
plot(t,dem);
title('无噪声的解调信号')
y1=awgn(Sfm,20,'measured');%调制信号通过AWGN信道
y1(find(y1>1))=1;%调制信号限幅,限幅是为了减少寄生条幅的出现,提高信号的准确性
y1(find(y1<-1))=-1;
phase1=angle(hilbert(y1).*exp(-j*2*pi*fc*t));%信号解调
phi1=unwrap(phase1);
dem1=(1/(2*pi*kf)*diff(phi1)/ts);
dem1(length(t))=0;
subplot(3,1,3)
plot(t,dem1);
title('信噪比为20dB时的解调信号')

(1):在求FM信号相位的过程中

因为复包络取相位就是信号的相位分量

相关文章:

matlab仿真 模拟调制(下)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; clear all ts0.001; t0:ts:10-ts; fs1/ts; dffs/length(t); msgrandi([-3 3],100,1); msg1msg*ones(1,fs/10); msg2reshape(ms…...

RabbitMQ是什么?

RabbitMQ是一个开源的消息代理软件&#xff08;Message Broker&#xff09;&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff0c;Advanced Message Queuing Protocol&#xff09;&#xff0c;并支持多种消息传递协议。它最初由英国的Rabbit Technologies开发&…...

追问试面试系列:分布式id

hi 大家好,欢迎来到追问试面试系列:分布式id 面试中可能面试官不会直接问你分布式id问题,基本上都是因为你在某些面试题回答中提到了,所以就开始追问分布式id相关问题。 先看面试题 ● 面试官:什么是分布式id? ● 面试官:举个例子说说 ● 面试官:什么叫分库分表? ●…...

护网紧急情况应对指南:Linux 应急响应手册

继上一篇&#xff1a;护网紧急情况应对指南&#xff1a;Windows版v1.2全新升级版 之后 收到小伙伴后台要Linux应急手册&#xff0c;今天给大家安排上。 《Linux应急手册》是一本为Linux系统管理员和运维工程师量身打造的实用指南&#xff0c;旨在帮助他们快速应对各种突发状况…...

WEB攻防-通用漏洞-SQL 读写注入-MYSQLMSSQLPostgreSQL

什么是高权限注入 高权限注入指的是攻击者通过SQL注入漏洞&#xff0c;利用具有高级权限的数据库账户&#xff08;如MYSQL的root用户、MSSQL的sa用户、PostgreSQL的dba用户&#xff09;执行恶意SQL语句。这些高级权限账户能够访问和修改数据库中的所有数据&#xff0c;甚至执行…...

【前端学习笔记】CSS基础一

一、什么是CSS 1.CSS 介绍 CSS&#xff08;Cascading Style Sheets&#xff0c;层叠样式表&#xff09;是一种用来控制网页布局和设计外观的样式语言。它使得开发者可以分离网页的内容&#xff08;HTML&#xff09;和表现形式&#xff08;样式&#xff09;&#xff0c;提高了…...

Github遇到的问题解决方法总结(持续更新...)

1.github每次push都需要输入用户名和token的解决方法 push前&#xff0c;执行下面命令 &#xff1a; git config --global credential.helper store 之后再输入一次用户名和token之后&#xff0c;就不用再输入了。 2.git push时遇到“fatal: unable to access https://githu…...

数字信封+数字签名工具类测试样例(Java实现)

加解密过程 加密&#xff1a; 生成加密方SM2密钥对用于签名使用生成的SM2私钥生成数字签名生成SM4对称密钥对明文进行对称加密使用与解密方提前约定好的SM2公钥对第三步中的SM4对称密钥进行非对称加密把【加密方SM2公钥】、【数字签名】、【SM4对称加密后的密文】和【SM2非对…...

The Schematic workflow failed. See above.

在使用 ng new 新建Angular项目的时候会报一个错误&#xff1a;The Schematic workflow failed. See above. 解决办法&#xff1a; 只需要在后面加上 --skip-install 参数&#xff0c;就不会报错了。 ng new myapp --skip-install...

操作系统面试知识点总结4

#来自ウルトラマンメビウス&#xff08;梦比优斯&#xff09; 1 文件系统基础 1.1 文件的相关概念 文件是以计算机硬盘为载体的存储在计算机上的信息集合&#xff0c;可以是文本文档、图片、程序。 文件的结构&#xff1a;数据项、记录、文件&#xff08;有结构文件、无结构式…...

Lua实现面向对象以及类的继承

0.简单前言 1、面向对象主要四个特征&#xff1a;封装&#xff0c;继承&#xff0c;多态&#xff0c;抽象 2、Lua是种简单精致小巧的语言&#xff0c;其本质是个表&#xff08;table&#xff09;&#xff0c;变量和方法皆可看作为该表的元素。 P.S. 该博客和代码为个人编写习…...

机器学习课程学习周报五

机器学习课程学习周报五 文章目录 机器学习课程学习周报五摘要Abstract一、机器学习部分1.1 向量序列作为模型输入1.1.1 文字的向量表达1.1.2 语音的向量表达 1.2 自注意力机制原理1.2.1 自注意力机制理论1.2.2 矩阵运算自注意力机制 1.3 多头自注意力1.4 位置编码1.5 截断自注…...

vue3.0学习笔记(二)——生命周期与响应式数据(ref,reactive,toRef,toRefs函数)

1. 组合API-setup函数 使用细节&#xff1a; setup 是一个新的组件选项&#xff0c;作为组件中使用组合API的起点。从组件生命周期来看&#xff0c;它的执行在组件实例创建之前vue2.x的beforeCreate执行。这就意味着在setup函数中 this 还不是组件实例&#xff0c;this 此时是…...

C++——QT:保姆级教程,从下载到安装到用QT写出第一个程序

登录官网&#xff0c;在官网选择合适的qt版本进行下载 这里选择5.12.9版本 点击exe文件下载&#xff0c;因为服务器在国外&#xff0c;国内不支持&#xff0c;所以可以从我的网盘下载 链接: https://pan.baidu.com/s/1XMILFS1uHTenH3mH_VlPLw 提取码: 1567 --来自百度网盘超级…...

掌握互联网路由选择协议:从基础入门到实战

文章目录 路由选择协议的基本概念路由选择算法的分类分层次的路由选择协议路由信息协议&#xff08;RIP&#xff09;内部网关协议&#xff1a;OSPF外部网关协议&#xff1a;BGP互联网中的实际应用总结 互联网的路由选择协议是网络通信的核心&#xff0c;它决定了数据包如何在网…...

[笔记]ONVIF服务端实现[进行中...]

1.文档搜索&#xff1a; 从&#xff1a;https://www.cnblogs.com/liwen01/p/17337916.html 跳转到了&#xff1a;ONVIF协议网络摄像机&#xff08;IPC&#xff09;客户端程序开发&#xff08;1&#xff09;&#xff1a;专栏开篇_onvif 许振坪-CSDN博客 1.1原生代码支持&…...

深度强化学习 ②(DRL)

参考视频&#xff1a;&#x1f4fa;王树森教授深度强化学习 前言&#xff1a; 最近在学习深度强化学习&#xff0c;学的一知半解&#x1f622;&#x1f622;&#x1f622;&#xff0c;这是我的笔记&#xff0c;欢迎和我一起学习交流~ 这篇博客目前还相对比较乱&#xff0c;后面…...

线性代数重要知识点和理论(下)

奇异值分解 奇异值分解非常重要且有趣。首先对于 n n n\times n nn对称矩阵 A A A&#xff0c;可以通过对角化得到其对角化形式 A P D P − 1 APDP^{-1} APDP−1&#xff0c;但是如果 A A A不是对称矩阵或者不是方阵&#xff0c;则不能进行对角化&#xff0c;但是可以通过奇…...

独立开发者系列(35)——python环境的理解

新手阶段&#xff0c;为了快速入门&#xff0c;基本都是直接开始写python代码实现自己想要的效果&#xff0c;类似搭建博客&#xff0c;写个web服务器&#xff0c;搭建简易聊天室&#xff0c;偶尔也写些爬虫&#xff0c;或者使用pygame写个简单小游戏&#xff0c;也有tk库做点简…...

中小企业常见的网络安全问题及防范措施

在数字化浪潮的推动下&#xff0c;我国中小企业的信息化建设取得了显著成就。然而&#xff0c;随着网络安全形势的日益严峻&#xff0c;中小企业在网络安全方面的短板逐渐暴露出来。本文将从中小企业网络安全现状出发&#xff0c;深入剖析其存在的问题&#xff0c;并提出针对性…...

KRM库:Arduino嵌入式运动控制的安全映射与非阻塞调度

1. KRM库概述&#xff1a;面向嵌入式运动控制的Arduino实用工具集KRM&#xff08;Koval Robotics & Motion&#xff09;是一个专为Arduino平台设计的轻量级底层工具库&#xff0c;其核心定位并非通用算法封装&#xff0c;而是聚焦于机器人与机电控制系统开发中高频、重复、…...

DeepSeek 服务故障,稳定性挑战待解

3 月 29 日晚至 30 日上午&#xff0c;DeepSeek 网页和 App 连崩 10 多个小时。这已不是其首次出问题&#xff0c;随着可能发布的 DeepSeek - V4&#xff0c;系统稳定性成梁文锋亟待解决的难题。事故回顾3 月 29 日 21:35&#xff0c;DeepSeek 网页/APP 服务异常&#xff0c;23…...

Origin绘图进阶:如何在现有图形上叠加散点图与等高线(附完整操作步骤)

Origin高级绘图技巧&#xff1a;散点图与等高线的完美叠加实战指南 科研数据可视化中&#xff0c;单一图表往往难以全面展示复杂数据关系。当您需要在同一坐标系中同时呈现离散数据点与连续趋势时&#xff0c;散点图与等高线的组合堪称黄金搭档。这种混合图表特别适合展现发动机…...

Comsol 复现气液固相变:管中流水加热气化的奇妙模拟之旅

comsol相变模拟&#xff0c;论文复现&#xff0c;气液固相变&#xff0c;管道高温热湿耦合 comsol管中流水加热气化&#xff0c;水由左侧流入右侧流出在科研与工程领域&#xff0c;对气液固相变以及热湿耦合现象的研究至关重要。而 Comsol 作为一款强大的多物理场仿真软件&…...

解锁英雄联盟智能游戏辅助:终极效率提升指南

解锁英雄联盟智能游戏辅助&#xff1a;终极效率提升指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 在快节奏的英雄联盟对战中…...

高效掌握开源工具抖音直播录制:从基础搭建到高级应用指南

高效掌握开源工具抖音直播录制&#xff1a;从基础搭建到高级应用指南 【免费下载链接】DouyinLiveRecorder 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveRecorder 一、直播内容捕获工具的核心价值解析 核心价值&#xff1a;实现直播内容自动化捕获与管理&…...

3倍效能革命:ComfyUI-TeaCache智能缓存技术重构AI创作流程

3倍效能革命&#xff1a;ComfyUI-TeaCache智能缓存技术重构AI创作流程 【免费下载链接】ComfyUI-TeaCache 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-TeaCache 在AI创作领域&#xff0c;每一秒的等待都可能错失灵感迸发的瞬间。ComfyUI-TeaCache作为一款基…...

如何用G-Helper实现CPU降压调优:华硕笔记本用户的散热与续航提升指南

如何用G-Helper实现CPU降压调优&#xff1a;华硕笔记本用户的散热与续航提升指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other mo…...

PPTist:5分钟掌握专业级在线PPT制作,免费开源的高效演示解决方案

PPTist&#xff1a;5分钟掌握专业级在线PPT制作&#xff0c;免费开源的高效演示解决方案 【免费下载链接】PPTist 基于 Vue3.x TypeScript 的在线演示文稿&#xff08;幻灯片&#xff09;应用&#xff0c;还原了大部分 Office PowerPoint 常用功能&#xff0c;实现在线PPT的编…...

OpenClaw+nanobot镜像:个人社交媒体监控系统搭建

OpenClawnanobot镜像&#xff1a;个人社交媒体监控系统搭建 1. 为什么需要个人社交媒体监控系统 作为一个长期关注技术趋势的博主&#xff0c;我经常需要追踪社交媒体上的热点话题和关键词变化。过去我都是手动刷新各个平台&#xff0c;不仅效率低下&#xff0c;还容易错过关…...