clc;
close all;
clear all;
%%
% 信号的PM调制与解调
% 此程序给出了信号的PM调制的与解调的仿真过程,并分析了在不同信噪比条件下解调的性能
%% 信号参数
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 = 5 ;
beatFM = KFM*Am;
ct = A* cos (wc*t);
fft_ct = abs (fft(ct));
figure ( 1 )
subplot(2,1,1);
plot (t,ct);
xlabel( '时间/s' );
ylabel( '幅值' );
grid on;
title( '频率为10Hz的载波信号byLDM' );
subplot( 2,1,2 );
plot (f( 1 :N/ 2 ),fft_ct( 1 :N/ 2 ));
xlabel( '频率/Hz' );
ylabel( '幅值' );
grid on;
title( '载波信号信号频谱' );
%% 调制PM
sig_PM = cos (wc*t+beatFM* cos ( 2 * pi *wm*t)); %PM已调制信号
fft_sig_PM = abs (fft(sig_PM));
figure ( 2 )
subplot( 2,1,1 );
plot (t,sig_PM);
xlabel( '时间/s' );
ylabel( '幅值' );
grid on;
title( '调制信号tPM' );
subplot( 212 );
plot (f( 1 :N/ 2 ),fft_sig_PM( 1 :N/ 2 ));
xlabel( '频率/Hz' );
ylabel( '幅值' );
grid on;
title( '调制信号频谱' );
%% 加噪声
sig_noise_PM1 = awgn(sig_PM, 3 ); % 添加信噪比为6dB的高斯白噪声
fft_sig_noise_PM1 = abs (fft(sig_noise_PM1)); % 对AM解调信号进行傅里叶变换
sig_noise_PM2 = awgn(sig_PM, 20 ); % 添加信噪比为15dB的高斯白噪声
fft_sig_noise_PM2 = abs (fft(sig_noise_PM2)); % 对AM解调信号进行傅里叶变换
figure ( 3 )
subplot( 2 , 1 , 1 );
plot (t,sig_noise_PM1);
xlabel( '时间/s' );
ylabel( '幅值' );
grid on;
title( '添加信噪比为40dB噪声后的FM信号byLDM' );
subplot( 2 , 1 , 2 );
plot (f( 1 :N/ 2 ),fft_sig_noise_PM1( 1 :N/ 2 ));
xlabel( '频率/Hz' );
ylabel( '幅值' );
grid;
title( '添加信噪比为40dB噪声后的FM信号频谱' );
figure ( 4 )
subplot( 2 , 1 , 1 );
plot (t,sig_noise_PM2);
xlabel( '时间/s' );
ylabel( '幅值' );
grid on;
title( '添加信噪比为20dB噪声后的FM信号byLDM' );
subplot( 2 , 1 , 2 );
plot (f( 1 :N/ 2 ),fft_sig_noise_PM2( 1 :N/ 2 ));
xlabel( '频率/Hz' );
ylabel( '幅值' );
grid;
title( '添加信噪比为20dB噪声后的FM信号频谱' );
%% 解调
% 无噪声
diff_sig_PM = diff(sig_PM); % 调频信号经过一个微分器
d_m = abs(hilbert(diff_sig_PM)); % 用希尔伯特变换能够实现包络检波
fft_dm = abs(fft(d_m)); % 对AM解调信号进行傅里叶变换
% 3 dB高斯白噪声
diff_sig_PM1 = diff(sig_noise_PM1); % 调频信号经过一个微分器
d_m2 = abs(hilbert(diff_sig_PM1)); % 用希尔伯特变换能够实现包络检波
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解调信号进行傅里叶变换
%
figure(5)
subplot(2,1,1);
plot(t(1:end-1),d_m);
xlabel('时间/s');
ylabel('幅值');
grid on;
title('无噪声条件下解调信号波形FMbyLDM');
subplot(2,1,2);
plot(f(1:N/2),fft_dm(1:N/2));
xlabel('频率/Hz');
ylabel('幅值');
axis([0 100 0 100]);
grid;
title('FM解调信号频谱byCL');
figure(6)
subplot(2,1,1);
plot(t(1:end-1),d_m2);
xlabel('时间/s');
ylabel('幅值');
grid on;
title('信噪比为40dB条件下解调信号波形FMbyLDM');
subplot(2,1,2);
plot(f(1:N/2),fft_dm2(1:N/2));
xlabel('频率/Hz');
ylabel('幅值');
axis([0 100 0 100]);
grid;
title('FM解调信号频谱byCL');
% figure(7)
% subplot(2,1,1);
% plot(t(1:end-1),d_m3);
% xlabel('时间/s');
% ylabel('幅值');
% grid on;
% title('信噪比为20dB条件下解调信号波形FMbyLDM');
% subplot(2,1,2);
% plot(f(1:N/2),fft_dm3(1:N/2));
% xlabel('频率/Hz');
% ylabel('幅值');
% axis([0 100 0 100]);
% grid;
% title('FM解调信号频谱byCL');
% figure(5)
% subplot(2,1,1);
% plot(t(1:end-1),d_m);
% xlabel('时间/s');
% ylabel('幅值');
% grid on;
% title('无噪声条件下解调信号波形FMbyLDM');
% subplot(2,1,2);
% plot(f(1:N/2),fft_dm(1:N/2));
% xlabel('频率/Hz');
% ylabel('幅值');
% axis([0 100 0 100]);
% grid;
% title('FM解调信号频谱byCL');
%
% figure(6)
% subplot(2,1,1);
% plot(t(1:end-1),d_m2);
% xlabel('时间/s');
% ylabel('幅值');
% grid on;
% title('信噪比为40dB条件下解调信号波形FMbyLDM');
% subplot(2,1,2);
% plot(f(1:N/2),fft_dm2(1:N/2));
% xlabel('频率/Hz');
% ylabel('幅值');
% axis([0 100 0 100]);
% grid;
% title('FM解调信号频谱byCL');
%
% figure(7)
% subplot(2,1,1);
% plot(t(1:end-1),d_m3);
% xlabel('时间/s');
% ylabel('幅值');
% grid on;
% title('信噪比为20dB条件下解调信号波形FMbyLDM');
% subplot(2,1,2);
% plot(f(1:N/2),fft_dm3(1:N/2));
% xlabel('频率/Hz');
% ylabel('幅值');
% axis([0 100 0 100]);
% grid;
% title('FM解调信号频谱byCL');
没有合适的资源?快使用搜索试试~ 我知道了~
【数字信号调制】基于matlab PM调制与解调【含Matlab源码 2657期】.zip
共7个文件
jpg:6个
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 30 浏览量
2023-06-04
16:45:23
上传
评论 1
收藏 294KB ZIP 举报
温馨提示
CSDN海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:pm.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开pm.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合
资源推荐
资源详情
资源评论
收起资源包目录
【数字信号调制】基于matlab PM调制与解调【含Matlab源码 2657期】.zip (7个子文件)
【数字信号调制】基于matlab PM调制与解调【含Matlab源码 2657期】
运行结果1.jpg 50KB
运行结果6.jpg 56KB
运行结果5.jpg 52KB
运行结果2.jpg 56KB
pm.m 5KB
运行结果4.jpg 60KB
运行结果3.jpg 58KB
共 7 条
- 1
资源评论
海神之光
- 粉丝: 3w+
- 资源: 2091
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功