一、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; % 时间t r_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调制的更多相关文章

  1. 通信原理实践(四)——模拟通信系统性能分析

    一.模拟通信系统性能分析 1.系统框图 2.信噪比定义 (1)输入信噪比: (2)输出信噪比: (3)调制制度增益: 3.模拟通信系统分析等价模型 即自己产生一个高斯白噪声,加入到调制信号,然后在送入 ...

  2. 通信原理实践(二)——幅度调制

    一.幅度调制,并画出时域和频域波形 1.代码如下: function [ p_n ] = AM_func( N,fs,fm,Am,fc,Ac,Ma ) %UNTITLED 此处显示有关此函数的摘要 % ...

  3. 通信原理实践(五)——2PSK 与2DPSK 通信系统

    一.一些Matlab函数 二.2PSK调制解调,性能分析 1.2PSK调制 (1)图示 (2)Matlab代码 function [ s_t ,bb_t,bits] = psk2_module( nS ...

  4. 【转】Python学习---Socket通信原理以及三次握手和四次挥手详解

    [原文]https://www.toutiao.com/i6566024355082404365/ 什么是Socket? Socket的中文翻译过来就是"套接字".套接字是什么,我 ...

  5. 通信原理实践(一)——音频信号处理

    一.信号的离散化 1.采样定理: –如果信号是带限的,并且采样频率fs超过信号最高频率的两倍,那么,原来的连续信号可以从采样样本中完全重建出来. 因此在仿真过程中,采样率(fs)是一个非常重要的参数. ...

  6. 通信原理实践(六)——基带传输

    一.基带传输引入 1.从数字带通传输说起 以上系统可以等价为: 这里"等价"的假设条件是 •信号通过滤波器不失真 •不存在码间串扰 意义:可以通过评估基带传输系统来获得数字带通传输 ...

  7. WebSocket原理与实践(三)--解析数据帧

    WebSocket原理与实践(三)--解析数据帧 1-1 理解数据帧的含义:   在WebSocket协议中,数据是通过帧序列来传输的.为了数据安全原因,客户端必须掩码(mask)它发送到服务器的所有 ...

  8. 基于web的IM软件通信原理分析

    关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述.而 ...

  9. Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)

    转载地址:http://blog.csdn.net/mad1989/article/details/9147661 ZERO.前言 有关通信原理内容是在网上或百科整理得到,代码部分为本人所写,如果不当 ...

随机推荐

  1. linux学习之一些琐碎知识点

    一.python 问:django中project和app之间到底有什么不同? 答:他们的区别就是一个是配置,另一个是代码. 一个project包含很多个django app以及对它们的配置.技术上, ...

  2. linux学习中遇到的各种故障与解决方法

    一.nginx 二.apache 三.mysql 四.tomcat 五.oracle 六.python python安装mysqldb(mysql-devel包)出现错误: error: comman ...

  3. linux学习之lvm-逻辑卷管理器

    一.简介 lvm即逻辑卷管理器(logical volume manager),它是linux环境下对磁盘分区进行管理的一种机制.lvm是建立在硬盘和分区之上的一个逻辑层,来提高分区管理的灵活性.它是 ...

  4. Zlib 在windows上的编译

    1.下载http://www.zlib.net 下载,最新版本1.2.8 2.解压后,实际已提供了在vc下编译的工程,目录为:zlib-1.2.8\contrib\vstudio. 其中的zlibst ...

  5. 对于Tomcat服务器环境变量和启动配置的一点补充

    我们之前第一次使用Tomcat服务器运行jsp应用时,曾经给Tomcat配置过一个环境变量CATALINA_HOME,这个变量指定了Tomcat的安装位置,对于多个开发项目,我们一般会释放多个tomc ...

  6. K3已被禁用的基础资料如何显示出来

    [基础资料]——[公共资料]——[物料.职员.客户==]——[查看]——[选项]——显示禁用基础资料——确定,就可以看见你所禁用过的基础资料,显示为红色字体! 同类问题example: 金蝶K3 禁用 ...

  7. Divide and conquer:4 Values whose Sum is 0(POJ 2785)

    找四个数的和为0 题目大意:给定四个集合,要你每个集合选4个数字,组成和为0 这题是3977的简单版,只要和是0就可以了 #include <iostream> #include < ...

  8. LeetCode 191 Number of 1 Bits

    Problem: Write a function that takes an unsigned integer and returns the number of '1' bits it has ( ...

  9. CodeForces 407B Long Path (DP)

    题目链接 题意:一共n+1个房间,一个人从1走到n+1,如果第奇数次走到房间i,会退回到房间Pi,如果偶数次走到房间i,则走到房间i+1,问走到n+1需要多少步,结果对1e9+7取模. 题解:设dp[ ...

  10. cocos2d-x 第三篇 基本概念介绍

    场景(scene): 也有人叫做屏幕或舞台,是一个独立的程序流,一个程序可以有很多场景但当前运行的场景就只有一个.比如游戏中可以有介绍场景,菜单场景,第一关场景,过场1场景,第二关场景,胜利场景等.一 ...