基于matlab的4FSK系统设计仿真.docx
- 文档编号:11840244
- 上传时间:2023-04-05
- 格式:DOCX
- 页数:25
- 大小:594.41KB
基于matlab的4FSK系统设计仿真.docx
《基于matlab的4FSK系统设计仿真.docx》由会员分享,可在线阅读,更多相关《基于matlab的4FSK系统设计仿真.docx(25页珍藏版)》请在冰豆网上搜索。
基于matlab的4FSK系统设计仿真
课程设计任务书
课程名称:
专业课程设计
题目:
基于matlab的4FSK系统设计仿真
学院:
电子系系:
信息工程学院
专业班级:
学号:
学生姓名:
指导教师:
职称:
学院审核(签名):
审核日期:
一、设计基本原理与系统框图
以前学过2FSK信号的产生,知道它有两种方法:
调频法和开关法,前者是用二进制基带矩形脉冲信号去调制一个调频器,使其能输出两个不同频率的码元;后者是用一个受基带脉冲控制的开关电路去选择两个独立频率源的振荡作为输出。
2FSK键控法调频原理图如下:
2fsk键控原理图
这里我们要研究的是4FSK信号,是采用第二种方法得到的,即用基带四进制信号去键控四个频率不同的载波,就可以得到四进制频移键控信号,其中4FSK是采用四个不同的频率分别表示四进制的的四个码元00、01、10、11,每个码元都含有2bit的信息,其波形如图1-1所示,这时仍和2FSK时的条件相同,即要求每个载频之间的距离足够大,使不同频率的码元频谱能够用滤波器分离开,或者说使不同频率的码元相互正交。
4FSK调制原理如下:
传“0”信号(或00)时,发送频率为f1的载波;传“1”信号(或10)时,发送频率为f2的载波;传“2”信号(或11)时,发送频率为f3的载波;传“3”信号(或01)时,发送频率为f4的载波。
系统方框图如图1-2所示
4FSK
二、各单元电路图设计
本次系统设计大致可分为四大模块:
㈠晶体振荡器与信源共用,位于信源单元;㈡多级分频电路;㈢4FSK调制中的逻辑电路单元;㈣二进制基带信号的串/并转换模块。
1、信源单元电路
本模块是整个课程设计系统的发终端,模块内部只使用+5V电压,其原理方框图如图1-3所示本单元用来产生晶振信号和NRZ信号,图1-4为信源单元电路图,它上面的元器件与图1-3上各单元对应关系如下:
晶振CRY:
晶体;U1:
反相器7404
分频器U2:
计数器74161;U3:
计数器74193;U4:
计数器40160
并行码产生器K1、K2、K3:
8位手动开关,从左至右依次与帧同步码、数据1、数据2相对应;发光二极管:
左起分别与一帧中的24位代码相对应
八选一U5、U6、U7:
8位数据选择器4512
三选一U8:
8位数据选择器4512
倒相器U20:
非门74LS04
抽样U9:
D触发器74LS74
从晶振产生一个4.096KHz的信号,一路做时钟信号CLK,一路送到74LS193,74193完成÷2、÷4、÷8运算,输出BS、S1、S2、S3等4个信号。
BS为位同步信号,频率为2048MHz,S1、S2、S3为3个选通信号,频率分别为BS信号频率的1/2、1/4和1/8。
74193是一个4位二进制加/减计数器,当CD=PL=1、MR=0时,可在QA、QB、QC及QD端分别输出上述4个信号。
㈡、多级分频电路
它是由晶振电路和一个具有分频功能的74LS193芯片构成的。
系统要求产生
四个频率不同的脉冲序列,所以要通过分频电路将主时钟输出的信号分别进行2分频、4分频、8分频。
根据频率的不同,采用三个分频器进行分频。
CLK信号由一个晶振电路实现,
信号分别是由三个串接的二分频器而得到的,它们的频率分别为CLK频率的1/2、1/4、1/8,其电路图如图2-1所示。
图2-1分频电路图,
㈢、4FSK调制中的逻辑电路单元
类似于2FSK调制模块,4FSK调制模块是采用一个四选一数据选择器,经过多次分频产生的四个不同频率的信号作为数据选择器的四个输入端,经过串并转换的两路并行信号作为数据选择器的两个地址端,对应的每一种地址选中不同频率的输入信号,即“00”时选中频率为
的信号;“01”时选中频率为
的信号;“10”时选中频率为
的信号;“11”时选中频率为
的信号。
图3-1逻辑电路
图3-1中的逻辑电路即为双四选一数据选择器,接口
分别接来自多次分频的频率不同的四种信号附加控制端
接地,
分别接串/并转换电路的两个输出端,输出端
即为4FSK调制信号。
㈣、二进制基带信号的串/并转换模块
串/并转换器:
移位寄存器除了具有存储代码的功能以外,还具有移位功能。
所谓移位功能,是指寄存器里存储的代码能在移位脉冲的作用下依次左移或右移,因此移位寄存器还可以用来实现数据的串并转换。
图5.1所示电路是由对称式多谐振荡器和二位移位寄存器(边沿触发器结构的D触发器组成)构成的串并转换模块电路,其中对称式多谐振荡器是用来产生串行输入信号和移位脉冲的,第一个触发器
的输入端接收串行输入信号,其余的每个寄存器输入端均与前边一个触发器的Q端相连。
图5-1串并转换电路图
因为从CP上升沿到达开始到输出端新状态的建立需要经过一段传输延迟时间,所以当CP的上升沿同时作用于所有的触发器时,它们输入端的状态还没有改变。
于是
按
原来的状态反转。
例如,在4个时钟周期内输入代码依次为1011,而移位寄存器的初始状态为
=00,那么在移位寄存器的作用下,移位寄存器里的代码移动情况如表5-2所示,图5-3给出了各触发器在移位过程中的电压波形图。
可以看到,经过四个CP信号以后,串行输入的4个代码全部移入了移位寄存器中,同时在4个触发器的输出端得到了并行输出的代码。
表5-2
CP的顺序
输入的
0
1
2
3
4
0
1
0
1
1
10
20
11
10
11
总电路图如图5.4所示
图5.4所示总电路图
三、4FSk的解调原理
4FSK信号的相干解调法原理框图如图1.2所示。
其原理是:
4FSK信号先经过带通滤波器去除调制信号频带以外的在信道中混入的噪声,此后该信号分为四路,每路信号与相应载波相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出分别得到两路原基带信号表示四进制得到原始码元。
图1.24FSK键控法解调原理框图
四、4FSK调制算法分析
(1)、将输入的二进制序列按奇位、偶位进行串并转换。
(2)、根据DMR标准中的符号和比特的对应关系表1[4],将二进制的0、1序列映射为相应
的四电平符号流。
(3)、将这些符号流每符号插入8个数值点,并输入平方根升余弦滤波器进行平滑处理,
则可得到输入调制信号m(n)。
滤波器为平方根升余弦滤波器[4],奈奎斯特升余弦滤波器的一部分用于抑制邻道干扰,
另一部分用于接收机抑制噪声。
抑制邻道干扰滤波器的输入包含一系列脉冲,这些脉冲之间
的间隔为208,33ms(1/4800s)。
通过定义根升余弦滤波器的频率响应为奈奎斯特升余弦滤波
器的平方根,来定义奈奎斯特升余弦滤波器的分割。
滤波器的群延迟在带通范围|f|<2880Hz
内是平滑的。
滤波器的的幅频响应由下面公式近似给出[4]:
F(f)=1当|f|≤1920Hz
F(f)=cos(πf/1920)当1920Hz<|f|≤2880Hz
(1)
F(f)=0当|f|>2880Hz
其中F(f)代表平方根升余弦滤波器的幅频响应。
则该滤波器的传输频率df为2880-1920=960Hz,
滤波器的等效截止频率F0为2400Hz。
(4)、将m(n)输入频率调制器进行FM调制。
则可得到4FSK调制输出信号。
调频信号:
式中:
kf为调频指数。
将其离散化,在nTs的时间内对信号m(n)累加求和,得:
由
(2)式得该4FSK系统调制实现方框图如下:
五、4FSK解调算法分析
解调过程跟调制过程恰好相反,将经过信道传输到接收端的信号通过频率解调器进行
解调。
对于同一种数字调制信号,采用相干解调方式的误码率低于采用非相干解调方式的误
码率,所以这里采用相干解调方式。
将解调后的信号经滤波器后,再经抽样判决则可输出四
电平符号,将其按表1反映射,即可输出二进制比特。
解调框图如下所示:
解调中F(f)滤波器的幅频响应与调制中相同。
将
(2)式cos部分按三角公式展开得:
将其经过低通滤波器,滤掉高频分量,则(8)式剩下1/2A*I(nTs)分量,(10)式只剩下
1/2A*Q(nTs)分量。
将(13)式经相位校正后,再由(14)即可解调出m(n)。
由于在数字域内,频率和相位的关系是简单的一阶差分关系,如公式(13)所示。
在实际
中,要想准确实现调频信号的解调,差分鉴频必须满足以下要求[6][7]:
(a)、相邻的两个相位差应限制在[−π,π]内,否则出现相位跳变。
(b)、当相位差大于2π时,应进行模2π处理。
4FSK相干解调的实现方框图如下:
最后将解调后的信号m(n)经过匹配滤波器后,再经过抽样判决,可获得四电平符号,
由标准中的表1所示对应关系,可将四电平符号再反映射为二进制比特流。
六、软件实现方案
按照上节的算法分析及调制、解调方框图,做出软件实现方案图如图7所示。
FSK调制解调MATLAB源代码
关键词:
FSK高斯白噪声调制眼图信噪比
functionFSK
Fc=10; %载频
Fs=40; %系统采样频率
Fd=1; %码速率
N=Fs/Fd;
df=10;
numSymb=20;%进行仿真的信息代码个数
M=4; %进制数
SNRpBit=80;%信噪比
SNR=SNRpBit/log2(M);
seed=[1234554321];
numPlot=20;
x=randsrc(numSymb,1,[0:
M-1]);%产生20个二进制随机码
figure
(1)
stem([0:
numPlot-1],x(1:
numPlot),'bx');
title('输入四进制随机序列')
xlabel('Time');
ylabel('Amplitude');
%调制
y=dmod(x,Fc,Fd,Fs,'fsk',M,df);%4FSK调制函数
numModPlot=numPlot*Fs;
t=[0:
numModPlot-1]./Fs;
figure
(2)
plot(t,y(1:
length(t)),'b-');
axis([min(t)max(t)-1.51.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.51.5]);
title('加入高斯白噪声后的已调信号')
xlabel('Time');
ylabel('Amplitude');
%相干解调
figure(4)
z1=ddemod(y,Fc,Fd,Fs,'fsk/eye',M,df);
title('相干解调后的信号的眼图')
%带输出波形的相干M元频移键控解调
figure(5)
stem([0:
numPlot-1],x(1:
numPlot),'bx');
holdon;
stem([0:
numPlot-1],z1(1:
numPlot),'ro');
holdoff;
axis([0numPlot-0.51.5]);
title('相干解调输出信号与原序列的比较')
legend('原输入二进制随机序列','相干解调后的信号')
xlabel('Time');
ylabel('Amplitude');
%非相干解调
figure(6)
z2=ddemod(y,Fc,Fd,Fs,'fsk/eye/noncoh',M,df);
title('非相干解调后的信号的眼图')
%带输出波形的非相干M元频移键控解调
figure(7)
stem([0:
numPlot-1],x(1:
numPlot),'bx');
holdon;
stem([0:
numPlot-1],z2(1:
numPlot),'ro');
holdoff;
axis([0numPlot-0.51.5]);
title('非相干解调输出信号与原序列的比较')
legend('原输入二进制随机序列','非相干解调后的信号')
xlabel('Time');
ylabel('Amplitude');
%误码率统计
[errorSymratioSym]=symerr(x,z1);
figure(8)
simbasebandex([0:
1:
5]);
title('相干解调后误码率统计')
[errorSymratioSym]=symerr(x,z2);
figure(9)
simbasebandex([0:
1:
5]);
title('非相干解调后误码率统计')
%滤除高斯白噪声
Delay=3;R=0.5; %滞后3s
[yf,tf]=rcosine(Fd,Fs,'fir',R,Delay); %升余弦函数
[yo2,to2]=rcosflt(y,Fd,Fs,'filter',yf);
%加入高斯白噪声后的已调信号和经过升余弦滤波器后的已调信号
t=[0:
numModPlot-1]./Fs;
figure(10)
plot(t,y(1:
length(t)),'r-');
holdon;
plot(to2,yo2,'b-');
holdoff;
axis([020-1.51.5]);
xlabel('Time');
ylabel('Amplitude');
legend('加入高斯白噪声后的已调信号','经过升余弦滤波器后的已调信号')
title('升余弦滤波前后波形比较')
eyediagram(yo2,N);%眼图
title('加入高斯白噪声后的已调信号的眼图')
七、软件实现结果
本文给出了MATLAB软件实现4FSK调制解调过程中的详细结果。
7.1调制过程仿真实现结果
先将截取的二进制比特流按奇、偶位分开,再按照前面表1所示的映射关系,将二进制
序列映射为四电平符号,得到的四电平符号局部如下图8所示:
图8将二进制比特流映射为四电平符号
对四电平符号进行插值滤波,并进行平滑滤波后得到输入调制信号m(n),滤波器即为
前面介绍的平方根升余弦滤波器。
插值滤波后生成的局部的与上述显示四电平符号对应的输入调制信号m(n)显示如下图
9:
图9输入调制信号m(n)
做输入调制信号m(n)的频谱(由于重在观察调频前后频谱的搬移情况,为便于观察,取
频谱的绝对值,并将零频时图形转换至图的正中来显示),如下图10:
图10输入调制信号m(n)的频谱
做出调制输出信号的频谱如下图11所示(为便于观察频谱的搬移情况,取了频谱的绝
对值,并将零频时的图形转换到了图的正中间显示,若未转换,频谱边带在载频+fc与-fc
周围分布),显然可以看到,调制过程实现了频谱的搬移,将输入调制信号的频谱由低频搬
移到了中频fc处。
图11调制输出信号频谱
7.2解调过程仿真实现结果
将调制输出信号输入到传输信道进行传输。
在信道中由于存在干扰,则到达接收端的
在调制输出信号基础上附加了高斯白噪声。
下面开始解调过程。
我们采用相干解调方式对其进行解调。
将接收到信号分别乘上本地载波
与
后通过低通滤波器,滤掉高频分量,然后对其进行抽样,可得到Ik2与Qk2。
用Ik2与Qk2计算相位,应用(14)式,就可以得到解调后的序列。
显示如下图12。
图12解调后得到的信号
做解调后得到的信号的频谱(为便于观察,取了频谱的绝对值,并将零频转换至了图
的正中显示),显示如下图13:
图13解调后得到信号的频谱
对产生的解调后信号每8点取一个抽样点,得一新序列,对按下面三个门限+2,0,-2
依次进行抽样判决,即可得到解调后的四电平符号。
解调出的四电平符号局部显示如下图14:
图14解调后得出的四电平符号
按照与表1相反的过程,将该四电平符号反映射为二进制序列,即可完成解调过程。
MATLAB仿真眼图
6.3误码率计算
输入二进制比特流与输出二进制比特流均为二进制序列,则二者对应不同的位即为误
码位,统计出误码位的个数,则可求出此过程的误码率来。
使信噪比发生改变,则误码率也
相应发生变化,可以做出误码率与信噪比之间的关系图。
误码率与信噪比关系如下图15所示:
图17信噪比与误码率关系图
由上面误码率与信噪比的关系图,我们可以看到,在这种相干解调方式中,随着信噪
比的增大,误码率逐渐降低,与实际信道是相吻合的。
八、心得体会
首先,通过练习熟悉和掌握通信仿真软件SystemView的使用,在练习的同时我又重新复习了通信原理很多知识,进一步加深了对通信系统知识的掌握,把所学的知识理论与实践相结合。
其次,在通信系统仿真的过程中,我遇到了很多的问题,我通过自己查资料,请教老师和同学一一的解决遇到的各种问题。
我不仅学会独立思考问题、分析问题、解决问题,而且加深了对理论知识的掌握,还增强了自己的动手能力。
再者,对于信息工程专业的学生来说,通信系统的设计是我们的很重要专业课,我很认真的完成各项设计,这次实习中学到的知识对我们增强专业知识的帮助很大。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab FSK 系统 设计 仿真
![提示](https://static.bdocx.com/images/bang_tan.gif)