青 岛 农 业 大 学
理学与信息科学学院
通信系统仿真课程设计报告
设 计 题 目
模拟角度调制系统仿真
学生专业班级
电子信息工程 10 级 02 班
学生姓名(学号)
指 导 教 师
完 成 时 间
2013.06.17
实 习(设计)地点 理信学院机房
2013 年 06 月 14 日
一、设计目的和任务分析
1、设计目的
(1)、掌握模拟系统 FM、PM 调制与解调的原理,并实现调制;
(2)、掌握模拟角度调制系统仿真,实现 FM 与 PM 调制与解调的设计方法,并要
求信道为 AWGN 信道,画出调制信号、已调信号的波形图与频谱图,并比较
两种调制的带宽、信噪比参数。
2、任务分析
(1)、确定仿真算法;
(2)、建立仿真模型;
(3)、设计仿真程序 FM、PM 调制与解调,先初始化,添加高斯白噪声制出调制
和已调信号,运行仿真程序;
(4)、输出仿真结果并进行分析。
二、设计过程
1、模拟通信系统简介
通信系统是为了有效可靠的传输信息,信息由信源发出,以语言、图像、数据为
媒体,通过电(光)信号将信息传输,由信宿接收。通信系统又可分为数字通信与模拟
通信。基于课程设计的要求,下面简要介绍模拟通信系统。
信源是模拟信号,信道中传输的也是模拟信号的系统为模拟通信。模拟通信系统
的模型如图 1 所示。
图 1 模拟通信系统模型
调制器: 使信号与信道相匹配, 便于频分复用等。发滤波器: 滤除调制器输出的
无用信号。收滤波器: 滤除信号频带以外的噪声,一般设 N(t)为高斯白噪声,则 Ni(t)
为窄带白噪声。
FM 波的幅度恒定不变,这使得它对非线性器件不甚敏感,给 FM 带来了抗快衰落
能力。利用自动增益控制和带通限幅还可以消除快衰落造成的幅度变化效应。这些特
点使得 NBFM 对微波中继系统颇具吸引力。WBFM 的抗干扰能力强,可以实现带宽与信
噪比的互换,因而 WBFM 广泛应用于长距离高质量的通信系统中,如空间和卫星通信、
调频立体声广播、短波电台等。WBFM 的缺点是频带利用率低,存在门限效应,因此
在接收信号弱、干扰大的情况下宜采用 NBFM,这就是小型通信机常采用 NBFM 的原因。
2、FM 调制原理
频率调制的一般表达式为:
s
FM
( )
t
A
cos[
t K
c
F
t
( )
]
m d
(2-1)
FM 和 PM 非常相似,如果预先不知道调制信号的具体形式,则无法判断已调信号
是调频信号还是调相信号。
( )
m t
FM
S
( )
t
FM
图 2
( )
m t
( )
dt
PM
S
( )
t
FM
图 3
图(2)所示的产生调频信号的方法称为直接调频法,图(3)所示的产生调频信
号的方法称为间接调频法[4]。由于实际相位调制器的调节范围不可能超出
,因
而间接调频的方法仅适用于相位偏移和频率偏移不大的窄带调制情形,而直接调频则
适用于宽带调制情形。
根据调制后载波瞬时相位偏移的大小,可将频率调制分为宽带调频(WBFM)与窄
带调频(NBFM)。宽带与窄带调制的区分并无严格的界限,但通常认为由调频所引起
的最大瞬时相位偏移远小于 30°时,
称为窄带调频。否则,称为宽带调频。
为方便起见,无妨假设正弦载波的振幅 A=1,则由式(2-1)调频信号的一般表
达式,得
(2-2)
S
FM
( )
t
cos[
t K
c
( )
m t d
]
t
F
( )
m d
=cos
c
t
cos[
K
F
t
]
sin
c
sin[
K
F
t
( )
m d
]
(2-3)
通过化解,利用傅立叶变化公式可得 NBFM 信号的频域表达式:
在 NBFM 中,由于下边频为负,因而合成矢量不与载波同相,而是存在相位偏移 ,
当最大相位偏移满足式(2-2)时,合成矢量的幅度基本不变,这样就形成了 FM 信号。
(2-4)
图 4
NBFM 信号频谱
3、PM 调制原理
在模拟调制中,一个连续波有三个参数可以用来携带信息而构成已调信号。当幅
度和频率保持不变时,改变载波的相位使之随未调信号的大小而改变,这就是调相的
概念。
角度调制信号的一般表示形式为:
S m (t)=Acos[ω C t+φ(t)]
式中,A 是载波的恒定振幅;[ω C t+φ(t)]是信号的瞬时相位,而φ(t)称为瞬
时相位偏移;d[ω C t+φ(t)]/dt 为信号的瞬时频率,而 dφ(t)/dt 称为瞬时频率偏
移,即相对于ω C 的瞬时频率偏移。
设高频载波为 u c =U cm cosω c t,调制信号为 UΩ(t),则调相信号的瞬时相位
φ(t)=ω ct +K p UΩ(t)
瞬时角频率 ω(t)=
(t)
dφ =ω c +K p
dt
duΩ
)t(
dt
调相信号
u PM =U cm cos[ω c t+K p uΩ(t)]
将信号的信息加在载波的相位上则形成调相信号,调相的表达式为:
S PM (t)=Acos[ω C t+K PM f(t)+φ 0 ]
这里 K PM 称为相移指数,这种调制方式,载波的幅度和角频率不变,而瞬时相位
偏移是调制信号 f(t)的线性函数,称为相位调制。
调相与调频有着相当密切的关系,我们知道相位与频率有如下关系式:
t
)(φ =ω C +K PM f(t)
d
dt
dtω ω C t+K PM
φ(t)=
ω=
)(f
t
dt
所以在调相时可以先将调制信号进行微分后在进行频率调制,这样等效于调相,
此方法称为间接调相,与此相对应,上述方法称为直接调相。调相信号的产生如图 5
所示:
图 5
PM 调相信号的产生
实现相位调制的基本原理是使角频率为ω c 的高频载波 u c (t)通过一个可控相移
网络, 此网络产生的相移Δφ受调制电压 uΩ(t)控制, 满足Δφ=K p uΩ(t)的关系,
所以网络输出就是调相信号,可控相移网络调相原理图如图 6 所示:
图 6 可控相移网络调相原理图
三、程序代码及解释
1、FM 调制程序
dt=0.001;
t=0:dt:1.5;
am=5;
fm=5;
mt=am*cos(2*pi*fm*t);
fc=50;
ct=cos(2*pi*fc*t);
kf=10;
int_mt(1)=0;
for i=1:length(t)-1
int_mt(i+1)=int_mt(i)+mt(i)*dt;
end
sfm=am*cos(2*pi*fc*t+2*pi*kf*int_mt);
%*****************************************
%*************添加高斯白噪声**************
sn1=10;
sn2=30;
sn=0;
db=am^2/(2*(10^(sn/10)));
n=sqrt(db)*randn(size(t));
nsfm=n+sfm;
号通过信道传输)
%*****************************************
%****************FM 解调*******************
for i=1:length(t)-1
%设定时间步长
%产生时间向量
%设定调制信号幅度
%设定调制信号频率
%生成调制信号
%设定载波频率
%生成载波
%设定调频指数
%求信号 m(t)的积分
%调制,产生已调信号
%调制信号
%设定信躁比(小信噪比)
%设定信躁比(大信噪比)
%设定信躁比(无信噪比)
%计算对应的高斯白躁声的方差
%生成高斯白躁声
%生成含高斯白躁声的已调信(信
%接受信号通过微分器处理
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
diff_nsfmn = abs(hilbert(diff_nsfm));
到瞬时幅度(包络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;
diff_nsfmn1=diff_nsfmn-zero;
%*****************************************
%**************时域到频域转换**************
ts=0.001;
fs=1/ts;
df=0.25;
%时,它表示 FFT 的最小频率间隔
%*****对调制信号 m(t)求傅里叶变换*****
m=am*cos(2*pi*fm*t);
fs=1/ts;
nargin=6;
if nargin==2
%原调信号
%hilbert 变换,求绝对值得
%抽样间隔
%抽样频率
%所需的频率分辨率,用在求傅里叶变
n1=0;
else
n1=fs/df;
end
n2=length(m);
n=2^(max(nextpow2(n1),nextpow2(n2)));
M=fft(m,n);
m=[m,zeros(1,n-n2)];
df1=fs/n;
傅里变换
M=M/fs;
f=[0:df1:df1*(length(m)-1)]-fs/2;
%************对已调信号 u 求傅里变换**********
fs=1/ts;
nargin=6;
if nargin==2
%以上程序是对调制后的信号 u 求
%缩放,便于在频铺图上整体观察
%时间向量对应的频率向量
n1=0;
else
n1=fs/df;
end
n2=length(sfm);
n=2^(max(nextpow2(n1),nextpow2(n2)));
U=fft(sfm,n);
u=[sfm,zeros(1,n-n2)];
df1=fs/n;
U=U/fs;
%******************************************
%以上是对已调信号 u 求傅里变换
%缩放
%绘制载波的时域图
%绘制已调信号的时域图
%fftshift:将 FFT 中的 DC 分
%绘制调制信号的时域图
%***************显示程序******************
disp('按任意键可以看到原调制信号、载波信号和已调信号的曲线')
pause
%**************figure(1)******************
figure(1)
subplot(3,1,1);plot(t,mt);
xlabel('时间 t');
title('调制信号的时域图');
subplot(3,1,2);plot(t,ct);
xlabel('时间 t');
title('载波的时域图');
subplot(3,1,3);
plot(t,sfm);
xlabel('时间 t');
title('已调信号的时域图');
%******************************************
disp('按任意键可以看到原调制信号和已调信号在频域内的图形')
pause
%************figure(2)*********************
figure(2)
subplot(2,1,1)
plot(f,abs(fftshift(M)))
量移到频谱中心
xlabel('频率 f')
title('原调制信号的频谱图')
subplot(2,1,2)
plot(f,abs(fftshift(U)))
xlabel('频率 f')
title('已调信号的频谱图')
%******************************************
disp('按任意键可以看到原调制信号、无噪声条件下已调信号和解调信号的曲线')
pause
%**************figure(3)******************
figure(3)
subplot(3,1,1);plot(t,mt);
xlabel('时间 t');
title('调制信号的时域图');
subplot(3,1,2);plot(t,sfm);
xlabel('时间 t');
title('无噪声条件下已调信号的时域图');
nsfm=sfm;
for i=1:length(t)-1
%接受信号通过微分器处理
%绘制调制信号的时域图
%绘制已调信号的时域图
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
%绘制调制信号的时域图
%生成高斯白躁声
%hilbert 变换,求绝对值得
%绘制无噪声条件下解调信号的时域图
diff_nsfmn = abs(hilbert(diff_nsfm));
到瞬时幅度(包络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;
diff_nsfmn1=diff_nsfmn-zero;
subplot(3,1,3);
plot((1:length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');
xlabel('时间 t');
title('无噪声条件下解调信号的时域图');
%*****************************************
disp('按任意键可以看到原调制信号、小信噪比高斯白噪声条件下已调信号和解调信
号已调信号的曲线')
pause
%**************figure(4)******************
figure(4)
subplot(3,1,1);plot(t,mt);
xlabel('时间 t');
title('调制信号的时域图');
db1=am^2/(2*(10^(sn1/10)));
n1=sqrt(db1)*randn(size(t));
nsfm1=n1+sfm;
过信道传输)
for i=1:length(t)-1
%生成含高斯白躁声的已调信号(信号通
%计算对应的小信噪比高斯白躁声的方差
%接受信号通过微分器处理
diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;
%hilbert 变换,求绝对值得到瞬时
%绘制含小信噪比高斯白噪声已调信
end
diff_nsfmn1 = abs(hilbert(diff_nsfm1));
幅度(包络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;
diff_nsfmn1=diff_nsfmn1-zero;
subplot(3,1,2);
plot(1:length(diff_nsfm),diff_nsfm);
号的时域图
xlabel('时间 t');
title('含小信噪比高斯白噪声已调信号的时域图');
subplot(3,1,3);
号的时域图
plot((1:length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');
xlabel('时间 t');
title('含小信噪比高斯白噪声解调信号的时域图');
%*****************************************
disp('按任意键可以看到原调制信号、大信噪比高斯白噪声条件下已调信号和解调信
号已调信号的曲线')
pause
%**************figure(5)******************
figure(5)
%绘制含小信噪比高斯白噪声解调信