基于4FSK调制信号的产生及解调设计与实现

更新时间:2024-01-03 22:32:01 阅读量: 教育文库 文档下载

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

目 录

1实验目的 .................................................................................................. 1 2实验要求 .................................................................................................. 1 3实验内容 .................................................................................................. 1 3.1基本原理 ........................................................................................ 1 3.1.1 4FSk的调制原理 ............................................................... 1 3.1.2 4FSk的解调原理 ............................................................... 3 3.2 4FSK 调制算法分析 ................................................................ 3 3.3.4FSK 解调算法分析 .................................................................. 4 3.4 程序代码 ....................................................................................... 6 4 软件仿真 ................................................................................................. 9 4.1 调制过程仿真实现结果 ............................................................... 9 4.2 解调过程仿真实现结果 ............................................................. 11 4.3 误码率计算 ................................................................................. 14 5心得体会 ................................................................................................ 16 6参考文献 ................................................................................................ 16

1实验目的

1、理解电子信号通信原理 2、熟悉系统建模方法

3、配置电子信号,设计相关应用方法

2实验要求

1. 完成4FSK调制信号的产生,并进行时域分析

2. 完成4FSK信号的数据解调,并对结果进行有效性验证

3实验内容

3.1基本原理

3.1.1 4FSk的调制原理

随着时代的发展,数字信号在信号传输比模拟信号有许多的优越性,数字信号传输也越来越重要。虽然近距离传输可以由数字基带信号直接传输,但是要进行远距离传输时必须将基带信号调制到高频处,所以调制解调技术是数字通信中一种关键的技术。二进制频移键控是数字信号调制的基本方式之一。而多进制(MFSK)的可降低信道系统信噪比的要求。2FSK信号的产生方法主要有两种:采用模拟调频电路实现;采用键控法来实现,即在二进制基带脉冲序列的控制下通过开关电路对两个不同的独立频率源进行选通,使其在每个码元期间输出f1和f2两个载波之一。频移键控是利用载波的频率变化来传递信息的。在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。同理4FSK中基带脉冲序列四个码元(00 01 10 11)可用f1,f2,f3,f4四个载波之一;本文讨论4FSK是通过并联输入两位基带信号,两位二进制来表示四进制的频移键控。

2FSK键控法调频原理图如下:

1

振荡器f1 选通开关 反相器 相加器 振荡器f2 选通开关

图 3.1 2FSK原理图

4FSK可通过基带信号(00,01,10,11)并联传输0或1来分别用f1,f2,f3,f4四个载频表示,两路基带信号作为控制选通选通开关,1路选通开关发送0时选通载频f1, 发送0时选通载频f2, 1路选通开关发送0时选通载频f3, 送1时选通载频f4。两路不同载频通过相加器得到已调信号发送出去。

4FSK键控法调频原理图(图1.1)如下:

振荡器f1 0或1 选通开关1 振荡器f2 相加器 振荡器f3 0或1 选通开关2 振荡器f4

图3.2 4FSK键控法调频原理框图

2

3.1.2 4FSk的解调原理

4FSK信号的相干解调法原理框图如图3.3所示。其原理是:4FSK信号先经过带通滤波器去除调制信号频带以外的在信道中混入的噪声,此后该信号分为四路,每路信号与相应载波相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出分别得到两路原基带信号表示四进制得到原始码元。

载波f1 带通滤波器 相乘器 低通滤波器 载波f2 4FSK 已 调 信 号 带通滤波器 相乘器 加法器 低通滤波器 抽样判决器 解调信号1 载波f2 带通滤波器 相乘器 低通滤波器 加法器 抽样判决器 载波f2 带通滤波器 相乘器 低通滤波器 带通滤波器

图3.3 4FSK键控法解调原理框图

3.2 4FSK 调制算法分析

(1)、将输入的二进制序列按奇位、偶位进行串并转换。

(2)、根据DMR标准中的符号和比特的对应关系,将二进制的0、1序列映射为相应 的四电平符号流。

(3)、将这些符号流每符号插入8个数值点,并输入平方根升余弦滤波器进行平滑处理,

3

则可得到输入调制信号m(n)。

滤波器为平方根升余弦滤波器,奈奎斯特升余弦滤波器的一部分用于抑制邻道干扰,

另一部分用于接收机抑制噪声。抑制邻道干扰滤波器的输入包含一系列脉冲,这些脉冲之间

的间隔为208,33ms(1/4800s)。通过定义根升余弦滤波器的频率响应为奈奎斯特升余弦滤波

器的平方根,来定义奈奎斯特升余弦滤波器的分割。滤波器的群延迟在带通范围|f|<2880Hz

内是平滑的。滤波器的的幅频响应由下面公式近似给出: F( f ) =1 当 |f|≤ 1920 Hz

F( f ) = cos(π f / 1920) 当 1920 Hz< |f| ≤ 2880 Hz F( f ) = 0 当 |f|>2880 Hz

其中F( f ) 代表平方根升余弦滤波器的幅频响应。 则该滤波器的传输频率df 为2880-1920=960Hz, 滤波器的等效截止频率F0 为2400Hz。

(4)、将m(n)输入频率调制器进行FM调制。则可得到4FSK调制输出信号。 调频信号:SFM(t)?Accos[?ct?kf?t??x(?)d?] 式中: kf 为调频指数。

将其离散化,在nTs的时间内对信号m(n)累加求和,得:

S(nTs)?Acos[?cnTs?KfTsk????m(k)]式得该4FSK系统调制实现

n3.3.4FSK 解调算法分析

解调过程跟调制过程恰好相反,将经过信道传输到接收端的信号通过频率解调器进行解调。对于同一种数字调制信号,采用相干解调方式的误码率低于采用非相干解调方式的误码率,所以这里采用相干解调方式。将解调后的信号经滤波器后,再经抽样判决则可输出四电平符号,将其按表1反映射,即可输出二进制比特。

解调框图如下所示:

4

解调中F(f)滤波器的幅频响应与调制中相同。cos部分按三角公式展开得:

将其经过低通滤波器,滤掉高频分量,则(8)式剩下1/ 2A* I (nTs)分量,(10)式只剩下1/ 2A*Q(nTs)分量。

将(13)式经相位校正后,再由(14)即可解调出m(n)。由于在数字域内,频率和相位的关系是简单的一阶差分关系,如公式(13)所示。在实际中,要想准确实现调

5

频信号的解调,差分鉴频必须满足以下要求:

(a)、相邻的两个相位差应限制在[?π ,π ]内,否则出现相位跳变。 (b)、当相位差大于2π 时,应进行模2π 处理。 4FSK 相干解调的实现方框图如下:

最后将解调后的信号m(n)经过匹配滤波器后,再经过抽样判决,可获得四平符号,由标准中的表1 所示对应关系,可将四电平符号再反映射为二进制比特流。 按照上节的算法分析及调制、解调方框图,做出软件实现方案图如图7 所示。

3.4 程序代码

function FSK

Fc=10; %载频

Fs=40; %系统采样频率 Fd=1; %码速率

6

N=Fs/Fd; df=10;

numSymb=20;%进行仿真的信息代码个数 M=4; %进制数 SNRpBit=80;%信噪比 SNR=SNRpBit/log2(M); seed=[12345 54321]; 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);OSK调制函数 numModPlot=numPlot*Fs; t=[0:numModPlot-1]./Fs; figure(2)

plot(t,y(1:length(t)),'b-');

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('加入高斯白噪声后的已调信号') xlabel('Time');

ylabel('Amplitude');

%相干解调 figure(4)

z1=ddemod(y,Fc,Fd,Fs,'fsk/eye',M,df); title('相干解调后的信号的眼图')

%带输出波形的相干M元频移键控解调 figure(5)

7

stem([0:numPlot-1],x(1:numPlot),'bx'); hold on;

stem([0:numPlot-1],z1(1:numPlot),'ro'); hold off;

axis([0 numPlot -0.5 1.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'); hold on;

stem([0:numPlot-1],z2(1:numPlot),'ro'); hold off;

axis([0 numPlot -0.5 1.5]);

title('非相干解调输出信号与原序列的比较')

legend('原输入二进制随机序列','非相干解调后的信号') xlabel('Time');

ylabel('Amplitude');

%误码率统计

[errorSym ratioSym]=symerr(x,z1); figure(8)

simbasebandex([0:1:5]);

title('相干解调后误码率统计')

[errorSym ratioSym]=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)

8

plot(t,y(1:length(t)),'r-'); hold on;

plot(to2,yo2,'b-'); hold off;

axis([0 20 -1.5 1.5]); xlabel('Time');

ylabel('Amplitude');

legend('加入高斯白噪声后的已调信号','经过升余弦滤波器后的已调信号') title('升余弦滤波前后波形比较') eyediagram(yo2,N);%眼图

title('加入高斯白噪声后的已调信号的眼图')

4 软件仿真

本文给出了MATLAB软件实现4FSK 调制解调过程中的详细结果。

4.1 调制过程仿真实现结果

先将截取的二进制比特流按奇、偶位分开,再按照前面表1 所示的映射关系,将二进制序列映射为四电平符号,得到的四电平符号局部如下图所示:

图4.1将二进制比特流映射为四电平符号

9

对四电平符号进行插值滤波,并进行平滑滤波后得到输入调制信号m(n),滤波器即为

前面介绍的平方根升余弦滤波器。

插值滤波后生成的局部的与四电平符号对应的输入调制信号m(n)显示

图 4.2 输入调制信号m(n)

做输入调制信号m(n)的频谱(由于重在观察调频前后频谱的搬移情况,为便于观察,取

频谱的绝对值,并将零频时图形转换至图的正中来显示),如下图:

图 4.3 输入调制信号m(n)的频谱

10

做出调制输出信号的频谱如下图所示(为便于观察频谱的搬移情况,取了频谱的绝对值,并将零频时的图形转换到了图的正中间显示,若未转换,频谱边带在载频+fc 与-fc周围分布),显然可以看到,调制过程实现了频谱的搬移,将输入调制信号的频谱由低频搬 移到了中频fc 处。

图 4.4调制输出信号频谱

4.2 解调过程仿真实现结果

将调制输出信号输入到传输信道进行传输。在信道中由于存在干扰,则到达接收端的在调制输出信号基础上附加了高斯白噪声。下面开始解调过程。 我们采用相干解调方式对其进行解调。将接收到信号分别乘上本地载波

后通过低通滤波器,滤掉高频分量,然后对其进

行抽样,可得到Ik2 与Qk2。用Ik2 与Qk2 计算相位,应用(14)式,就可以得到解调后的序列。显示如下图。

11

图 4.5 解调后得到的信号

做解调后得到的信号的频谱(为便于观察, 取了频谱的绝对值,并将零频转换至了图的正中显示),显示如下图:

图 4.6 解调后得到信号的频谱

12

对产生的解调后信号每8 点取一个抽样点,得一新序列,对按下面三个门限+2,0,-2依次进行抽样判决,即可得到解调后的四电平符号。解调出的四电平符号局部显示如下图:

图 4.7 解调后得出的四电平符号

将该四电平符号反映射为二进制序列,即可完成解调过程。 MATLAB仿真眼图

图 4.8 眼图

13

图 4.9 星座图

4.3 误码率计算

输入二进制比特流与输出二进制比特流均为二进制序列,则二者对应不同的位即为误码位,统计出误码位的个数,则可求出此过程的误码率来。使信噪比发生改变,则误码率也相应发生变化,可以做出误码率与信噪比之间的关系图。 误码率与信噪比关系如下图:

图 4.10 信噪比与误码率关系图

14

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

Top