关于模拟调制系统仿真:

1 调制原理:

为了让实际信号便于在有限带宽的信道中传输,我们需要对信号进行调制和解调。由傅里叶变换可知,若想实现对频谱的搬移,我们可以将原始时域信号与一余弦信号进行运算,此为调制的原理。由于余弦信号包含三个分量,即幅度A0,频率wc,以及相位φ,因此可以利用实际信号对这三种分量做文章,因此也就有了幅度调制(AM,DSB,SSB),频率调制(FM),相位调制(PM)三种不同的调制方式。

2 幅度调制:

以AM(常规双边带调制)调制方式为例,说明幅度调制的一般性原理。
设:
S(t): 原始信号
cos(wc·t+φ): 载波信号
A0: 直流偏置
Sam(t): am调制后的信号

则对信号进行调制即:
Sam(t) = [ A0 + S(t) ]·cos(wc·t + φ)

3 频率调制:

以频率调制方式为例,对信号的调制表示为:


可以看出频率调制的特点有:

· 包络恒定;
· 频偏随调制信号m(t)作线性变换;
· 相偏随时间信号m(t)的对时间的积分作线性变化;
· 带宽与m(t)的带宽和mf有关,比Am带宽大(mf+1)倍

4 解调原理:

此处介绍相干解调和包络检波两种解调方式。

4.1 相干解调:

调制模型如图

传输信号经过乘法器,和本地载波(与载波信号同频同相)相乘,再通过一个低通滤波器,滤除高频分量,接收信号为m(t)/2。
具体推导略去。可参考《通信原理》(樊昌信 第七版)P95

4.2 包络检波:


通过全波整流,使信号变为正分量,在图像上即将负信号取反,通过低通滤波器滤除高频分量,剩下包络,也即m(t)。

5 仿真说明:

关于幅度调制的代码较为简单,不再说明;
FM调制中,需要注意

1 调频灵敏度Kf确定:


式1 为卡森公式,BFM为调频波的有效带宽,mf为调频指数,fm为最高调制频率,Δf是最大频偏,
式3 为了搬移后的频谱不会重叠
式4 是为了保证满足采样定理
由上不难获得kf。

2 关于信号的积分

由于我们处理的是数字信号,积分并不能解析,需要对数据进行累加和并统一除以采样频率(相当于乘以dt)。这里使用了matlab中的函数:
B = cumsum(A) %从 A 中的第一个其大小不等于 1 的数组维度开始返回 A 的累积和。

3 关于解调中的微分[差分]

Y = diff(X) 计算沿大小不等于 1 的第一个数组维度的 X 相邻元素之间的差分:

如果 X 是长度为 m 的向量,则 Y = diff(X) 返回长度为 m-1 的向量。Y 的元素是 X 相邻元素之间的差分。

Y = [X(2)-X(1) X(3)-X(2) … X(m)-X(m-1)]

4 关于包络检波的实现

此处采用希尔伯特变换后减去直流分量的方法
能力有限,此处不再给出证明。

6 部分代码:

AM

自行实现作图

clear;
clc
% 调制信号读取 -- 载波超参设定
[S,fs] = audioread('sound_1.wav');% fs为采样频率
S_num = size(S,1);
wc = 40000;
t = 1:S_num;
A0 = max(abs(S));
S_am = zeros(1,S_num);
fm = 3400;% AM满幅调制 Sam(t) = [A0 + m(t)] * cos(wc * t)
for i = 1:size(S,1)S_am(i) = [A0 + S(i)]*cos(wc * t(i));
end% 信道传输叠加高斯白噪声
S_AM = awgn(S_am,40);% 相干解调 -- 乘以本地载波 -- 低通滤波
RS_AM = S_AM.*cos(wc.*t);
RS_AM = lowpass(RS_AM,fm,fs);
audiowrite('AM.wav',RS_AM,fs);
sound(RS_AM,fs)
FM
clear;
clc% 调制信号读取 -- 载波超参设定
[S,fs] = audioread('sound_4.wav');% fs为采样频率
S_num = size(S,1);
wc = 0.5;
fc = wc/2/pi;% fc 载波频率 fc = wc/2/pi;
t = 1:S_num;
A0 = max(abs(S));
S_fm = zeros(1,S_num);
fm = 4800;
B = 0.9 * min(2 * fc,fs - 2 * fc);%留一定的带宽余量,系数 <= 1
delta_f = B/2-fm;
kf =  2 * pi * delta_f/A0;
phi = cumsum(S)/fs;% FM满幅频率调制 S_fm = A*cos[wc*t + Kf * integral{m(a)*da} ]
% 采用间接调频的方式:S_pm(t) = Acos[wc*t + Kp*m(t)];
for i = 1:size(S,1)S_fm(i) = cos(wc*t(i) + kf * phi(i));
end% 信道传输叠加高斯白噪声
S_FM = awgn(S_fm,40);% 非相干解调 -- 包络检波
RS_FM = diff(S_FM);
RS_FM = [0 abs(hilbert(RS_FM))];
RS_FM = RS_FM - mean(RS_FM);
audiowrite('FM.wav',RS_FM,fs);
sound(RS_FM,fs)


7 说明:

·使用时,需要将音频文件置于同一文件夹下,并替换代码中音频名。
·DSB,SSB解调方式同AM
·使用时请注明参考出处,谢谢。

作者:M宝可梦
QQ :1195653686

AM,DSB,SSB,FM信号调制matlab相关推荐

  1. 【数字信号调制】基于 AM+FM+DSB+SSB实现信号调制解调含Matlab源码

    1 简介 通信信号调制方式的识别是通信信号处理中的一个重要研究课题,是电子对抗的一个重要内容,也是信号分析的一个快速发展领域.其广泛用于信号确认.干扰识别.无线电侦听和信号监测以及软件无线电.卫星通信 ...

  2. matlab进行fm调制与解调,基于matlab的fm信号调制与解调.doc

    基于matlab的fm信号调制与解调.doc 调制就是将基带信号的频谱搬移到信道通带中或者其中的某个频段上的过程,而解调是将信道中来的频带信号恢复为基带信号的反过程.调制的目的是把要传输的模拟信号或数 ...

  3. FM的调制matlab仿真

    一.FM调制 1.代码如下: clc,clear;fm = 500; % 调制信号频率(Hz) Am = 0.5; % 调制信号幅度 fc = 5e3; % 载波频率(Hz) Ac = 1; % 载波 ...

  4. 语音信号调制matlab,第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件.ppt...

    第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件 第二章 语音信号的数字模型 2.1 概述 本章重点介绍语音信号产生的数字模型,对语音信号的特性和听觉特性做一般介绍. 2.2 语音 ...

  5. ask信号调制matlab,基于Matlab的ASK数字调制系统仿真

    基于Matlab的ASK数字调制系统仿真 摘要: "幅移键控"又称为"振幅键控",记为ASK.也有称为"开关键控"(通断键控)的,所以又记作 ...

  6. ofdm信号调制matlab,OFDM信号 [matlab描述]

    2016.03.31 – 个人理解笔记.(无通信基础,所以有的表达可能会直白或片面.可忽略映射之类的词汇,直接见词语所描述的现象/过程/机制) 03.31 OFDM的基本原理是将高速率子载波上数据流划 ...

  7. 基于MATLAB的信号调制研究与实现

    一.绪论 1.1 工具 PC MATLAB2016b 1.2 目的 掌握模拟系统的调制和解调原理. 学会MATLAB仿真软件在信号调制和解调中的应用. 掌握参数设置方法和性能分析. 通过实验中波形的变 ...

  8. 基于Matlab的SSB信号调制和解调(内附源码)

    详细原理可参考课设报告:基于matlab的SSB信号调制.传输.解调的仿真-行业报告文档类资源-CSDN下载 调制采用了滤波法和相移法. 代码中有注释,无子函数,可以直接运行. 压缩包中包含了具体的课 ...

  9. 通信原理(3)——模拟通信系统的幅度调制(AM DSB SSB VSB)和角度调制(PM FM)

    通信原理(3)--调制 Ⅰ. 绪论 调制:把消息信号寄托到载波的某个参数上,形成已调信号. 解调:调制的逆过程,从已调信号中恢复消息信号. 一.调制的目的 无线通信中,匹配信道特性,提高发射信号的频率 ...

最新文章

  1. 淡淡说说技术人员创业
  2. .NET 异步,你也许不知道的5种用法
  3. 有趣的js匿名函数写法(function嵌套)
  4. java web 开发技术大全 代码_Java Web开发技术大全
  5. 《构建之法》第十三章学习总结
  6. MySQL-MySQL数据类型及占用字节数
  7. 基于jquery的复选树的插件
  8. session的概念特点及原理
  9. 超硬核!小白读了这篇文章,就能在算法圈混了
  10. cmos逻辑门传输延迟时间_芯片设计进阶之路——从CMOS到建立时间和保持时间
  11. clickhouse ARRAY JOIN函数
  12. 15-mysql数据事务语言DTL
  13. 关于Flash的几点思考(Thoughts on Flash)
  14. 数据结构与算法学习(第一天)
  15. android arm代码,为Android ARMV7编译OpenSSL 1.1.0
  16. MDK 5.25 J-link V9 烧写程序失败
  17. 程序员如何从技术岗转为技术管理层?
  18. AD19的IPC封装向导使用
  19. seo模拟点击软件_哪些SEO排名工具是有效的呢?
  20. echarts 与 百度地图bmap结合系列: 如何设置地图缩放级别和监听缩放事件

热门文章

  1. 机器学习:正则化原理总结
  2. Pearson相关系数
  3. java 制作小游戏_如何用java制作小游戏
  4. 人民币对美元汇率中间价报6.7665元 下调73个基点
  5. 线上服务器登记的要点
  6. JS编程建议——2:正确辨析JavaScript句法中的词、句和段
  7. Python脚本监控线上AMQ Number of Pending Messages数量
  8. linux学习笔记:1.基础知识和命令行基本操作
  9. JavaScript 节流函数 Throttle 详解
  10. 【干货】Html与CSS入门学习笔记12-14【完】