资源简介
此matlab程序给出了信号的FM(调频调制)调制与解调的过程,并分析比较了在不同信噪比条件下,解调的性能
代码片段和文件信息
clc;
close all;
clear all;
%% 20181120
% by吕冬治
% 信号的FM调制与解调
%% 信号参数
fm = 3;
fc = 10;
fs = 200;
Am = 1;
A = 2;
N = 1e3;
K = N-1;
n = 0:K;
f = n*fs/N;
t = 0:1/fs:K/fs;
wm = 2*pi*fm;
wc = 2*pi*fc;
thm = 0;
thc = 0;
B = 2*fm;
KFM = 10;
beatFM = KFM*Am/wc;
ct = A*cos(wc*t);%
fft_ct= abs(fft(ct));
figure(1)
subplot(211);
plot(tct);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on;
title(‘频率为10Hz的载波信号byLDM‘);
subplot(212);
plot(f(1:N/2)fft_ct(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid on;
title(‘载波信号信号频谱‘);
%% 调制FM
sig_fm = A*cos(wc*t+beatFM*sin(wm*t));
fft_sig_fm = abs(fft(sig_fm));
figure(2)
subplot(211);
plot(tsig_fm);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on;
title(‘调制信号FM‘);
subplot(212);
plot(f(1:N/2)fft_sig_fm(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid on;
title(‘调制信号频谱‘);
%% 加噪声
sig_noise_fm = awgn(sig_fm40); % 添加信噪比为6dB的高斯白噪声
fft_sig_noise_fm = abs(fft(sig_noise_fm)); % 对AM解调信号进行傅里叶变换
sig_noise_fm2 = awgn(sig_fm20); % 添加信噪比为15dB的高斯白噪声
fft_sig_noise_fm2 = abs(fft(sig_noise_fm)); % 对AM解调信号进行傅里叶变换
figure(3)
subplot(211);
plot(tsig_noise_fm);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on;
title(‘添加信噪比为40dB噪声后的FM信号byLDM‘);
subplot(212);
plot(f(1:N/2)fft_sig_noise_fm(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid;
title(‘添加信噪比为40dB噪声后的FM信号频谱‘);
figure(4)
subplot(211);
plot(tsig_noise_fm2);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on;
title(‘添加信噪比为20dB噪声后的FM信号byLDM‘);
subplot(212);
plot(f(1:N/2)fft_sig_noise_fm2(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid;
title(‘添加信噪比为20dB噪声后的FM信号频谱‘);
%% 解调
% 无噪声
diff_sig_fm = diff(sig_fm); % 调频信号经过一个微分器
d_m = abs(hilbert(diff_sig_fm)); % 用希尔伯特变换能够实现包络检波
fft_dm = abs(fft(d_m)); % 对AM解调信号进行傅里叶变换
% 3 dB高斯白噪声
diff_sig_fm1 = diff(sig_noise_fm); % 调频信号经过一个微分器
d_m2 = abs(hilbert(diff_sig_fm1)); % 用希尔伯特变换能够实现包络检波
fft_dm2 = abs(fft(d_m2)); % 对AM解调信号进行傅里叶变换
% 20 dB高斯白噪声
diff_sig_fm2 = diff(sig_noise_fm2); % 调频信号经过一个微分器
d_m3 = abs(hilbert(diff_sig_fm2)); % 用希尔伯特变换能够实现包络检波
fft_dm3 = abs(fft(d_m3)); % 对AM解调信号进行傅里叶变换
% diff_sig_fm2 = diff(sig_noise_fm2); % 调频信号经过一个微分器
% d_m3 = abs(hilbert(diff_sig_fm2)); % 用希尔伯特变换能够实现包络检波
% fft_dm3 = abs(fft(d_m3)); % 对AM解调信号进行傅里叶变换
% diff_sig_fm2 = diff(sig_noise_fm2); % 调频信号经过一个微分器
% d_m3 = abs(hilbert(diff_sig_fm2)); % 用希尔伯特变换能够实现包络检波
% fft_dm3 = abs(fft(d_m3)); % 对AM解调信号进行傅里叶变换
% diff_sig_fm2 = diff(sig_noise_fm2); % 调频信号经过一个微分器
% d_m3 = abs(hilbert(diff_sig_fm2)); % 用希尔伯特变换能够实现包络检波
% fft_dm3 = abs(fft(d_m3)); % 对AM解调信号进行傅里叶变换
% diff_sig_fm2 = diff(sig_noise_fm2); % 调频信号经过一个微分器
% d_m3 = abs(hilbert(diff_sig_fm2)); % 用希尔伯特变换能够实现包络检波
% fft_dm3 = abs(fft(d_m3)); % 对AM解调信号进行傅里叶变换
% diff_sig_fm2 = diff(sig_noise_fm2); % 调频信号经过一个微分器
% d
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5429 2018-11-25 16:34 FM.m
----------- --------- ---------- ----- ----
5429 1
相关资源
- 跳频通信原理介绍.zip
- 通信原理matlab最全仿真,曹丽娜,樊
- 通信原理MATLAB仿真教程电子教案
- FM调制与解调的课程设计
- 通信原理MATLAB仿真实验指导书
- 通信原理MATLAB仿真实验指导书V2.0林志
- 通信原理MATLAB仿真实验指导书林志谋
- 通信原理课程设计 课程设计 MATLA
- PSK解调Multisim仿真工程
-
通信原理MATLAB/Simuli
nk仿真 - matlab 实现2fsk调制与解调
- 通信原理MATLAB仿真教程
- PN序列之我见
- 通信原理MATLAB仿真实验指导书林志谋
- 通信原理基础小实验 SSB调制
- 通信原理-DSB 与SSB的调制与解调的对比
- 信号的PM调制与解调调相调制
- 二进制数字频带传输系统设计(终极
- matlab代码-NRZ
- MATLAB SYSTEM VIEW通信原理实验及系统仿
- 脉冲编码调制(PCM)实现
- 通信原理课程设计 扩频通信
- HDB3码的matlab实现
- 通信原理基于matlab的计算机仿真_源代
- 通信原理中16QAM信号 MATLAB程序
- 通信原理课程设计报告ASK FSK PSK Matl
- 通信原理pcm编码及解码
- 通信原理8dpsk调制及其误码率曲线
- 通信原理仿真实验 matlab
- 基于Matlab的ASKFSKPSK仿真数字调制技术
评论
共有 条评论