通信系统建模与仿真

更新时间:2023-07-22 12:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

郑州航院

《电子信息系统仿真》课程设计

专业

题 目 FM调制解调系统设计与仿真 姓 名 指导教师 胡 娟

二О一 年 月 日

郑州航院

内 容 摘 要

频率调制(FM)通常应用通信系统中。FM广泛应用于高保真音乐广播、电视伴音信号的传输、卫星通信和蜂窝电话系统等。

FM调制解调系统设计是对模拟通信系统主要原理和技术进行研究,理解FM系统调制解调的基本过程和相关知识,利用MATLAB集成环境下的M文件,编写程序来实现FM调制与解调过程,并分别绘制出基带信号,载波信号,已调信号的时域波形;再进一步分别绘制出对已调信号叠加噪声后信号,非相干解调后信号和解调基带信号的时域波形;最后绘出FM基带信号通过上述信道和调制和解调系统后的误码率与信噪比的关系,并通过与理论结果波形对比来分析该仿真调制与解调系统的正确性及噪声对信号解调的影响。在课程设计中,系统开发平台为Windows XP,使用工具软件为 7.0。在该平台运行程序完成了对FM调制和解调以及对叠加噪声后解调结果的观察。通过该课程设计,达到了实现FM信号通过噪声信道,调制和解调系统的仿真目的。了解FM调制解调系统的优点和缺点,对以后实际需要有很好的理论基础。

关 键 词

FM;解调;调制;MATLAB仿真;抗噪性

郑州航院

一、 MATLAB软件简介

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。其特点是:

(1) 可扩展性:Matlab最重要的特点是易于扩展,它允许用户自行建立指定功能的M文件。对于一个从事特定领域的工程师来说,不仅可利用Matlab所提供的函数及基本工具箱函数,还可方便地构造出专用的函数。从而大大扩展了其应用范围。当前支持Matlab的商用Toolbox(工具箱)有数百种之多。而由个人开发的Toolbox则不可计数。

(2) 易学易用性:Matlab不需要用户有高深的数学知识和程序设计能力,不需要用户深刻了解算法及编程技巧。

(3) 高效性:Matlab语句功能十分强大,一条语句可完成十分复杂的任务。如fft语句可完成对指定数据的快速傅里叶变换,这相当于上百条C语言语句的功能。它大大加快了工程技术人员从事软件开发的效率。据MathWorks公司声称,Matlab软件中所包含的Matlab源代码相当于70万行C代码。

郑州航院

二、 理论分析

2.1 一般通信系统

通信的目的是传输信息。一般通信系统的作用就是将信息从信息源发送到一个或多个目的地。对于任何一个通信系统,均可视为由发送端、信道和接收端三大部分组成。

图2.1 通信系统一般模型

2.2 频率调制(FM)原理

频率(FM)调制的名称源于m(t)与已调信号的频率呈线性关系。FM调制就是将调制信号的变化映射到已调信号的频率大小。

图2.2 FM调制原理图

其中,m(t)为基带调制信号,设调制信号为

m(t) Acos(2 fmt)

设正弦载波为

郑州航院

c(t) cos(2 fct)

可得到已调调频信号为

sFM(t) Accos[2 fct 2 kFM m(t)dt

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

2

2.3 调制过程分析

产生调频信号有直接调频法和间接调频法。 1、直接调频法

图2.3 FM直接调频法模型

2、间接调频法

图2.4 FM窄带与宽带角调信号产生框图

郑州航院

在调制时,调制信号的频率去控制载波的频率的变化,载波的瞬 时频偏随调制信号m(t)成正比例变化,即

d t 2 dt

K

fm

m t

式中:Kfm —— 调频灵敏度(rad/s·v) 相位偏移为

t 2

K m d

fm

t Acos 2 fs得到调频信号为

fm

c

t Kfm m d

调制信号产生的M文件:

dt=0.001; %设定时间步长

t=0:dt:1.5; %产生时间向量

am=15; %设定调制信号幅度←可更改 fm=20; %设定调制信号频率←可更改 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); %调制,产生已调信号

郑州航院

调制信号的时域图

时间t

载波的时域图

时间t

已调信号的时域图

时间t

图2.5 FM调制时域波形图

图2.6 FM调制频域波形图

2.4 FM解调模型的建立

调频信号通常采用非相干解调方式来接收。

郑州航院

图2.7 FM非相干解调原理图

其中,限幅器及带通滤波器的作用是让信号完全通过而最大限度地抑制噪声。FM信号应该是一个等幅振荡信号,所以其幅度上的波动是外来的,可用限幅器将其抑制,而BPF抑制信号频带外的噪声。由微分器和包络检波器级联的核心单元称为鉴频器。微分器把调频信号变成调幅调频波,然后由包络检波器检出包络,最后通过低通滤波器取出调制信号。

此外,调频解调还有调频负反馈解调方案和利用锁相环作调频解调器。

2.5 解调过程分析

设输入调频信号为

S t

s t Acos 2 f

fm

c

t Kfm m d

调频到调幅的变换1:微分

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

2 ft 2 Kfm m d Sd t A 2 fc 2 Kfmm t sin c

t

调频到调幅的变换2:使用调谐电路的上升频率特性(线性区) 平衡鉴频器:展宽频率特性的线性范围

郑州航院

图2.8 平衡鉴频器及相应的频响图

检波器输出为

S t K

o

d

2 f

c

2

K

fm

m t

Kd称为鉴频灵敏度(

V

Hz),是已调信号单位频偏对应的调制信号的

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

mo(t) KdKfm(t)

微分器通过程序实现,代码如下:

for i=1:length(t)-1 %接受信号通过微分器处理

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

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

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

郑州航院

调制信号的时域图

50

-5

00.511.5

时间t

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

50

-50

0.5

1

1.5

时间t

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

50

-5

00.5

时间t

11.5

图2.9 FM在理想信道的解调原理图

2.6 高斯白噪声信道特性

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

r(t) Acos( ct ) n(t)

其中,白噪声n(t)的取值的概率分布服从高斯分布。

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

2

的随机序列服从均值为m 0,方差 1的高斯分布。

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

sc( t )n t( r(t) Aco

A2

S

2 故其有用信号功率为

噪声功率为

N 2

郑州航院

B 10log10(S)

N 信噪比N满足公式

S

2

A22 10

B

10

则可得到公式

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

我们选择了10db和30db两种不同信噪比以示区别,其时域图如图2.7和图2.8。

调制信号的时域图

50

-5

00.511.5

时间t

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

5000

-5000

500

1000

1500

时间t

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

200

-20

00.5

时间t

11.5

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

郑州航院

调制信号的时域图

50

-5

00.511.5

时间t

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

5000

-5000

500

1000

1500

时间t

含大信噪比高斯白噪声解调信号的时域

50

-5

00.5

时间t

11.5

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

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

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

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

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

单边功率谱密度为n0的高斯白噪声,经过带通滤波器后变为窄带高斯噪声ni(t) 。限幅器是为了消除接收信号在幅度上可能出现的畸变。

t Acos 2 fs设调频信号为

fm

c

t Kfm m d

郑州航院

A2

Si

2 故其输入功率为

输入噪声功率为Ni

noBFM

SiA2

因此输入信噪比为Ni2BFM

在大信噪比条件下,信号和噪声的相互作用可以忽略,这时可以把信号和噪声分开来算,这里,我们可以得到解调器的输出信噪比

So

No

2

3A2K2m(t)f

3

8 2nofm

上式中,A为载波的振幅,Kf为调频器灵敏度,fm为调制信号m(t)的最高频率,no为噪声单边功率谱密度。

我们如若考虑m(t)为单一频率余弦波时的情况,可得到解调器的制度增益为

32

o mf

S2nofm

Ni

So

A2

GFM

考虑在宽带调频时,信号带宽为 B则可以得到G

FM

FM

2max

(2 FM 1)B

3

2

FM

/m(t)m(t)

2

可以看出,大信噪比时宽带调频系统的信噪比增益是很高的,它与调频指数的立方成正比。可见,加大调频指数噪声性能迅速改善。但加大调频指数

FM

,可使调频系统的抗

FM

,又会增大信号占用带宽

B

FM

,所以说FM调制的大信噪比是用带宽来换取的。

郑州航院

低信噪比下,解调输出信号与噪声相混合,无法区分,造成输出信噪比急剧恶化→门限效应。

在调频解调中,解调输出有一抛物线噪声谱

f W

N0

f 2Pn

f

2

A

解调输出噪声功率在[-W,W]频率范围内的噪声功率Pn

这意味着在调频输出中,基带信号的高频分量比低频分量受到噪声的干扰更严重,为此,在实际系统中,采用预加重和去加重技术,以减小此抛物线噪声谱的影响,使系统总的输出信噪比得以改善。 设计一系统,使它对于基带信号低频段呈现为一对调频器及解调器,对于基带信号高频段呈现为一对调相及解调器。

图2.13 具有预加重和去加重滤波的调频系统

即在发端将一高通滤波器与一调频器级联,该高通滤波器在低频有意恒定增益的频率特性,在高频有一近似于kf的微分器的频率特性。收端的解调器是由普通鉴频器与一低通滤波器相级联组成。

郑州航院

三.仿真实现

图3.1 程序流程图模型

3.1 仿真结果

图3.2 原调制信号、载波信号和已调信号的曲线图

郑州航院

图3.3 原调制信号和已调信号在频域内的图

图3.4 原调制信号、无噪声条件下已调信号和解调信号的曲线图

郑州航院

图3.5 调制信号、小信噪比高斯白噪声下已调信号和解调信号的曲线图

图3.6 调制信号、大信噪比高斯白噪声下已调信号和解调信号的曲线图

郑州航院

3.2 MATLAB源代码

%FM调制解调系统.m

%频率调制与解调的Matlab演示源程序 %可以任意改原调制信号函数m(t)

%·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*· %*****************初始化****************** echo off close all clear all clc

%*****************************************

%·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*· %****************FM调制******************* dt=0.001; t=0:dt:2.0;

ac=5; %设定调制信号幅度 fm1=5; %设定调制信号频率 mt=ac*cos(2*pi*fm1*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=ac*cos(2*pi*fc*t+2*pi*kf*int_mt); %调制信号 %*****************************************

%·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*· %*************添加高斯白噪声**************

sn1=10; %设信躁比(小信噪比) sn2=30; %设信躁比(大信噪比) sn=0; %设信躁比(无信噪比)

db=ac^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=ac*cos(2*pi*fm1*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; %缩放,便于在频谱图上整体观察

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

%**************figure(4)****************** figure(4)

subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图 xlabel('时间t');

title('调制信号的时域图');

db1=ac^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');

本文来源:https://www.bwwdw.com/article/u89m.html

Top