FM调制解调系统设计与仿真.docx
《FM调制解调系统设计与仿真.docx》由会员分享,可在线阅读,更多相关《FM调制解调系统设计与仿真.docx(22页珍藏版)》请在冰豆网上搜索。
![FM调制解调系统设计与仿真.docx](https://file1.bdocx.com/fileroot1/2022-12/16/26097fb0-a726-4ea3-84a8-cd1547a4a3bd/26097fb0-a726-4ea3-84a8-cd1547a4a3bd1.gif)
FM调制解调系统设计与仿真
摘要
FM在通信系统中的使用非常广泛。
FM广泛应用于高保真音乐广播、电视伴音信号的传输、卫星通信和蜂窝电话系统等。
本设计主要是利用MATLAB集成环境下的M文件,编写程序来实现FM调制与解调过程,并分别绘制出基带信号,载波信号,已调信号的时域波形;再进一步分别绘制出对已调信号叠加噪声后信号,相干解调后信号和解调基带信号的时域波形;最后绘出FM基带信号通过上述信道和调制和解调系统后的误码率与信噪比的关系,并通过与理论结果波形对比来分析该仿真调制与解调系统的正确性及噪声对信号解调的影响。
在课程设计中,系统开发平台为WindowsVista,使用工具软件为MATLAB7.0。
在该平台运行程序完成了对FM调制和解调以及对叠加噪声后解调结果的观察。
通过该课程设计,达到了实现FM信号通过噪声信道,调制和解调系统的仿真目的。
关键词FM;调制;解调;MATLAB7.0;噪声
目录
引言3
一.课程设计的目的与要求3
1.1课程设计的目的3
1.2课程设计的要求3
二.FM调制解调系统设计3
2.1FM调制模型的建立4
2.2调制过程分析5
2.3FM解调模型的建立6
2.4解调过程分析7
2.5高斯白噪声信道特性8
2.6调频系统的抗噪声性能分析11
三.仿真实现12
3.1MATLAB源代码13
3.2仿真结果17
四.心得体会20
五.参考文献20
引言
本课程设计用于实现DSB信号的调制解调过程。
信号的调制与解调在通信系统中具有重要的作用。
调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。
解调是调制的逆过程,即是将已调制的信号还原成原始基带信号的过程。
信号的接收端就是通过解调来还原已调制信号从而读取发送端发送的信息。
因此信号的解调对系统的传输有效性和传输可靠性有着很大的影响。
调制与解调方式往往决定了一个通信系统的性能。
双边带DSB信号的解调采用相干解调法,这种方式被广泛应用在载波通信和短波无线电话通信中。
一.课程设计的目的与要求
1.1课程设计的目的
通过《FM调制解调系统设计与防真》的课程设计,掌握通信原理中模拟信号的调制和解调、数字基带信号的传输、数字信号的调制和解调,模拟信号的抽样、量化和编码与信号的最佳接收等原理。
应用原理设计FM调制解调系统,并对其进行防真。
1.2课程设计的要求
要求能够熟练应用MATLAB语言编写基本的通信系统的应用程序,进行模拟调制系统,数字基带信号的传输系统的建模、设计与仿真。
所有的仿真用MATLAB程序实现(即只能用代码的形式,不能用SIMULINK实现),系统经过的信道都假设为高斯白噪声信道。
模拟调制要求用程序画出调制信号,载波,已调信号、解调信号的波形,数字调制要求画出误码率随信噪比的变化曲线。
二.FM调制解调系统设计
通信的目的是传输信息。
通信系统的作用就是将信息从信息源发送到一个或多个目的地。
对于任何一个通信系统,均可视为由发送端、信道和接收端三大部分组成(如图1所示)。
图1通信系统一般模型
信息源(简称信源)的作用是把各种信息转换成原始信号。
根据消息的种类不同信源分为模拟信源和数字信源。
发送设备的作用产生适合传输的信号,即使发送信号的特性和信道特性相匹配,具有抗噪声的能力,并且具有足够的功率满足原距离传输的需求。
信息源和发送设备统称为发送端。
发送端将信息直接转换得到的较低频率的原始电信号称为基带信号。
通常基带信号不宜直接在信道中传输。
因此,在通信系统的发送端需将基带信号的频谱搬移(调制)到适合信道传输的频率范围内进行传输。
这就是调制的过程。
信号通过信道传输后,具有将信号放大和反变换功能的接收端将已调制的信号搬移(解调)到原来的频率范围,这就是解调的过程。
信号在信道中传输的过程总会受到噪声的干扰,通信系统中没有传输信号时也有噪声,噪声永远存在于通信系统中。
由于这样的噪声是叠加在信号上的,所以有时将其称为加性噪声。
噪声对于信号的传输是有害的,它能使模拟信号失真。
在本仿真的过程中我们假设信道为高斯白噪声信道。
调制在通信系统中具有十分重要的作用。
一方面,通过调制可以把基带信号的频谱搬移到所希望的位置上去,从而将调制信号转换成适合于信道传输或便于信道多路复用的已调信号。
另一方面,通过调制可以提高信号通过信道传输时的抗干扰能力,同时,它还和传输效率有关。
具体地讲,不同的调制方式产生的已调信号的带宽不同,因此调制影响传输带宽的利用率。
可见,调制方式往往决定一个通信系统的性能。
在本仿真的过程中我们选择用调频调制方法进行调制。
调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。
而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。
在本仿真的过程中我们选择用非相干解调方法进行解调。
2.1FM调制模型的建立
图2FM调制模型
其中,
为基带调制信号,设调制信号为
设正弦载波为
信号传输信道为高斯白噪声信道,其功率为
。
2.2调制过程分析
在调制时,调制信号的频率去控制载波的频率的变化,载波的瞬时频偏随调制信号
成正比例变化,即
式中,
为调频灵敏度(
)。
这时相位偏移为
则可得到调频信号为
调制信号产生的M文件:
dt=0.001;%设定时间步长
t=0:
dt:
1.5;%产生时间向量
am=15;%设定调制信号幅度←可更改
fm=15;%设定调制信号频率←可更改
mt=am*cos(2*pi*fm*t);%生成调制信号
fc=50;%设定载波频率←可更改
ct=cos(2*pi*fc*t);%生成载波
kf=10;%设定调频指数
int_mt
(1)=0;%对mt进行积分
fori=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);%调制,产生已调信号
图3FM调制
2.3FM解调模型的建立
调制信号的解调分为相干解调和非相干解调两种。
相干解调仅仅适用于窄带调频信号,且需同步信号,故应用范围受限;而非相干解调不需同步信号,且对于NBFM信号和WBFM信号均适用,因此是FM系统的主要解调方式。
在本仿真的过程中我们选择用非相干解调方法进行解调。
图4FM解调模型
非相干解调器由限幅器、鉴频器和低通滤波器等组成,其方框图如图5所示。
限幅器输入为已调频信号和噪声,限幅器是为了消除接收信号在幅度上可能出现的畸变;带通滤波器的作用是用来限制带外噪声,使调频信号顺利通过。
鉴频器中的微分器把调频信号变成调幅调频波,然后由包络检波器检出包络,最后通过低通滤波器取出调制信号。
2.4解调过程分析
设输入调频信号为
微分器的作用是把调频信号变成调幅调频波。
微分器输出为
包络检波的作用是从输出信号的幅度变化中检出调制信号。
包络检波器输出为
称为鉴频灵敏度(
),是已调信号单位频偏对应的调制信号的幅度,经低通滤波器后加隔直流电容,隔除无用的直流,得
微分器通过程序实现,代码如下:
fori=1:
length(t)-1%接受信号通过微分器处理
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
diff_nsfmn=abs(hilbert(diff_nsfm));%hilbert变换,求绝对值得到瞬时幅度(包络检波)
通过M文件绘制出两种不同信噪比解调的输出波形如下:
图5FM解调
2.5高斯白噪声信道特性
设正弦波通过加性高斯白噪声信道后的信号为
其中,白噪声
的取值的概率分布服从高斯分布。
MATLAB本身自带了标准高斯分布的内部函数
。
函数产生的随机序列服从均值为
,方差
的高斯分布。
正弦波通过加性高斯白噪声信道后的信号为
故其有用信号功率为
噪声功率为
信噪比
满足公式
则可得到公式
我们可以通过这个公式方便的设置高斯白噪声的方差。
在本仿真过程中,我们选择了10db和30db两种不同信噪比以示区别,其时域图如图7和图8。
图6无噪声条件下已调信号的时域图
图7含小信噪比高斯白噪声已调信号的时域图
图8含大信噪比高斯白噪声已调信号的时域图
2.6调频系统的抗噪声性能分析
从前面的分析可知,调频信号的解调有相干解调和非相干解调两种。
相干解调仅适用于窄带调频信号,且需同步信号;而非相干解调适用于窄带和宽带调频信号,而且不需同步信号,因而是FM系统的主要解调方式,所以这里仅仅讨论非相干解调系统的抗噪声性能,其分析模型如图9所示。
图9调频系统抗噪声性能分析模型
图中带通滤波器的作用是抑制信号带宽以外的噪声。
是均值为零,单边功率谱密度为
的高斯白噪声,经过带通滤波器后变为窄带高斯噪声
。
限幅器是为了消除接收信号在幅度上可能出现的畸变。
设调频信号为
故其输入功率为
输入噪声功率为
因此输入信噪比为
在大信噪比条件下,信号和噪声的相互作用可以忽略,这时可以把信号和噪声分开来算,这里,我们可以得到解调器的输出信噪比
上式中,
为载波的振幅,
为调频器灵敏度,
为调制信号
的最高频率,
为噪声单边功率谱密度。
我们如若考虑
为单一频率余弦波时的情况,可得到解调器的制度增益为
考虑在宽带调频时,信号带宽为
则可以得到
可以看出,大信噪比时宽带调频系统的信噪比增益是很高的,它与调频指数的立方成正比。
可见,加大调频指数
,可使调频系统的抗噪声性能迅速改善。
三.仿真实现
图10程序流程图
3.1MATLAB源代码
%FM调制解调系统.m
%频率调制与解调的Matlab演示源程序
%可以任意改原调制信号函数m(t)
%信息工程陈丽丹07323202
%·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*·
%*****************初始化******************
echooff
closeall
clearall
clc
%*****************************************
%·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*·
%****************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;
fori=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解调*******************
fori=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);%原调信号
fs=1/ts;
ifnargin==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;
ifnargin==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('载波的时域图');
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;
fori=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('按任意键可以看到原调制信号、小信噪比高斯白噪声条件下已调信号和解调信号已调信号的曲线')
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;%生成含高斯白躁声的已调信号(信号通
%过信道传输)
fori=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;%生成含高斯白躁声的已调信号(信号通过信道传输)
fori=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('含大信噪比高斯白噪声解调信号的时域图');
%*****************************************
%******************结束*******************
3.2仿真结果
四.心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次通信原理课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,同学的帮助下终于迎刃而解。
在次我表示感谢!
五.参考文献