FM的调制matlab仿真
一、FM调制
1、代码如下:
clc,clear;fm = 500; % 调制信号频率(Hz) Am = 0.5; % 调制信号幅度 fc = 5e3; % 载波频率(Hz) Ac = 1; % 载波幅度 mf = 5; % 调频指数%% %firstly kf = mf * 2 * pi * fm / Am diatf = kf * Am B = 2 * (mf + 1) * fm%% %secondly fs = 64e3; % 采样率 N = 3000; % 样点总数 t = (0:N-1)'/fs; % 时间t%绘制时域波形 m_t = Am*sin(2*pi*fm*t); % 调制信号 phi_t = kf*cumsum(m_t)/fs; % 相位积分 s_t = cos(2*pi*fc*t + phi_t); % 已调信号\ figure(1) subplot(1,3,1) plot(t, s_t , 'b'); % 绘波形 xlabel('time'); ylabel('amplitude'); title('时域波形');%绘制功率谱 L = length(s_t); % 取得序列长度 u = fftshift(fft(s_t )); % 离散傅里叶变换,求频谱 u_pow = pow2db(abs(u).^2); % 幅度转为dB w = (0:L-1)'*fs/L - 1/2*fs; % 横坐标-频率subplot(1,3,2); plot(w, u_pow); grid on; xlabel('frequency(Hz)'); ylabel('magnitude(dB)'); title('功率谱');%% %fortly[lpf_b,lpf_a] = butter(3, (fc/5)/(fs/2)); % 设计低通滤波器 t = (0:N-1)'/fs; % 时间t r_t = s_t; subplot(1,3,3) r_d_t = [0;diff(r_t)]; % 求微分 r_e_t = abs(r_d_t); % 包络检波 demod_t = filter(lpf_b, lpf_a, r_e_t); % 滤波 plot(t, demod_t , 'b'); % 绘图 title('解调波形');%% %thirdly fs_J=100e3; t=(0:N-1)'; N_J=3000000; t_J=(0:N_J-1)';sm=Am*cos(2*pi*fm/fs*t); sfm_J=Ac*cos(2*pi*fc/fs_J*t_J+mf*sin(2*pi*fm/fs_J*t_J));Sfm=fft(sfm_J); figure; plot(abs(Sfm));i=0:9 J=besselj(i,mf); J_comp=abs(J/J(1))
2、结果分析
在进行功率谱分析的时候,可以将采样点增大,而绘图的采样点不变,这样子得到的功率谱会更加离散,便于和贝塞尔函数进行比较。
二、L+R音频调制
1、流程设计
2、代码如下
clear all;clc;%载入信号 load('fm_cap.mat'); fm_cap = resample(fm_cap,1,4); %降低采样率fs = 500e3; % 采样率 N = length(fm_cap); % 样点数 t = (0:N-1)'/fs; % 时间tr_d_t = [0;diff(fm_cap)]; % 求微分 r_e_t = abs(hilbert(r_d_t)); r_e_t = r_e_t - sum(r_e_t)/N;plot(t, r_e_t , 'b'); % 绘图 [lpf_b,lpf_a] = butter(5, 10e3/(fs/2)); % 设计低通滤波器 demod_t = filter(lpf_b, lpf_a, r_e_t); % 滤波demod_t = resample(demod_t,16,125); demod_t = demod_t ./ max(demod_t); sound(demod_t,64e3);
FM调制代码2:
角调制:Sm(t)=Acos[wct+Ψ(t)]
PM:Ψ(t)=Kpm(t)
Spm(t)=Acos[wct+ Kpm(t) ]
FM(调频):Ψ(t)对t的导数=Kfm(t)
Sfm(t)=Acos[wct+ kf∫m(t)dt ]
代码实现:
figure(1);
dt=0.0004; %设定时间步长?
t=0:dt:1.5; %产生时间向量?
am=15; %设定调制信号幅度?
fm=5; %设定调制信号频?
mt=amcos(2pifmt); %生成调制信号?
fc=50; %设定载波频率?
ct=cos(2pifct); %生成载波?
kf=10; %设定调频指数?
vt=cos(2pifct+1015sin(2pifmt)/(2pi*fm)); %调制,产生已调信号?
subplot(3,1,1);
plot(mt);
axis([0,1500,-20,20]);
title(‘调制信号的时域图’);
subplot(3,1,2);
plot(ct);
axis([0,1500,-1,1]);
title(‘载波信号的时域图’);
subplot(3,1,3);
plot(vt);
axis([0,1500,-1.2,1.2]);
title(‘已调信号的时域图’);
仿真结果:
FM的调制matlab仿真相关推荐
- fm调制matlab仿真,FM调制的matlab仿真报告.doc
FM调制的matlab仿真报告 FM 调制及解调题目要求:设输入信号为m(t) = cos 2πt ,载波中心频率为f c =10 Hz ,VCO的压控振荡系数为5 H z / V,载波平均功率为1W ...
- OFDM调制matlab仿真详细代码
MATLAB仿真代码 % ================================================== % 作者: 肆拾伍 % 时间:11/30 2019 % 版本:V3 % ...
- 【数字信号调制】正交幅度调制matlab仿真
1 简介 2 部分代码 M=16;k=log2(M);n=100000; %比特序列长度 samp=1; %过采样率x=randint(n,1); %生成随机二进制比特流subplot(211);s ...
- fm调制matlab仿真,matlab fm调制仿真.doc
matlab fm调制仿真.doc 第1页共21页MatlabFM调制仿真第2页共21页目录引言3一.课程设计的目的与要求31.1课程设计的目的31.2课程设计的要求3二.FM调制解调系统设计.32. ...
- AM,DSB,SSB,FM信号调制matlab
关于模拟调制系统仿真: 1 调制原理: 为了让实际信号便于在有限带宽的信道中传输,我们需要对信号进行调制和解调.由傅里叶变换可知,若想实现对频谱的搬移,我们可以将原始时域信号与一余弦信号进行运算,此为 ...
- pwm调制 matlab仿真,PWM脉冲调制直流电机的simulink仿真
PWM脉冲调制直流电机的simulink仿真 仿真模型构建 电机原理 直流电机的4个动态特性方程式分别为: 对上述式子去拉普拉斯变换并整理得: 其中 T c T_c Tc为电机轴上的总阻转矩.画出电 ...
- fsk调制matlab 仿真,基于MATLAB对FSK信号调制与解调的仿真
基于MATLAB对FSK信号调制与解调的仿真 基于 MATLAB 对 FSK 信号调制与解调的仿真摘要 Matlab 平台的著名仿真环境 Simulink 作为一种种专业和功能强大且操作简单的仿真工具 ...
- 超级干货:BPSK/QPSK数字调制系统误码率MATLAB仿真
本文旨在通过简单实例来对基于MATLAB的数字调制解调系统仿真进行一个较为全面的介绍,并加深对一些基础知识的理解.且有详细解释大多数人在进行数字调制MATLAB仿真时遇到的大部分问题. 数字调制的概念 ...
- m基于MATLAB的FM调制收音机仿真实现
目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 那么FM调制端的基本原理图如下所示: FM解调 FM解调的基本原理框图为: 在不考虑频偏的情 ...
最新文章
- DHTMLX-Tabbar
- 阅读好书依然是提升自己的高效方法:兼以作者的身份告诉大家如何选择书,以及高效学习的方法...
- 2.10 词嵌入除偏-深度学习第五课《序列模型》-Stanford吴恩达教授
- 3.5 向量化实现的解释-深度学习-Stanford吴恩达教授
- 《Groovy官方指南》目录
- 小辣椒p60手机怎么样_小辣椒双机来临,搭载联发科 最低499元
- 商业逻辑12讲之管理思维的逻辑
- Android实现3D旋转效果
- 定制化你的ReactNative底部导航栏
- [Grooy]List, Map and Range习题
- C++:gloox库进行协议扩展(使用自定义标签)
- Java: Number转换为BigDecimal:最好方法
- word文档怎么找回误删的文件_word文件数据恢复|word文件不小心删除怎么恢复?...
- php电子商务网站开源,Shopilex-中文开源网店
- vmware vsphere powercli 因为在此系统中禁止执行脚本
- Wannafly挑战赛19:C. 多彩的树(状压+容斥)
- Android每周一轮子:Nvwa(热修复)
- android BaseFragment获取Context上下文方法
- [读后感]Java 控制台执行 Jar 传參的编码问题
- 怎么恢复苹果内置的计算机,苹果还原系统的方法_苹果电脑Mac如何恢复出厂系统-win7之家...
热门文章
- 这个主板制作的是一样的吗?
- Grove Beginner Kits基础实验 Arduino
- 几类 3.3V降压稳压电源IC芯片简介
- 白白浪费了这满园春色
- es mysql 预处理_数据库选型之MySQL vs ElasticSearch
- linux 设置代理_用Android手机做电脑的HTTP代理服务器
- ipython notebook_50个关于IPython的使用技巧,get起来!
- 微信小程序万里目_4款万里挑一的微信小程序,每一个都是黑科技!
- 查看平台内核信息脚本
- Verilog初级教程(12)Verilog中的generate块