您的当前位置:首页正文

FM调制解调系统设计仿真

2024-07-16 来源:赴品旅游



.页眉.

摘 要

FM在通信系统中的使用非常广泛。FM广泛应用于高保真音乐广播、电视伴音信号的传输、卫星通信和蜂窝电话系统等。

本设计主要是利用MATLAB集成环境下的M文件,编写程序来实现FM调制与解调过程,并分别绘制出基带信号,载波信号,已调信号的时域波形;再进一步分别绘制出对已调信号叠加噪声后信号,相

过上述信道和调制和解调系统后的误码率与信噪比的关系, 并通过与干解调后信号和解调基带信号的时域波形;最后绘出FM基带信号通

使用工具软件为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.5高斯白噪声信道特性...........................................8
2.6调频系统的抗噪声性能分析.............................11
三.仿真实现....................................................................12
3.1MATLAB源代码...............................................13
3.2仿真结果.............................................................17
四.心得体会....................................................................20
五.参考文献....................................................................20



.页脚.



.页眉.

引言

本课程设计用于实现DSB信号的调制解调过程。信号的调制与解调在通信

系统中具有重要的作用。调制过程是一个频谱搬移的过程,它是将低频信号的频

谱搬移到载频位置。解调是调制的逆过程,即是将已调制的信号还原成原始基带

信号的过程。信号的接收端就是通过解调来还原已调制信号从而读取发送端发送

的信息。因此信号的解调对系统的传输有效性和传输可靠性有着很大的影响。调

制与解调方式往往决定了一个通信系统的性能。双边带DSB信号的解调采用相

干解调法,这种方式被广泛应用在载波通信和短波无线电话通信中。

一.课程设计的目的与要求

1.1 课程设计的目的

通过《FM调制解调系统设计与防真》的课程设计,掌握通信原理中模拟信

号的调制和解调、数字基带信号的传输、数字信号的调制和解调,模拟信号的抽

样、量化和编码与信号的最佳接收等原理。应用原理设计FM调制解调系统,并

1.2 课程设计的要求对其进行防真。

调制系统,

设为高斯白噪声信道。模拟调制要求用程序画出调制信号,载波,已调信号、解

调信号的波形,数字调制要求画出误码率随信噪比的变化曲线。

二.FM调制解调系统设计

通信的目的是传输信息。通信系统的作用就是将信息从信息源发送到一个或

多个目的地。对于任何一个通信系统,均可视为由发送端、信道和接收端三大部

分组成(如图1 所示)。



接收端


发送端


信道

信息源

发送设备

信道

接受设备

信息源

噪声源





.页脚.

1通信系统一般模型



.页眉.

信息源(简称信源)的作用是把各种信息转换成原始信号。根据消息的种类不同信源分为模拟信源和数字信源。发送设备的作用产生适合传输的信号,即使发送信号的特性和信道特性相匹配,具有抗噪声的能力,并且具有足够的功率满足原距离传输的需求。

信息源和发送设备统称为发送端。

发送端将信息直接转换得到的较低频率的原始电信号称为基带信号。通常基带信号不宜直接在信道中传输。因此,在通信系统的发送端需将基带信号的频谱搬移(调制)到适合信道传输的频率范围内进行传输。这就是调制的过程。

具有将信号放大和反变换功能的接收端将已调制的信信号通过信道传输后,
号搬移(解调)到原来的频率范围,这就是解调的过程。

信号在信道中传输的过程总会受到噪声的干扰,通信系统中没有传输信号时也有噪声,噪声永远存在于通信系统中。由于这样的噪声是叠加在信号上的,所以有时将其称为加性噪声。噪声对于信号的传输是有害的,它能使模拟信号失真。在本仿真的过程中我们假设信道为高斯白噪声信道。

调制在通信系统中具有十分重要的作用。一方面,通过调制可以把基带信号的频谱搬移到所希望的位置上去,从而将调制信号转换成适合于信道传输或便于 通过调制可以提高信号通过信道传输时的信道多路复用的已调信号。另一方面,
抗干扰能力,同时,它还和传输效率有关。具体地讲,不同的调制方式产生的已调信号的带宽不同,因此调制影响传输带宽的利用率。可见,调制方式往往决定一个通信系统的性能。在本仿真的过程中我们选择用调频调制方法进行调制。

而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。在本仿真的过程中我们选择用非相干解调方法进行解调。 调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。

2 FM调制模型

其中,

m t ( )

为基带调制信号,设调制信号为

)

m t ( )

A

cos(2f t

设正弦载波为

ct ()cos(2ft )

信号传输信道为高斯白噪声信道,其功率为


.页脚.



.页眉.

2.2 调制过程分析

在调制时,调制信号的频率去控制载波的频率的变化,载波的瞬时频偏随调

制信号

m t ( )

成正比例变化,即

K m t ( )

d( )

式中,

dt


K

f为调频灵敏度(

rad s V

)

)。

这时相位偏移为

( )

K

f

m

( )d

则可得到调频信号为

s FM

( )

A

cos

t

K m

( )

调制信号产生的M文件:
dt=0.001;%设定时间步长

am=15; fm=15; %设定调制信号频率←可更改 %设定调制信号幅度←可更改t=0:dt:1.5;

fc=50;

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);

.页脚.

%调制,产生已调信号





.页眉.

信信信信信信信信

10

0

-10

0

0.5

1

1.5

信信t

信信信信信信

1
0
-1

0

0.5

1

1.5

信信t

信信信信信信信信

10

0

-10

0

0.5

1

1.5

信信t



NBFM信号和WBFM信号均适用,因此是FM系统的主要解调方式。在本仿

真的过程中我们选择用非相干解调方法进行解调。

4 FM解调模型

非相干解调器由限幅器、鉴频器和低通滤波器等组成,其方框图如图5所示。

限幅器输入为已调频信号和噪声,限幅器是为了消除接收信号在幅度上可能出现

的畸变;带通滤波器的作用是用来限制带外噪声,使调频信号顺利通过。鉴频器

中的微分器把调频信号变成调幅调频波,然后由包络检波器检出包络,最后通过

低通滤波器取出调制信号。


.页脚.



.页眉.

2.4 解调过程分析

设输入调频信号为

S t ( )

S FM

( )

A

cos(t

t


m

( ) d)

微分器的作用是把调频信号变成调幅调频波。微分器输出为

S t ( )

dS t ( )

dS FM

( )








dt


dt


K

f

t


m

( ) d)



K m t ( ) sin(t

包络检波的作用是从输出信号的幅度变化中检出调制信号。包络检波器输出

St ()KdKm t ()KdKK m t ()

Kd称为鉴频灵敏度(VHz),是已调信号单位频偏对应的调制信号的幅度,

m t经低通滤波器后加隔直流电容,隔除无用的直流,得


end

diff_nsfmn = abs(hilbert(diff_nsfm));

%hilbert变换,求绝对值得到瞬时幅度 (包络检波)

通过M 文件绘制出两种不同信噪比解调的输出波形如下:



.页脚.



.页眉.

下下下下下下下下

5

0

-5

0

0.5

1

1.5

下下t

下下下下下下下下下下下下下下

5
0
-5

0

0.5

1

1.5

下下t

下下下下下下下下下下下下下下

5

0

-5

0

0.5

1

1.5

下下t


r t ( )

A

cos(t

)

n t ( )

randn

函数产生的

其中,白噪声

n t ( )

的取值的概率分布服从高斯分布。

MATLAB 本身自带了标准高斯分布的内部函数

randn

随机序列服从均值为

m

0

,方差2

1

的高斯分布。

正弦波通过加性高斯白噪声信道后的信号为

r t ( )

A

cos(t

)

n t ( )

故其有用信号功率为


S

A

2


噪声功率为

2


N

2


.页脚.



.页眉.

信噪比

S N

满足公式

B

10log (

SN

)

则可得到公式

2

A

2





B



2 10

10

我们可以通过这个公式方便的设置高斯白噪声的方差。

在本仿真过程中,我们选择了10db30db两种不同信噪比以示区别,其时域图如图7和图8

下下下下下下下下

5

0

-5

0

0.5

1

1.5

下下t
下下下下下下下下下下下下下下

05


0

-5

0

0.5

1

1.5

下下t

6 无噪声条件下已调信号的时域图



.页脚.



.页眉.

信信信信信信信信

5

0

-5

0

0.5

1

1.5

信信t

信信信信信信信信信信信信信信信信信信

5000
0
-5000

0

500

1000

1500

信信t

信信信信信信信信信信信信信信信信信信

20

-200

0 0.5 1 1.5

信信t

57 含小信噪比高斯白噪声已调信号的时域图

0 0.5 1 1.5

信信t

信信信信信信信信信信信信信信信信信信

5000
0
-5000

0

500

1000

1500

信信t

信信信信信信信信信信信信信信信信信信

5

0

-5

0

0.5

1

1.5

信信t

8 含大信噪比高斯白噪声已调信号的时域图


.页脚.



.页眉.

2.6 调频系统的抗噪声性能分析

从前面的分析可知,调频信号的解调有相干解调和非相干解调两种。相干解

调仅适用于窄带调频信号,且需同步信号;而非相干解调适用于窄带和宽带调频

信号,而且不需同步信号,因而是FM系统的主要解调方式,所以这里仅仅讨论

非相干解调系统的抗噪声性能,其分析模型如图9所示。

9 调频系统抗噪声性能分析模型

图中带通滤波器的作用是抑制信号带宽以外的噪声。nt ()是均值为零,单边

功率谱密度为n0的高斯白噪声,经过带通滤波器后变为窄带高斯噪声nt () 。限

设调频信号为 幅器是为了消除接收信号在幅度上可能出现的畸变。


A

S

2

输入噪声功率为

N

i

n B FM

因此输入信噪比为

S i


A 2

N

i


2

B FM

在大信噪比条件下,信号和噪声的相互作用可以忽略,这时可以把信号和噪

声分开来算,这里,我们可以得到解调器的输出信噪比



S o

3

A K m t 2 2

f 2 ( )



上式中,

A

N

o

82

n f o m 3

f m

为调制信号m t ( )的最

为载波的振幅,

K f

为调频器灵敏度,

.页脚.



.页眉.

高频率,

n o

为噪声单边功率谱密度。

我们如若考虑

m t ( )

为单一频率余弦波时的情况,可得到解调器的制度增益为

G FM

S N

o

3

m

2

A 2

2

S i

N

i

2

f

n f o m

考虑在宽带调频时,信号带宽为

B FM

2(

m f

1)

f

m

2(



f m

)

则可以得到

G FM

3 m

2

(

m f

1)

f

可以看出,大信噪比时宽带调频系统的信噪比增益是很高的,它与调频指数

的立方成正比。可见,加大调频指数

m f

,可使调频系统的抗噪声性能迅速改善。

三.仿真实现



添加高斯白噪声程序

FM解调程序

绘制频谱图程序

显示程序

10 程序流程图


.页脚.



.页眉.

3.1 MATLAB源代码

%FM调制解调系统.m
%频率调制与解调的Matlab演示源程序
%可以任意改原调制信号函数m(t)
%信息工程陈丽丹07323202
%·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*·
%*****************初始化******************
echo off
close all
clear all
clc
%*****************************************
%·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*·
%****************FM调制*******************
dt=0.001;%设定时间步长t=0:dt:1.5;
%产生时间向量am=5; %设定调制信号幅度fm=5; %设定调制信号频率

fc=50; ct=cos(2*pi*fc*t); %生成载波
mt=am*cos(2*pi*fm*t);

int_mt(1)=0; kf=10;

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 %接受信号通过微分器处理

end diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;

.页脚.



.页眉.

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;
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;

%************对已调信号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))) xlabel('频率f') title('原调制信号的频谱图') %fftshift:FFT中的DC分量移到频谱中心

xlabel('频率f') title('已调信号的频谱图') subplot(2,1,2)

%******************************************
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('按任意键可以看到原调制信号、小信噪比高斯白噪声条件下已调信号和解调信号已调信号的曲线')
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;

subplot(3,1,2);

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 仿真结果



.页脚.



.页眉.





.页脚.



.页眉.





.页脚.



.页眉.

四.心得体会

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次通信原理课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……通过

利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,同学的帮助
这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺

五.参考文献

[1]《通信原理(第六版)》樊昌信等。 北京:国防工业出版社。

[2]MATLAB7.0在数字信号处理中的应用》罗军辉等。北京:机械工业出版社。

[3]MATLAB程序设计教程》刘卫国等。 北京:中国水利水电出版社。



.页脚.

显示全文