• 大小: 1KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-06
  • 语言: Matlab
  • 标签: matlab  通信原理  

资源简介

此matlab代码,给出了现代通信原理中的常规双边带调幅(AM)的matlab仿真程序,给出了调制与解调的过程,并分析了在不同信噪比条件下的解调性能。

资源截图

代码片段和文件信息

clc;
close all;
clear all;
% 20181120
% ----------------
% by 吕冬治
% -----------------
% 此程序用于现代通信原理中的
% 模拟线性调制部分双边带调幅中的
% 常规双边带调幅(AM)的仿真实现
% 仿真给出了调制与解调过程
% 并分析了在不同的信噪比的条件下
% 利用demod()函数实现解调的解调性能分析
%% 信号参数
fm = 1e3;      % 调制信号频率
fc = 10e3;     % 载波频率
fs = 200e3;    % 采样频率
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;
%% 信号调制
yt = Am*cos(wm*t+thm);  % 调制信号
fft_yt = abs(fft(yt));
figure(1)
subplot(211);
plot(tyt);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on; 
title(‘频率为100Hz的调制信号LV‘);
subplot(212);
plot(f(1:N/2)fft_yt(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid on; 
title(‘调制信号频谱‘);
y0 = A+yt;               % 带有直流分量的调制信号
yc = cos(2*pi*fc*n/fs);  % 载波信号
fft_yc = abs(fft(yc));
figure(2)
subplot(211);
plot(tyc);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on; 
title(‘频率为10kHz的载波信号LV‘);
subplot(212);
plot(f(1:N/2)fft_yc(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid on; 
title(‘载波信号频谱‘);
sig_AM = y0.*yc;                % 已调制信号
fft_sig_AM = abs(fft(sig_AM));
figure(3)
subplot(211);
plot(tsig_AM);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on; 
title(‘已调制信号LV‘);
subplot(212);
plot(f(1:N/2)fft_sig_AM(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid on; 
title(‘已调制信号频谱‘);
%% 解调
sig = demod(sig_AMfcfs‘am‘);  % 对AM调制信号进行解调 
fft_sig = abs(fft(sig));         % 对AM解调信号进行傅里叶变换  
figure(4)
subplot(211);
plot(tsig);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
axis([0 5e-3 0 2]);
grid on; 
title(‘AM解调信号波形LV‘);
subplot(212);
plot(f(1:N/2)fft_sig(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
axis([0 1e5 0 500]);
grid;
title(‘AM解调信号频谱‘);
%% 加噪声
sig_noise_AM = awgn(sig_AM3);     % 添加信噪比为6dB的高斯白噪声
fft_sig_noise_AM = abs(fft(sig_noise_AM));         % 对AM解调信号进行傅里叶变换  
sig_noise_AM2 = awgn(sig_AM18);     % 添加信噪比为15dB的高斯白噪声
fft_sig_noise_AM2 = abs(fft(sig_noise_AM));         % 对AM解调信号进行傅里叶变换  
figure(5)
subplot(211);
plot(tsig_noise_AM);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on; 
title(‘添加信噪比为3dB噪声后的AM信号LV‘);
subplot(212);
plot(f(1:N/2)fft_sig_noise_AM(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid;
title(‘添加信噪比为3dB噪声后的AM信号频谱‘);
figure(7)
subplot(211);
plot(tsig_noise_AM2);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
grid on; 
title(‘添加信噪比为18dB噪声后的AM信号LV‘);
subplot(212);
plot(f(1:N/2)fft_sig_noise_AM2(1:N/2));
xlabel(‘频率/Hz‘);
ylabel(‘幅值‘);
grid;
title(‘添加信噪比为18dB噪声后的AM信号频谱‘);
%% 解调
sig_noise = demod(sig_noise_AMfcfs‘am‘);  % 对AM调制信号进行解调 
fft_sig_noise = abs(fft(sig_noise));         % 对AM解调信号进行傅里叶变换  
sig_noise2 = demod(sig_noise_AM2fcfs‘am‘);  % 对AM调制信号进行解调 
fft_sig_noise2 = abs(fft(sig_noise2));         % 对AM解调信号进行傅里叶变换  
figure(6)
subplot(211);
plot(tsig_noise);
xlabel(‘时间/s‘);
ylabel(‘幅值‘);
axis([0 5e-3 0 2]);
grid on; 
title(‘添加3dB噪声后AM解调信号LV‘);
subplot(212);
plot(f(1:N/2)fft_sig_noise(1:N

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

     文件       3883  2018-11-20 20:03  AM_LV4.m

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

                 3883                    1


评论

共有 条评论