资源简介

此matlab程序给出PM调制与解调的过程,并分析了在不同的信噪比条件下解调的性能

资源截图

代码片段和文件信息

clc;
close all;
clear all;
%% 20181120
%  by吕冬治
% 信号的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(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(‘载波信号信号频谱‘);
%% 调制PM
sig_PM = cos(wc*t+beatFM*cos(2*pi*wm*t));%PM已调制信号
fft_sig_PM = abs(fft(sig_PM));
figure(2)
subplot(211);
plot(tsig_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_PM3);     % 添加信噪比为6dB的高斯白噪声
fft_sig_noise_PM1 = abs(fft(sig_noise_PM1));         % 对AM解调信号进行傅里叶变换  
sig_noise_PM2 = awgn(sig_PM20);     % 添加信噪比为15dB的高斯白噪声
fft_sig_noise_PM2 = abs(fft(sig_noise_PM2));         % 对AM解调信号进行傅里叶变换  
figure(3)
subplot(211);
plot(tsig_noise_PM1);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on; 
title(‘添加信噪比为40dB噪声后的FM信号byLDM‘);
subplot(212);
plot(f(1:N/2)fft_sig_noise_PM1(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid;
title(‘添加信噪比为40dB噪声后的FM信号频谱‘);

figure(4)
subplot(211);
plot(tsig_noise_PM2);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on; 
title(‘添加信噪比为20dB噪声后的FM信号byLDM‘);
subplot(212);
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(211);
% plot(t(1:end-1)d_m);
% xlabel(‘时间/s‘);
% ylabel(‘幅值‘);
% grid on; 
% title(‘无噪声条件下解调信号波形FMbyLDM‘);
% subplot(212);
% 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(211);
% plot(t(1:end-1)d_m2);
% xlabel(‘时间/s‘);
% ylabel(‘幅值‘);
% grid on; 
% title(‘信噪比为40dB条件下解调信号波形FMbyLDM‘);
% subplot(212);
% 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(211);
% plot(t(1:end-1)d_m3);
% xlabel(‘时间/s‘);
% ylabel(‘幅值‘);
%

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4591  2018-11-25 16:36  pm_.m

----------- ---------  ---------- -----  ----

                 4591                    1


评论

共有 条评论