目录

  • 1.FM的调制原理
  • 2.FM的解调原理
  • 3.FM调制解调的代码
  • 4.FM调制解调结果图
  • 5.优缺点

1.FM的调制原理

FM是频率调制,是用基带信号控制载波的频率,其实现原理如下图所示,基带信号经过积分器,然后和载波信号一起输入给调相器,基带信号控制载波的频率,实现FM的调制。

2.FM的解调原理

FM的解调原理如下图所示,FM信号经过信道传输之后,通过鉴频器变成调幅调频波,然后经过移相器,包络检波器得到包络,去除偏置恢复出原始信号。

3.FM调制解调的代码

FM.m,FM主文件

% FM调制解调过程
%% 基本参数
clear all;                  % 清除变量
close all;                  % 关闭所有窗口图像
fm = 100;                   % 基带信号频率
T = 2;                      % 信号时长
fs = 20000;                 % 采样频率 奈奎斯特采样定理为最大频率的两倍,这里取20倍为了绘制更多的细节,让时域信号更平滑
dt=1/fs;                    % 时间采样间隔,采样频率的倒数
N=T/dt;                     % 采样点个数,总时长除以采样间隔
t=[0:N-1]*dt;               % 采样点的时间序列,作为横坐标%% ******************调制信号时域波形******************
Am=1;                       % 基带信号幅度
mt=Am*cos(2*pi*fm*t);       % 基带信号
figure(1);                  % 绘制第一幅图
subplot(221);               % 窗口分割,将一幅图分割成2*2的
plot(t,mt,'Linewidth',2);   % 时间t为横坐标,基带信号mt为纵坐标绘图,线宽为2
xlabel('t/时间');           % 横坐标标注
ylabel('幅度');             % 纵坐标标注
title('基带信号');          % 图标题标注
axis([0,0.1,-1.1,1.1]);     % 横纵坐标范围设置
line([0,0.1],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.1,0)的蓝色实线,线宽为2%% ******************调制信号频域波形******************
subplot(222);
[mf,msf]=T2F(t,mt);         % 傅里叶变换,得到纵坐标频谱和横坐标频率
plot(mf,abs(msf),'Linewidth',2);    % 画出基带信号频谱,线宽为2
title('基带信号的频谱');            % 图标题标注
xlabel('f/Hz');                     % 横坐标标注
ylabel('幅度/H(f)');                % 纵坐标标注
axis([-150 150 -inf inf]);          % 横纵坐标范围设置%% ******************载波信号时域波形******************
subplot(223);
fc=1000;                            % 载波频率
A=1;                                % 载波幅度
zaibo=A*cos(2*pi*fc*t);             % 载波时域信号
plot(t,zaibo,'r','Linewidth',2);    % 时间t为横坐标,载波信号zaibo为纵坐标绘图,线宽为2,红色
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
title('载波信号');                  % 图标题标注
axis([0,0.01,-1.1,1.1]);            % 横纵坐标范围设置
line([0,0.01],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.01,0)的蓝色实线,线宽为2%% ******************载波信号频域波形******************
subplot(224);
[mf1,msf1]=T2F(t,zaibo);            % 傅里叶变换,得到纵坐标频谱和横坐标频率
plot(mf1,abs(msf1),'r','Linewidth',2);  % 载波信号频谱,线宽为2,红色
title('载波信号的频谱');            % 图标题标注
xlabel('f/Hz');                     % 横坐标标注
ylabel('幅度/H(f)');                % 纵坐标标注
axis([-1200 1200 -inf inf]);        % 横纵坐标范围设置%% ******************FM波信号时域波形******************
Kf=4000;%调频系数
SFM=A*cos(2*pi*fc*t+Kf*Am/2/pi/fm.*sin(2*pi*fm*t));
%% 加噪声
% SNR=20;                            %信噪比为  dB
% SFM=awgn(SFM,SNR,'measured');
figure(2);                          % 绘制第二幅图
subplot(211);                       % 窗口分割,将一幅图分割成2*1的
plot(t,SFM,'Linewidth',2);          % 画出FM信号波形,线宽为2
title('FM调制信号');                % 图标题标注
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
axis([0,0.02,-2,2]);                % 横纵坐标范围设置
line([0,0.02],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.02,0)的蓝色实线,线宽为2%% ******************FM波信号频域波形******************
[mf2,msf2]=T2F(t,SFM);              % 傅里叶变换,得到纵坐标频谱和横坐标频率
subplot(212);
plot(mf2,abs(msf2),'Linewidth',1);  % 画出AM信号频谱
title('FM波信号的频谱');            % 图标题标注
xlabel('f/Hz');                     % 横坐标标注
ylabel('幅度/H(f)');                % 纵坐标标注
axis([-2500 2500 -inf inf]);        % 横纵坐标范围设置%% ******************非相干解调******************
%% ******************调频信号经过微分器,移相器,包络检波器******************
for i=1:N-1diff_SFM(i)=(SFM(i+1)-SFM(i))/dt; % 微分器,将调频波变换成调幅调频波
end
diff_SFM=abs(hilbert(diff_SFM));      % 希尔伯特变换移相,然后包络检波
figure(3);
subplot(211);
plot([1:N-1]*dt,diff_SFM,'Linewidth',2)% 绘制包络检波后的波形
title('经过包络检波所得信号波形');
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
axis([0,0.1,1000,11000]);           % 横纵坐标范围设置
line([0,0.1],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.1,0)的蓝色实线,线宽为2
%% ******************包络检波后去除偏置******************
diff_SFM=(diff_SFM/A-2*pi*fc)/Kf;   % 除去偏置
subplot(212);
plot([1:N-1]*dt,diff_SFM,'Linewidth',2)% 绘制最终解调的波形
hold on;                            % 保留之前的图不进行刷新
plot(t,mt,'r-','Linewidth',2);      % 画出原信号
title('经过非相干解调所得的信号波形');
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
axis([0 0.1 -1.1 1.1]);             % 横纵坐标范围设置
line([0,0.1],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.1,0)的蓝色实线,线宽为2

T2F.m文件,FFT功能

function [f,sf]= T2F(t,st)      % FFT
% dt = t(2)-t(1);
T=t(end);                       % 输入信号的时间最大值为T
df = 1/T;                       % dt=1/fs; 时间采样间隔,采样频率的倒数;% N=T/dt;  采样点个数,总时长除以采样间隔% 两式联合推导 df = 1/T
N = length(st);                 % 输入信号时间的长度为采样点数
f=-N/2*df : df : N/2 * df-df;   % 频率分布
sf = fft(st);                   % 做FFT
sf = T/N * fftshift(sf);        % 最后输出,将0-fs频谱搬移到-fs/2-fs/2频谱

F2T.m文件,IFFT功能

function[t,st]=F2T(f,Sf)        % IFFT
df=f(2)-f(1);                   % 频率间隔
fmax=(f(end)-f(1)+df);          % 最大频率减最低频率加上频率间隔为带宽
dt=1/fmax;                      % 采样间隔
N=length(f);                    % 采样点数
t=[0:N-1] * dt;                 % 时间分布
Sf=fftshift(Sf);                % 将0-fs频谱搬移到-fs/2-fs/2频谱
st=fmax * ifft(Sf);             % 做IFFT
st=real(st);                    % 取实部

注意:这三个文件要放在同一文件夹中,第一个是主文件,另外三个是函数文件

4.FM调制解调结果图

为了效果展示,图中FM信号是没有加高斯白噪声的。
如果想加噪声,把下面这行代码解除注释即可。

% SFM=awgn(SFM,SNR,'measured');



5.优缺点

优点:抗噪声能力强;
缺点:有效传输带宽大,占用频带资源。
牺牲通信系统的有效性来提高可靠性。

通信原理与MATLAB(五):FM的调制解调相关推荐

  1. 通信原理与MATLAB(二):DSB的调制解调

    目录 1.DSB的调制原理 2.DSB的解调原理 3. DSB调制解调的代码 4.DSB调制解调结果图 5.DSB的优缺点 1.DSB的调制原理 DSB和AM相差一个直流量,因此其调制原理如下图所示, ...

  2. 通信原理与MATLAB(一):AM的调制解调

    目录 1.AM的调制原理 2.AM的解调原理 3. AM调制解调的代码 4.AM调制解调结果图 5.AM的优缺点 1.AM的调制原理 AM的调制原理如下图所示,基带信号m(t)和直流量A0相加,然后和 ...

  3. 通信原理与MATLAB(九):DPSK的调制解调

    目录 1.差分编解码原理 1.1差分编码原理 1.2差分解码原理 2.DPSK的调制原理 3.DPSK的相干解调原理 4.DPSK的代码(相干解调) 5.结果图(相干解调) 6.DPSK的差分解调原理 ...

  4. 通信原理与MATLAB(十):QPSK的调制解调

    目录 1.QPSK的调制原理 2.QPSK的解调原理 3.QPSK代码 4.结果图 5.特点 1.QPSK的调制原理 QPSK调制原理如下图所示,QPSK相当于两个正交的BPSK相加而成.其调制原理是 ...

  5. 通信原理与MATLAB(十一):QAM的调制解调

    目录 1.QAM的调制原理 2.QAM的解调原理 3.QAM代码 4.结果图 5.特点 1.QAM的调制原理 QAM调制原理如下图所示,基带码元波形经过串并转换分成I.Q两路,然后再经过电平转换(00 ...

  6. 通信原理 简易QPSK AB方法的调制解调及星座图的matlab实现

    QPSK调制解调方框图如下所示 A方式 框图如下所示: A方式代码如下所示 clc clearNm = 100;%100个码元 snrdB = 20;%信噪比20dB Ts = 2;%原始码元间隔 N ...

  7. 【通信原理】实验五 基于Matlab的2ASK和2FSK调制解调

    目录 一.实验目的 二.实验器材 三.实验原理 1.二进制振幅键控(2ASK) 2.二进制频移键控(2FSK) 四.示例演示 1.2ASK的模拟调制程序如下: 2.2ASK的开关键控法,调制程序如下: ...

  8. 【全套完结】通信原理----全套Matlab仿真实验报告

    目录 实验一.基于Matlab的模拟信号的调制和解调 实验二.角度调制实验 实验三.数字基带码型产生实验 实验四.数字基带信号的眼图实验 实验五.基于Matlab的2ASK和2FSK调制解调 实验六. ...

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

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

最新文章

  1. Swift 使用CoreLocation获取定位与位置信息
  2. jQuery获取Select选择的Text和 Value
  3. 《Effective Java》学习笔记 第二章 创建和销毁对象
  4. java集合系列_Java集合系列01-Java集合概述
  5. iOS工作中的经验总结—马甲包审核以及常见审核问题
  6. linux 安装mysql5.7.12_Linux安装mysql5.7
  7. hadoop包含哪些技术?
  8. 贝叶斯网络结构学习之MCMC算法(基于FullBNT-1.0.4的MATLAB实现)
  9. mysql覆盖索引理解
  10. 2.C语言基础-sprintf函数用法
  11. JavaScript学习手册一
  12. 对称加密算法和非对称加密算法的完美结合
  13. 南京计算机工程大学分数线,2017南京信息工程大学录取分数线
  14. Excel 中超链接转换为相应的 URL
  15. 华为Vo5G技术GC方式下引入G
  16. 数论(继续补充)(gcd + lcm + qpow + prime+qmul)
  17. 第6章 歌手详情页开发
  18. SABER 最强大的数模混合信号仿真软件
  19. TUSCANY 学习笔记1
  20. Linux——定时运行作业

热门文章

  1. 高三党听音乐自习哪款蓝牙耳机好?平价高音质这五款蓝牙耳机值得入手
  2. JSP怎么给手机发短信对接验证码短信接口DEMO示例
  3. Linux-dhclient命令
  4. dl388g7安装linux,HP DL388 G7做OLIRAIDBIOS设置linux安装概要.doc
  5. (一)Corona SDK 开发环境搭建
  6. 什么是 ARP 攻击?
  7. 如何使用ABBYY FineReader PDF 15对比功能,数据纠错不用愁
  8. 比尔盖茨经典语录、人生感悟
  9. Meta-INF文件的创建
  10. 图片加载失败时,显示默认图片