中国科技论文在线
http://www.paper.edu.cn
基于 Matlab 的数字带通传输系统仿真实验设计
中国矿业大学信息与电气工程学院,江苏徐州(221008)
乔莹,陈明,刘强
E-mail:srkuu123@163.com
摘 要: 数字带通传输系统就是包络调制和解调过程的数字传输系统,本文通过用 Matlab
编写脚本程序对 FSK 调制的带通传输系统的具体实现进行模拟仿真,并给出了仿真结果。
以二进制频移键控(2FSK)为例对带通传输系统仿真实验设计进行可行性分析验证。这对
于理解 FSK 系统的性能并在系统上作进一步的设计,提供极大的便利。
关键词: 数字通信;FSK 调制解调;计算机仿真
中图分类号: TP391.9
1.引言
数字信号是二进制数字基带信号时,这种调制成为二进制数字调制。在二进制数字调制
中,载波的幅度、频率和相位只有两种变化状态。相应的调制方式有二进制振幅键控(2ASK)、
二进制频移键控(2FSK)和二进制相移键控(2PSK)。
为了加深学生对带通传输系统以及各种调制方式的理解,实验环节是必不可少的,但是
由于传统实验箱式实验的被动性和约束性比较强,不能满足不同层次、不同内容、不同要求
的学习需要。而在 MATLAB[3] [4]中找到通信系统中的各个相应的函数或函数的组合,使同
学们能够轻松地进行通信方面的分析与处理,同时也可以自己编程解决问题。
下面以二进制频移键控(2FSK)为例对带通传输系统仿真实验设计进行可行性分析验
证。
2.系统分析原理
2.1 二进制频移键控原理
频移键控是利用载波的频率变化来传递数字信息。在 2FSK 中,载波的频率随二进制基
带信号在 f1 和 f2 两个频率点间变化。[1]在 matlab 的通信工具箱中的 dmod 函数专门用于实
现带通数字调制,函数 ddemod 实现带通数字解调。[2]
2.1.1 程序结构流程图
在编写 Matlab 脚本程序对带通传输系统进行模拟仿真时,程序结构流程如下图 1 所示:
二进制
随机序列
2.2 调制原理
调 制
信 道
相干解调
升余弦滤波
高斯噪声
序列
图 1 程序结构流程图
解调输出
2FSK 信号的产生方式有两种,这里采用模拟调频电路来实现,即用原始信号经码型变
换后直接与载波信号相乘,即得到调制信号。
在 matlab 中可采用函数 y=dmod(x,Fc,Fd,Fs,'fsk',M);来实现该调制。[2]同时读者也可根据
个人实力自行编制函数。
- 1 -
中国科技论文在线
http://www.paper.edu.cn
这里给出参考如下:
tt=(0:1/fs:ts);
t=[tt;tt+ts;tt+2*ts;tt+3*ts;tt+4*ts;tt+5*ts;tt+6*ts;tt+7*ts;tt+8*ts;tt+9*ts];
y=zeros(10,length(tt));
i=1;
while i<=10
y(i,:)=x(i)*sin(2*pi*fh*t(i,:))+~x(i)*sin(2*pi*fl*t(i,:));
i=i+1;
end
t=reshape(t',length(tt)*10,1);
y=reshape(y',length(tt)*10,1);
2.3 解调原理
2FSK 信号的解调方法有包络检波法和相干解调法。这里采用相干解调法,即将信号分
解为上下两路,分别解调,然后进行判决。
在 matlab 中可采用函数 z1=ddemod(y,Fc,Fd,Fs,'fsk',M);来实现该解调。
2.4 升余弦函数实现滤波
滤波器选用升余弦滤波器,升余弦滤波器的设计关键是滚降因子的选取,取值在 0 到 1
之间,这里的值取 0.5。在 matlab 中可采用函数[yf,tf]=butter(Fd,Fs,'fir',R,Delay);实现升余弦
函数。
3. 实验参考程序
function FSK
Fc=10; %载频
Fs=40; %系统采样频率
Fd=1; %码速率
N=Fs/Fd;
df=10;
numSymb=25;%进行仿真的信息代码个数
M=2; %进制数
SNRpBit=60;%信噪比
SNR=SNRpBit/log2(M);
seed=[12345 54321];
numPlot=15;
%产生 25 个二进制随机码
x=randsrc(numSymb,1,[0:M-1]); figure(1)
stem([0:numPlot-1],x(1:numPlot),'bx');
title('二进制随机序列')
xlabel('Time');
ylabel('Amplitude');
figure(5)
plot(t,y(1:length(t)),'r-');
hold on;
%调制
- 2 -
中国科技论文在线
http://www.paper.edu.cn
y=dmod(x,Fc,Fd,Fs,'fsk',M,df);
numModPlot=numPlot*Fs;
t=[0:numModPlot-1]./Fs;
figure(2)
plot(t,y(1:length(t)));
axis([min(t) max(t) -1.5 1.5]);
title('调制后的信号')
xlabel('Time');
ylabel('Amplitude');
%在已调信号中加入高斯白噪声
randn('state',seed(2));
y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');
%在已调信号中加入高斯白噪声
figure(3)
plot(t,y(1:length(t)),'b-');
%画出经过信道的实际信号
axis([min(t) max(t) -1.5 1.5]);
title('加入高斯白噪声后的已调信号')
plot(to2,yo2,'b-');
hold off;
axis([0 30 -1.5 1.5]);
xlabel('Time');
ylabel('Amplitude');
%相干解调 z1=ddemod(y,Fc,Fd,Fs,'fsk',M,df); %带输出波形的相干 2 元频移键控解调
figure(4)
subplot(2,1,1)
stem([0:numPlot-1],x(1:numPlot),'bx');
subplot(2,1,2)
stem([0:numPlot-1],z1(1:numPlot),'ro');
%滤除高斯白噪声
Delay=3;R=0.5;PropD=0; %滞后 3s
[yf,tf]=butter(Fd,Fs,'fir',R,Delay); %升余弦函数
[yo2,to2]=butter(y,Fd,Fs,'filter',yf);
%加入高斯白噪声后的已调信号和经过升余弦滤波器后的已调信号
t=[0:numModPlot-1]./Fs;
xlabel('Time');
ylabel('Amplitude');
legend('加入高斯白噪声后的已调信号','经过升余弦滤波器后的已调信号');title('升余弦
滤波前后波形比较')
4. 波形分析
0.5
1
0
0
2
4
6
- 3 -
Time
8
10
12
14
e
d
u
t
i
l
p
m
A
中国科技论文在线
http://www.paper.edu.cn
图 1 二进制随机序列
1
0
-1
e
d
u
t
i
l
p
m
A
0
2
4
6
8
Time
10
12
14
图 2 FSK 调制波形
e
d
u
t
i
l
p
m
A
1
0
-1
0
1
0.5
0
0
1
0.5
0
0
2
4
6
8
Time
10
12
14
图 3 加入高斯随机噪声的波形
2
2
4
4
6
6
8
8
图 4 解调后的波形与原始波形比较
10
12
14
10
12
14
5.总结
本文通过用 Matlab 编写脚本程序对二进制频移键控(2FSK)为例的带通传输系统进行
仿真设计,通过观察实验输出的各个波形可知以 matlab 为实验平台的仿真实验是完全可行
的,而且实现教学和实验验证同步进行。使通信原理中一些抽象的概念和原理可视化,提供
了良好的通信系统开发、设计、模拟、调试和分析平台。培养了学生动手能力和创造性思维,
通过自己创建的系统来进行实验更能使学生深入理解通信系统工作原理,在仿真平台上可以
方便的来分析系统,便于纠正错误。而且采用软件仿真来做实验还可以节省大量实验器材。
参考文献
[1]樊昌信等.通信原理[第六版][M].北京:国防工业出版社,2006
- 4 -
中国科技论文在线
[2]孙屹.MATLAB 通信仿真开发手册.北京:国防工业出版社,2005
http://www.paper.edu.cn
[3]肖矿林.基于 Matlab 的 QPSK 系统设计仿真.舰船电子工程,2007(2)
[4] 张志涌,刘瑞桢,杨祖樱.掌握和精通 MATLAB.北京:航空航天大学出版社,1997
A Simulation System of Digital Band-pass
Transmission Experiments Based on Matlab
Qiao Ying, Chen Ming, Liu Qiang
School of Information and Electrical Engineering, CUMT, Xuzhou,(221008)
Abstract
Digital band-pass transmission system is the envelope modulation and demodulation
process digital transmission system.In this paper, we simulate FSK modulation band-pass
transmission by writing a script with the Matlab program, and give the simulation results.
We also analyze and test the feasibility of the band-pass transmission system simulation
experiment by taking an example of 2FSK. This can help us understand FSK system's
performance and make further design of the system, so it will bring a great convenience.
Keywords: Digital communication;FSK modulation and demodulation;computer simulation
作者简介:乔莹,女,1987 年 6 月生,山东滕州人,在读硕士研究生,主要研究方向通信
与信息系统。
- 5 -