FM调制解调系统设计与仿真
郑州航空工业管理学院
《电子信息系统仿真》课程设计
09 级 电子信息工程 专业 083 班级
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目 FM调制解调系统设计与仿真
姓 名 杜怀超 学号 091308305
指导教师 王 丹 王娜
二О一 一 年 12 月 6 日
内 容 摘 要
频率调制(FM)在常应用通信系统中。FM广泛应用于电视信号的传输、卫星和电话系统等。
FM调制解调系统设计主要是通过对模拟通信系统主要原理和技术进行研究,理解FM调制原理和FM系统调制解调的基本过程,学会建立FM调制模型并利用集成环境下的M文件,对FM调制解调系统进行设计和仿真,并分别绘制出基带信号,载波信号,已调信号的时域波形;再进一步分别绘制出对已调信号叠加噪声后信号,相干解调后信号和解调基带信号的时域波形;最后绘出FM基带信号通过上述信道和调制和解调系统后的误码率与信噪比的关系,并通过与理论结果波形对比来
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
该仿真调制与解调系统的正确性及噪声对信号解调的影响。在课程设计中,系统开发平台为Windows XP,使用工具软件为 7.0。在该平台运行程序完成了对FM调制和解调以及对叠加噪声后解调结果的观察。通过该课程设计,达到了实现FM信号通过噪声信道,调制和解调系统的仿真目的。从而了解FM调制解调系统的优点和缺点,有利于以后设计应用。
关 键 词
FM;调制;解调;MATLAB仿真;信噪比
- 1 -
一、MATLAB软件简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和mathematica、maple并称为三大数学软件。它以矩阵为基本数据单位,在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
二、理论分析
2.1 一般通信系统
通信的目的是传输信息。一般通信系统的作用就是将信息从信息源发送到一个或多个目的地。对于任何一个通信系统,均可视为由发
- 2 -
送端、信道和接收端三大部分组成(如图1所示)。
发送端 接收端 信道
信息源 发送设备 信 道 接受设备 信息源
噪声源
图1 通信系统一般模型
2.2 FM调制原理
调制在通信系统中具有十分重要的作用。一方面,通过调制可以把基带信号的频谱搬移到所希望的位置上去,从而将调制信号转换成适合于信道传输或便于信道多路复用的已调信号。另一方面,通过调制可以提高信号通过信道传输时的抗干扰能力,同时,它还和传输效率有关。具体地讲,不同的调制方式产生的已调信号的带宽不同,因此调制影响传输带宽的利用率。可见,调制方式往往决定一个通信系统的性能。在本仿真的过程中我们选择用调频调制方法进行调制。 调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。在本仿真的过程中我们选择用非相干解调方法进行解调。
而频率(FM)调制的名称源于m(t)与已调信号的频率呈线性关系。FM调制就是将调制信号的变化映射到已调信号的频率大小。 设调制信号为m(t),调频信号的数学表达式为
- 3 -
s(t),Acos[2,ft,2k,m(t)dt]FMccFM, 例如:m(t)的时域波形为
m(t)
1
0 0.5 1 t
-1
FM调频波如下:
FM信号 2.3 FM调制模型的建立
图2 FM调制模型
mt()其中,为基带调制信号,设调制信号为
mtAft()cos(2),,m
设正弦载波为
- 4 -
ctft()cos(2),,c
可得到已调调频信号为
s(t),Acos[2,ft,2,km(t)dtFMccFM ,
2, 假设信号传输信道为高斯白噪声信道,其功率为。
2.2 调制过程分析
在调制时,调制信号的频率去控制载波的频率的变化,载波的瞬
mt()时频偏随调制信号成正比例变化,即
dt,(),f Kmt()
dt
rad()sV,Kf式中,为调频灵敏度()。
这时相位偏移为
,,,()()tKmd,f ,
则可得到调频信号为
,,stAtKmdFMcf()cos(),,,,, ,,,
调制信号产生的M文件:
dt=0.001; %设定时间步长 t=0:dt:1.5; %产生时间向量 am=15; %设定调制信号幅度?可更改
- 5 -
fm=15; %设定调制信号频率?可更改 mt=am*cos(2*pi*fm*t); %生成调制信号
fc=50; %设定载波频率?可更改 ct=cos(2*pi*fc*t); %生成载波
kf=10; %设定调频指数 int_mt(1)=0; %对mt进行积分
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); %调制,产生已调信号
调制信号的时域图
10
0
-1000.511.5
时间t
载波的时域图
1
0
-100.511.5
时间t
已调信号的时域图
10
0
-1000.511.5
时间t
图3 FM调制
2.3 FM解调模型的建立
调制信号的解调分为相干解调和非相干解调两种。相干解调仅仅适用于窄带调频信号,且需同步信号,故应用范围受限;而非相干解调不需同步信号,且对于NBFM信号和WBFM信号均适用,因此是FM系统的主要解调方式。在本仿真的过程中我们选择用非相干解调方法
- 6 -
进行解调。
图4 FM解调模型
非相干解调器由限幅器、鉴频器和低通滤波器等组成,其方框图如图5所示。限幅器输入为已调频信号和噪声,限幅器是为了消除接收信号在幅度上可能出现的畸变;带通滤波器的作用是用来限制带外噪声,使调频信号顺利通过。鉴频器中的微分器把调频信号变成调幅调频波,然后由包络检波器检出包络,最后通过低通滤波器取出调制信号。
2.4 解调过程分析
设输入调频信号为
t
tFMcfStStAtKmd()()cos(()),,,,,, ,,,
微分器的作用是把调频信号变成调幅调频波。微分器输出为
dStdStiFM()()
dSt(),,
dtdt
t
cfcf,,,,,,,,KmttKmd()sin(()),,,,,
包络检波的作用是从输出信号的幅度变化中检出调制信号。包络
- 7 -
检波器输出为
StKKmtKKKmtodcfdcdf()()(),,,,,,,,
VKdHz称为鉴频灵敏度(),是已调信号单位频偏对应的调制信号的幅度,经低通滤波器后加隔直流电容,隔除无用的直流,得
mtKKmtodf()(),
微分器通过程序实现,代码如下:
for i=1:length(t)-1 %接受信号通过微分器处理
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
diff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时幅度
(包络检波)
通过M文件绘制出两种不同信噪比解调的输出波形如下:
调制信号的时域图
5
0
-500.511.5
时间t
无噪声条件下已调信号的时域图
5
0
-500.511.5
时间t
无噪声条件下解调信号的时域图
5
0
-500.511.5
时间t
图5 FM解调
- 8 -
2.5 高斯白噪声信道特性
设正弦波通过加性高斯白噪声信道后的信号为
rtAtnt()cos()(),,,,,c
nt()其中,白噪声的取值的概率分布服从高斯分布。
randnrandnMATLAB本身自带了
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
高斯分布的内部函数。函数产
2m,0,,1生的随机序列服从均值为,方差的高斯分布。
正弦波通过加性高斯白噪声信道后的信号为
rtAtnt()cos()(),,,,,c
故其有用信号功率为
2A
S, 2
噪声功率为
2N,,
SN信噪比满足公式
SB,10log()10 N
则可得到公式
2A2,,B
21010,
我们可以通过这个公式方便的设置高斯白噪声的方差。 在本仿真过程中,我们选择了10db和30db两种不同信噪比以示
- 9 -
区别,其时域图如图7和图8。
调制信号的时域图
5
0
-500.511.5
时间t
无噪声条件下已调信号的时域图
5
0
-500.511.5
时间t
无噪声条件下解调信号的时域图
5
0
-500.511.5
时间t
图6 无噪声条件下已调信号的时域图
调制信号的时域图
5
0
-500.511.5
时间t
含小信噪比高斯白噪声已调信号的时域图
5000
0
-5000050010001500
时间t
含小信噪比高斯白噪声解调信号的时域图
20
0
-2000.511.5
时间t
- 10 -
图7 含小信噪比高斯白噪声已调信号的时域图
调制信号的时域图
5
0
-500.511.5
时间t
含大信噪比高斯白噪声已调信号的时域图
5000
0
-5000050010001500
时间t
含大信噪比高斯白噪声解调信号的时域图
5
0
-500.511.5
时间t
图8 含大信噪比高斯白噪声已调信号的时域图
2.6 调频系统的抗噪声性能分析
从前面的分析可知,调频信号的解调有相干解调和非相干解调两种。相干解调仅适用于窄带调频信号,且需同步信号;而非相干解调适用于窄带和宽带调频信号,而且不需同步信号,因而是FM系统的主要解调方式,所以这里仅仅讨论非相干解调系统的抗噪声性能,其分析模型如图9所示。
- 11 -
图9 调频系统抗噪声性能分析模型
nt()图中带通滤波器的作用是抑制信号带宽以外的噪声。是均值
n0为零,单边功率谱密度为的高斯白噪声,经过带通滤波器后变为窄
nti()带高斯噪声 。限幅器是为了消除接收信号在幅度上可能出现的
畸变。
设调频信号为
t
FMcfStAtKmd()cos(()),,,,, ,,,
故其输入功率为
2Ai S,2
输入噪声功率为
NnBioFM,
因此输入信噪比为
2SAi, iFM2NB
在大信噪比条件下,信号和噪声的相互作用可以忽略,这时可以
把信号和噪声分开来算,这里,我们可以得到解调器的输出信噪比
2223()AKmtoSf, 23,ooNnf8m
- 12 -
fmmt()KfA上式中,为载波的振幅,为调频器灵敏度,为调制信号
no的最高频率,为噪声单边功率谱密度。
mt()为单一频率余弦波时的情况,可得到解调器的我们如若考虑
制度
关于办公室下班关闭电源制度矿山事故隐患举报和奖励制度制度下载人事管理制度doc盘点制度下载
增益为
2ASo232NoGm,,FMfSi2nfom
Ni
考虑在宽带调频时,信号带宽为
,(2,,1)B BFMFM
则可以得到
222,3,(t)/m(t) FMGmFMmax
可以看出,大信噪比时宽带调频系统的信噪比增益是很高的,它
,FM与调频指数的立方成正比。可见,加大调频指数,可使调频系统
,FM的抗噪声性能迅速改善。但加大调频指数,又会增大信号占用带BFM宽,所以说FM调制的大信噪比是用带宽来换取的。
各种调制解调方式的传输增益和所占带宽各有不同,我们可根据实际情况选用比较合适的调制解调方式,下表列出了几种方式的各项指标(表2.1 ):
- 13 -
调制 传输带宽 实现的难易 SS方式 G(,)/() SYSObasebandNN
2线 AM 2B 最简单 ()tm,,性 AM2(1,t) 调 m
制 DSB-SC 2B 1 复杂
SSB B 1 最复杂
VSB 1 中等 ,B
非 线 FM 222(2,,1)B 3,(t)/m(t)FMFMmmax性 简单 调
制 222(2,,1)B,(t)/m(t)FMFMmmaxPM 复杂
表2.1 模拟调制系统的带宽与噪声性能
- 14 -
三(仿真实现
初始化程序
FM调制程序
添加高斯白噪声程序
FM解调程序
绘制频谱图程序
显示程序
图10 程序流程图
3.1 MATLAB源代码
%FM调制解调系统.m
%频率调制与解调的Matlab演示源程序
%可以任意改原调制信号函数m(t)
%电子信息工程 杜怀超 091308305
%?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*? %*****************初始化****************** echo off
close all
clear all
clc
%*****************************************
%?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*? %****************FM调制******************* dt=0.001; %设定时间步长 t=0:dt:1.5; %产生时间向量
- 15 -
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; %求信号m(t)的积分 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 %接受信号通过微分器处理
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
diff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
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); %原调信号
- 16 -
fs=1/ts;
if nargin==2
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; %以上程序是对调制后的信号u求傅里变换
M=M/fs; %缩放,便于在频铺图上整体观察
f=[0:df1:df1*(length(m)-1)]-fs/2; %时间向量对应的频率向量
%************对已调信号u求傅里变换********** fs=1/ts;
if nargin==2
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=U/fs; %缩放
%******************************************
%*****************************************
%?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*? %***************显示程序****************** 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('载波的时域图');
- 17 -
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))) %fftshift:将FFT中的DC分量移到频谱中心
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
diff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
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('按任意键可以看到原调制信号、小信噪比高斯白噪声条件下已调信号和解
- 18 -
调信号已调信号的曲线')
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;
end
diff_nsfmn1 = abs(hilbert(diff_nsfm1)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
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)
subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图 xlabel('时间t');
title('调制信号的时域图');
db1=am^2/(2*(10^(sn2/10))); %计算对应的大信噪比高斯白躁声的方差
n1=sqrt(db1)*randn(size(t)); %生成高斯白躁声 nsfm1=n1+sfm; %生成含高斯白躁声的已调信号(信号通过信道传输)
- 19 -
for i=1:length(t)-1 %接受信号通过微分器处理
diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt; end
diff_nsfmn1 = abs(hilbert(diff_nsfm1)); %hilbert变换,求绝对值得到瞬时幅度(包
%络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2; diff_nsfmn1=diff_nsfmn1-zero;
subplot(3,1,2);
plot(1:length(diff_nsfm1),diff_nsfm1); %绘制含大信噪比高斯白噪声已调信号
%的时域图
xlabel('时间t');
title('含大信噪比高斯白噪声已调信号的时域图');
subplot(3,1,3); %绘制含大信噪比高斯白噪声解调信号
%的时域图
plot((1:length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');
xlabel('时间t'); title('含大信噪比高斯白噪声解调信号的时域图');
%***************************************** %******************结 束*******************
- 20 -
3.2 仿真结果
- 21 -
- 22 -
- 23 -
四(心得与体会
课程设计是培养学生综合运用所学知识,分析和解决实际问题,
回想起此次MATLAB课程设计,从理论到锻炼实践能力的重要环节。
实践,翻阅了许多书籍和资料,体会到了MATLAB在实际应用中的强大功能,在短短五天时间里,设计,修改,仿真,再修改,有时需要熬夜到很晚,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解和掌握得不够深刻牢固……通过这次课程设计之后,学会了用软件帮助我们学习通信原理和数字信号处理。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在我们的努力和同学的帮助下终于迎刃而解,并使我们爱上了MATLAB 。
五(参考文献
[1]《通信原理》 李晓峰等。 北京:清华大学出版社。
- 24 -
[2]《7.0在数字信号处理中的应用》 罗军辉等。北京:机械工业出版社。
[3]《MATLAB程序设计教程》 刘卫国等。 北京:中国水利水电出版社。
[4]《MATLAB编程(第4版)》 Stephen J.Chapman 著。北京:科学出版社。
[5]《精通 MATLAB最优化计算》 龚纯 王正林等。 电子工业出版社。
- 25 -
指导教师评语:
课程设计成绩: 指导教师签名:
年 月 日
- 26 -