matlab FM调制仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab FM调制仿真
目录
引言 (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.1 FM 调制模型的建立
图2 FM 调制模型
其中,()m t 为基带调制信号,设调制信号为
()cos(2)m m t A f t π=
设正弦载波为
()cos(2)c c t f t π=
信号传输信道为高斯白噪声信道,其功率为2σ。

2.2 调制过程分析
在调制时,调制信号的频率去控制载波的频率的变化,载波的瞬时频偏随调制信号()m t 成正比例变化,即
()()f d t K m t dt
ϕ= 式中,f K 为调频灵敏度(()rad
s V •)。

这时相位偏移为 ()()f t K m d ϕττ=⎰
则可得到调频信号为
()cos ()FM c f s t A t K m d ωττ⎡⎤=+⎣⎦
⎰ 调制信号产生的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 进行积分
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); %调制,产生已调信号
00.5
1 1.5
-100
10
时间t
调制信号的时域图
00.5
1 1.5-10
1
时间t
载波的时域图00.5
1 1.5
-100
10
时间t 已调信号的时域图
图3 FM 调制
2.3 FM 解调模型的建立
调制信号的解调分为相干解调和非相干解调两种。

相干解调仅仅适用于窄带调频信号,且需同步信号,故应用范围受限;而非相干解调不需同步信号,且对于NBFM 信号和WBFM 信号均适用,因此是FM 系统的主要解调方式。

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

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

限幅器输入为已调频信号和噪声,限幅器是为了消除接收信号在幅度上可能出现的畸变;带通滤波器的作用是用来限制带外噪声,使调频信号顺利通过。

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

2.4 解调过程分析
设输入调频信号为
()()cos(())t
t FM c f S t S t A t K m d ωττ-∞==+⎰ 微分器的作用是把调频信号变成调幅调频波。

微分器输出为
[]()()()()sin(())i FM d t c f c f dS t dS t S t dt dt
K m t t K m d ωωττ+-∞===-+⎰
包络检波的作用是从输出信号的幅度变化中检出调制信号。

包络检波器输出为
[]()()()o d c f d c d f S t K Km t K K Km t ωω++==
d K 称为鉴频灵敏度(V Hz )
,是已调信号单位频偏对应的调制信号的幅度,经低通滤波器后加隔直流电容,隔除无用的直流,得
()()o d f m t K K m 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 文件绘制出两种不同信噪比解调的输出波形如下:
00.51 1.5
-50
5
时间t
调制信号的时域图
00.51 1.5
-50
5
时间t
无噪声条件下已调信号的时域图
00.5
1 1.5
-50
5
时间t 无噪声条件下解调信号的时域图
图5 FM 解调
2.5 高斯白噪声信道特性
设正弦波通过加性高斯白噪声信道后的信号为
()cos()()c r t A t n t ωθ=++
其中,白噪声()n t 的取值的概率分布服从高斯分布。

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

randn 函数产生的随机序列服从均值为0m =,方差21σ=的高斯分布。

正弦波通过加性高斯白噪声信道后的信号为
()cos()()c r t A t n t ωθ=++
故其有用信号功率为
2
2
A S =
噪声功率为 2N σ=
信噪比S N 满足公式
1010log ()S B N
= 则可得到公式
2
210210B
A σ=•
我们可以通过这个公式方便的设置高斯白噪声的方差。

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

00.51 1.5
-50
5
时间t
调制信号的时域图
00.51 1.5
-50
5
时间t
无噪声条件下已调信号的时域图
00.5
1 1.5
-50
5
时间t 无噪声条件下解调信号的时域图
图6 无噪声条件下已调信号的时域图
00.51 1.5
-50
5
时间t
调制信号的时域图
050010001500
-50000
5000
时间t
含小信噪比高斯白噪声已调信号的时域图
00.5
1 1.5
-200
20
时间t 含小信噪比高斯白噪声解调信号的时域图
图7 含小信噪比高斯白噪声已调信号的时域图
00.51 1.5
-50
5
时间t
调制信号的时域图
050010001500
-50000
5000
时间t
含大信噪比高斯白噪声已调信号的时域图
00.5
1 1.5
-50
5
时间t 含大信噪比高斯白噪声解调信号的时域图
图8 含大信噪比高斯白噪声已调信号的时域图
2.6 调频系统的抗噪声性能分析
从前面的分析可知,调频信号的解调有相干解调和非相干解调两种。

相干解调仅适用于窄带调频信号,且需同步信号;而非相干解调适用于窄带和宽带调频信号,而且不需同步信号,因而是FM 系统的主要解调方式,所以这里仅仅讨论非相干解调系统的抗噪声性能,其分析模型如图9所示。

图9 调频系统抗噪声性能分析模型
图中带通滤波器的作用是抑制信号带宽以外的噪声。

()n t 是均值为零,单边功率谱密度为0n 的高斯白噪声,经过带通滤波器后变为窄带高斯噪声()i n t 。

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

设调频信号为
()cos(())t
FM c f S t A t K m d ωττ-∞=+⎰ 故其输入功率为
2
2
i A S = 输入噪声功率为
i o FM N n B =
因此输入信噪比为
2
2i i FM
S A N B = 在大信噪比条件下,信号和噪声的相互作用可以忽略,这时可以把信号和噪声分开来算,这里,我们可以得到解调器的输出信噪比
222233()8o f o o m
A K m t S N n f π= 上式中,A 为载波的振幅,f K 为调频器灵敏度,m f 为调制信号()m t 的最高
频率,o n 为噪声单边功率谱密度。

我们如若考虑()m t 为单一频率余弦波时的情况,可得到解调器的制度增益为
22232A o o FM
f i o m i S N G m S n f N == 考虑在宽带调频时,信号带宽为
2(1)2()FM f m m B m f f f ==+∆+
则可以得到
2
3(1)FM f f G m m =+
可以看出,大信噪比时宽带调频系统的信噪比增益是很高的,它与调频指数的立方成正比。

可见,加大调频指数f m ,可使调频系统的抗噪声性能迅速改善。

三.仿真实现
图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; %设定调制信号频率
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); %原调信号
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=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; %生成含高斯白躁声的已调信号(信号通
过信道传输)
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('含大信噪比高斯白噪声解调信号的时域图');
%*****************************************
%******************结束*******************
3.2 仿真结果
四.心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 回顾起此次通信原理课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固……通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,同学的帮助下终于迎刃而解。

在次我表示感谢!
五.参考文献
[1]《通信原理(第六版)》樊昌信等。

北京:国防工业出版社。

[2]《MATLAB7.0在数字信号处理中的应用》罗军辉等。

北京:机械工业出版社。

[3]《MATLAB程序设计教程》刘卫国等。

北京:中国水利水电出版社。

相关文档
最新文档