2DPSK信号数字化解调技术研究
扫描二维码
随时随地手机看文章
摘 要
软件无线电(SDR)自从1992年被正式提出以来,受到了越来越多的关注,应用也越来越广泛。软件无线电技术一个很重要的内容就是信号的数字化调制与解调。本文首先阐述了SDR的概况,然后介绍了几种信号的数字化解调算法。并且提出了一种在软件无线电中基于离散傅立叶变换(DFT)算法的二进制相对相移键控(2DPSK)信号的数字化解调算法,通过对载波周期内的采样值进行DFT来提取相位信息并恢复原始调制信号。用MATLAB对这个算法进行了仿真研究的结果表明:采用该方法可以正确的实现2DPSK信号的解调,与传统的解调方法相比,不仅解调过程简单,易于实现,计算量小,而且抗干扰性能得到了明显的改善。将该方法用于2DPSK信号方式的数字化接收机设计中具有实际的意义。
关键词: 软件无线电, DFT, 2DPSK,数字化解调, MATLAB
ABSTRACT
第一章 绪论
1.1软件无线电概述
1.1.1软件无线电的基本概念及由来
软件无线电(SDR-software definded radio)是指在无线电系统中用软件
处理的方式来实现智能天线、调制解调等功能,其突出特点是使产品的生产和维
护简化,可靠性提高,能兼容多种信号方式,可通过更新软件来升级系统功能等。
通信装备从传统电台发展到软件无线电,中间有一个从量变到质变的过程。最开始人们在设计中尝试将所需要支持的多种不同的设备集成在一个结构里,由硬件模块完成在不同设备之间的切换。如果使用这种方法,系统的体积和重量会随着要支持的设备种类增加而增加,显然,这种做法难以解决多少问题。
为了避免系统体积无限增大,随着数字信号处理技术的发展,出现了可编程数字无线电,开始尝试硬件模块复用以降低成本。可编程数字无线电可以进行部分重构,简单地修改电台参数,重构功能主要集中在基带处理部分,比如选择前向纠错编码的方式等。电台功能,尤其是发射和接收操作,依然主要由硬件控制,限制了电台向多频段多功能发展的能力。
随着越来越多的基本功能改由软件完成,系统的灵活性日益增强。另外,器件技术的进步驱使模拟/数字接口逐渐靠近天线,可以由软件实现更多的功能,模拟电路对射频特性的影响不断降低。由此逐渐产生一种全新的体系结构,诞生出软件无线电。
1992年5月,MILTRE公司的Jeo Mitola首次明确提出了软件无线电(soft radio)的概念。其中心思想是:构造一个具有开放性、标准化、模块化的通用硬件平台,将各种功能,如工作频段、调制解调类型、数据格式、通信协议等用软件来完成,并使宽带A/D(模拟/数字)和D/A(数字/模拟)转换器尽可能靠近天线,以研制出具有高度灵活性、开放性的新一代无线通信系统。可以说这种电台是可用软件控制和再定义的电台。选用不同的软件模块就可以实现不同的功能,而且软件可以升级更新,其硬件也可以像计算机一样不断地升级换代。由于软件无线电的各种功能是用软件实现的,如果要实现新的业务或调制方式只要增加一个新的软件模块即可。同时,由于它能形成各种调制波形和通信协议,故还可以与旧体制的各种电台通信,大大延长了电台的使用周期,也节约了开支。有些人也把软件无线电称为”超级计算机”。
1.1.2 软件无线电的主要特点及优点
软件无线电的主要特点可以归纳如下:
(1)具有很强的灵活性 软件无线电可以通过增加软件模块,很容易增加新的功能。可以与其他任何电台进行通信,并可以作为其他电台的射频中继。可以通过无线加载来改变软件模块或更新模块。为了减少开支,可以根据所需功能的强弱,取舍选用的软件模块。
(2)具有较强的开放性 软件无线电由于采用了标准化、模块化的结构,其硬件可以随着器件和技术的发展而更新或扩展,软件也可以随需要而不断升级。软件无线电不仅能和新体制电台通信,还能和旧体制电台兼容。这样,既延长了旧体制电台的使用寿命,也保证了软件无线电本身有很长的生命周期。
软件无线电的主要优点有:
(1)简少了通信设备的硬件电路, 使系统的可靠性大大提高, 生产和维护因此变得十分简单;
(2)可以通过更新软件来实现系统功能和性能指标的升级;
(3)可以以很低的代价来扩展系统的功能, 达成对多种信号体制兼容的工作能力;
(4)通过改进数字信号处理算法, 可以获得比基于电路的传统通信设备更好的性能指标。
软件无线电这一新概念一经提出,就得到了全世界无线电领域的广泛关注。由于软件无线电所具有的灵活性、开放性等特点,使其不仅在军、民无线通信中获得应用,而且将在其他领域例如电子战、雷达、信息化家电等领域得到推广,这将极大促进软件无线电技术及其相关产业(集成电路)的迅速发展。
1.1.3 软件无线电的基本结构
软件无线电的基本思想[1]是以一个通用、标准、模块化的硬件平台为依托,通
过软件编程来实现无线电台的各种功能,从基于硬件、面向用途的电台设计方法中解放出来。功能的软件化实现势必要求减少功能单一、灵活性差的硬件电路,尤其是减少模拟环节,把数字化处理(A/D和D/A变换)尽量靠近天线。软件无线电强调体系结构的开放性和全面可编程性,通过软件的更新改变硬件的配置结构,实现新的功能。软件无线电采用标准的、高性能的开放式总线结构,以利于硬件模块的不断升级和扩展。理想软件无线电的组成结构如图1.1所示。
图1.1 软件无线电结构框图
软件无线电主要有天线、射频前端、宽带A/D-D/A转换器、通用和专用数字信号处理器以及各种软件组成。软件无线电的天线一般要覆盖比较宽的频段,例如1MHz~2GHz,要求每个频段的特性均匀,以满足各种业务的需求。例如,在军事通信中,可能需要VHF/UHF的视距通信、UHF卫星通信,HF通信作为备用通信方式。为便于实现,可在全频段甚至每个频段使用几付天线,并采用智能化天线技术。
射频前端在发射时主要完成上变频、滤波、功率放大等任务,接受时实现滤波、放大、下变频等功能。在射频变换部分,宽带、线性、高效射频放大器的设计和电磁兼容问题的处理是比较困难的。当然,如果采用射频直接数字化方式,射频前端的功能可以进一步简化,但对数字处理的要求提高。要实现射频直接带通采样,要求A/D转换器有足够的工作带宽(2GHz以上),较高的采样速率(一般在60MHz以上),而且要有较高的A/D转换位数,以提高动态范围。目前8位A/D转换器的工作带宽已做到1.5GHz以上。
模拟信号进行数字化后的处理任务全由DSP软件承担。为了减轻通用DSP的处理压力,通常把A/D转换器传来的数字信号,经过专用数字信号处理器件(如数字下变频器DDC)处理,降低数据流速率,并把信号变至基带后,再把数据送给通用DSP进行处理。通用DSP主要完成各种数据率相对较低的基带信号的处理,例如信号的调制解调,各种抗干扰、抗衰落、自适应均衡算法的实现等,还要完成经信源编码后的前向纠错(FEC)、帧调整、比特填充和链路加密等算法。由于DSP技术和器件的发展,高速、超高速的数字信号处理器不断涌现,如TMS320C6X,ADSP21160等,DSP已能基本满足软件无线电的技术需求。如果采用多芯片并行处理的方法,其处理能力还将大大提高。
软件无线电的结构基本可以分为3种:射频低通采样数字化结构、射频带通采样数字化结构和宽带中频带通采样数字化结构,如图1.2~图1.4所示。
图1.2 射频低通采样数字化的理想软件无线电结构
射频低通采样数字化的软件无线电,其结构简单,把模拟电路的数量减少到最低程度,如图1.2所示。从天线进来的信号经过滤波放大后就由A/D进行采样数字化,这种结构不仅对A/D转换器的性能如转换速率、工作带宽、动态范围等提出了非常高的要求,同时对后续DSP或ASIC(专用集成电路)的处理速度要求也特别的高,因为射频低通采样所需的采样速率至少是射频工作带宽的2倍。例如,工作在1MHz~1GHz的软件无线电接收机,其采样速率至少需要2GHz,这样高的采样率,A/D能否达到暂且不说,后续的数字信号处理器也是难以满足要求的。图1.3所示的射频带通采样软件无线电结构可以较好的解决上述射频低通采样软件无线电结构对A/D转换器、高速DSP等要求过高,以至无法实现的问题。
图1.3 射频带通采样软件无线电结构
这种射频带通采样软件无线电结构与低通采样软件无线电结构的主要不同点是,A/D前采用了带宽相对较窄的电调滤波器,然后根据所需的处理带宽进行带通采样。这样对A/D采样速率的要求就不高了,对后续DSP的处理速度也可以随之大大降低。但是需要指出的是,这种射频带通采样软件无线电结构对A/D工作带宽的要求(实际上是对A/D中采样保持器的速度要求)仍然是比较高的。
宽带中频带通采样软件无线电结构与目前的中频数字化接收机的结构是类似的,都采用了多次混频体制或叫超外差体制,如图1.4所示。这种宽带中频带通采样软件无线电结构的主要特点是中频带宽更宽(例如20MHz),所有调制解调等功能全部由软件加以实现。中频带宽是这种软件无线电与普通超外差中频数字化接收机的本质区别。显而易见,这种宽带中频带通采样软件无线电结构是上述三种结构中最容易实现的,对器件的性能要求最低,但它离理想软件无线电的要求最远,可扩展性、灵活性也是最差的。
图1.4 软件无线电的中频数字化结构
1.2软件无线电中的调制解调技术
1.2.1 软件无线电中的调制解调问题
为了能够进行无线传输以及达到多路复用、提高抗噪声的目的, 在发射端需要用代表信息的基带信号(模拟或数字的低通信号)去控制载波的参数变化, 这就是调制; 在接收端则需要从调制信号中恢复原来的基带信号, 这就是解调。已经有许多不同类型的调制方式可以适应不同的需要。
在软件无线电系统中, 调制和解调都是用程序来实现的(也称为全数字化调制解调)。要编写出各种类型调制信号的调制解调软件, 关键是确定信号处理算法。可以利用 FPGA(现场可编程逻辑器件)来实现需要的调制解调算法, 其计算速度比 DSP 更快, 但是灵活性及控制功能较差, 需要与 DSP 或单片机配合使用。
建立调制解调算法及程序的一条途径是把模拟电路的工作原理软件化[2]。比如要对 AM信号进行相干解调, 或建立载波同步乘法器、低通滤波等软件模块的做法虽然可行, 但是计算量很大。实际上, 根据软件无线电的特点, 可以建立与调制解调电路工作原理有所不同的调制解调算法。
图 1.5为 SDR 接收机中广泛使用的数字正交解调方案。这是一个具有通用性的解调模型, 对不同方式的调制信号只需要设计相应的基带解调算法。对于 AM 信号, 基带解调算法为 A(n) =(I(n) +Q(n) ) 。对 LPF 的输出进行数据抽取是因为基带信号 I、Q 需要的采样率远低于对调制信号的采样率。这种解调方案利用软件中可以实现的平方和开方运算而免去了复杂的载波同步过程,不仅减少了计算量, 也避免了因载波同步误差而引起的解调误差 (相位同步误差和比较小的频率同步误差都不影响解调效果)。因为仍然是相干解调, 所以这种解调方案具有良好的抗干扰性能。
图1.5 正交数字化解调器
但是这种解调方法的计算量还是比较大的,因为对每一次采样值都要分两路进行乘法和阶数较高的低通滤波。由于计算量大(或者说对计算速度要求高), 正交数字化解调目前也难以用价位合理的 DSP 来实现, 于是就出现了数字下变频器(DDC)这样的专用芯片。DDC 通过载波跟踪用数控振荡器产生 Cos 和 Sin 数字序列, 分别与调制信号的采样序列相乘, 并完成低通滤波和数据抽取, 输出 I、Q 信号供 DSP 进行位同步和码元解调。由于 DDC 是电路实现的, 可以采用并行处理结构 (同时进行滤波所需要的多次乘法运算), 所以能够解调计算量大的问题。目前已经产品化的软件无线电接收机, 在结构上大多是采用的是”中频采样→数字下变频器→DSP 基带解调”方案, DDC也就成了软件无线电的关键技术之一。另一种解决方案就是零中频解调, 也称为直接变换法, 即用与发射载波同频率的模拟 Cos 和 Sin 信号分别与接收到的调制信号相乘, 经过 LPF 输出 I、Q 信号, 采样后供 DSP 进行基带解调。比如在基于雷达工作原理的第二代射频身份识别系统(RFID,需要接收和解调受到射频 IC 卡控制的反射电磁波)中, 由于收、发是在同一个设备中, 可以把发射载波直接用于接收解调, 就可以采用”直接变换法”解调方案。DDC 器件价格较高, 功耗大, 功能和结构缺乏灵活性, 直接变换法性能不及中频解调方案, 所以, 如果研发出计算量小、解调质量好,能够用”中频采样-DSP 软件解调”方案实现的解调算法, 是很有意义的。
1.2.2 正交调制原理
为了采用统一的硬件结构来实现多种调制方式,我们必须寻求一种通用的解调方法,正交调制的理论很好地解决了这一问题。尽管调制样式有多种多样,但实质上不外乎用调制信号去控制载波的一个或几个参数,使这个参数按照调制信号的规律而变化的过程。调制信号的数学表达式为:
S(n)=A(n)cos[ω(n)n+θ(n)]
调制信号可以分别”寄生”在已调信号的振幅、频率和相位中,相应的调制就是调幅、调频及调相这三人调制方式。
将上式改写为:
S(n)=A(n)cos[ω n+Φ(n)]
式中, ω 表示载波的角频率。
所以, S(n)=A(n)cos[Φ(n)]cos(ω n)
- A(n)sin[Φ(n)] sin(ω n)
=X (n) cos(ω n)-X (n) sin(ω n)
式中, X (n)= A(n)cos[Φ(n)]
X (n)= A(n)sin[Φ(n)]
这就是我们所希望获得的同相和正交两个分量,由上式可以看出它们包含了信号的幅度和相位信息,根据X (n)、X (n),,就可以对各种调制信号进行解调。通用调制算法如图1.6所示。
图 1.6 数字正交调制通用模型
现以MSK信号正交调制为例来说明,二进制频移键控(MSK)信号:
S_msk 〖=cos〗(ωn+π/2 α_k/T_b n+Φ_k )
应用三角恒等式展开该式,并考虑到α_k=±1,Ф_k=0或π,则可得:
S_msk (n)=cos〖Ф_k 〗 cos〖πn/(2T_b )〗 cosωn
-α_k cos〖Ф_k 〗 sin〖πn/(2T_b ) sinωn 〗
=〖 I〗_k cos〖πn/(2T_b )〗 cosωn+Q_k sin〖πn/(2T_b ) sinωn 〗
式中,〖 I〗_k=cos〖Ф_k 〗 , Q_k= -α_k cos〖Ф_k 〗 。
DMSK(数字MSK)正交调制器实现框图如图1.7所示。
图1.7 数字MSK正交调制框图[!--empirenews.page--]
1.2.3 正交解调原理
多种调制信号在理论上都可以通过正交解调算法实现解调[3]。正交解调必须首先实现正交分解,图1.8示出了数字正交下变频法实现正交分解的框图。
图1.8 数字正交解调的通用模型
经过数字正交下变频和低通滤波后形成I 、Q 两路正交基带信号,解调算法主要是用两路正交信号计算出信号的幅度和相位。解调算法如下:
调幅解调:
A(n)=√(I^2 (n)+Q^2 (n)) (1.1)
调相信号解调:
Ф(n)=tan^(-1)〖[(Q(n))/(I(n))]〗 (1.2)
调频信号解调:
f(n)=Φ^’ (n)=Φ_n-Φ_(n-1) (1.3)
由式(1.2)和式(1.3)可见,对于调频调相信号的解调算法需要求出瞬时相位Ф(n),即需做除法与反正切运算,这在硬件实现上比较困难,若用FPGA实现则要消耗很多门资源,故需寻找简化算法。
假设I_n和Q_n为n时刻I路和Q路采样值,I_(n-1)和Q_(n-1)为n-1时刻I路和Q路采样值,则:
Dot(n)=I_n I_(n-1)+Q_n Q_(n-1)
=cos〖φ_n 〗 cos〖φ_(n-1) 〗 〖+sin〗〖φ_n 〗 sin〖φ_(n-1) 〗
=cos〖(φ_n-φ_(n-1))〗
=cos〖(∆φ)〗
和 cross(n)=I_n Q_(n-1)-Q_n I_(n-1)
=cos〖φ_n 〗 sin〖φ_(n-1) 〗-sin〖φ_n 〗 cos〖φ_(n-1) 〗
=sin〖(φ_n-φ_(n-1))〗
=sin〖(∆φ)〗
分别为前后两个数据采样点的相位差的正弦和余弦值,我们分别称Dot(n)为点积,cross(n)为叉积。通过点积值或符号可判断相差大小,可用于DPSK和DMSK的解调;通过叉积的值和符号可判断频差大小,可用于GMSK解调;通过点积与叉积符号可组合判决相差大小,从而对DQPSK、π/4 DQPSK、D8PSK等调制方式解调。点积与叉积只有和、差与乘法运算,用FPGA很容易实现。而且叉积所提取的频差可直接用于载波跟踪。
1.3课题设计内容
数字化调制是指用软件产生出调制信号的采样序列,再通过D/A转换得到模拟的调制信号,数字化解调则是指对已调波信号进行A/D转换,再通过数据处理来实现对信号的解调。数字化调制、解调是软件无线电技术(SDR)中的一个重要内容。SDR主要依靠软件来完成接收系统的各项功能,如智能天线、信号识别、调制解调等,其优点在于可以使产品的硬件大大简化,可靠性大大提高,便于生产和维护,可以通过更新软件来实现产品的功能升级等。π/4QDPSK信号相对一般的QPSK信号具有频谱更加集中,更有利于实现位同步的优点。数字化调制的基本要求是产生性能好的调制信号波形,计算量小。
本课题要求:
(1)对SDR的基本概念进行研究,重点是数字化调制、解调技术。
(2)设计一个基于离散傅立叶变换的2DPSK信号的数字化解调算法。
(3)用MATLAB语言编程产生出具有典型性的2DPSK信号。
(4)对2DPSK信号进行数字化解调。
(5)对解调的误码率进行研究。
第二章 几种基于DFT的解调技术
2.1 DFT的基本原理
离散傅立叶变换(DFT)对于有限长序列是一种非常重要的数学变换。因为其实质上是有限长序列傅立叶变换的有限点离散采样,从而开辟了频域离散化的道路,使数字信号处理论可以再频域采用数字运算的方法进行,这样就大大增加了数字信号处理的灵活性。更重要的是DFT有多种快速算法,统称为快速傅立叶变换(FFT),从而使信号的实时处理和设备的简化得以实现。因此,时域离散系统的研究于应用在许多方面取代了传统的连续时间系统。所以说,DFT不仅在理论上有重要意义,而且在各种信号的处理中亦起着核心作用。
一般DFT被定义为:
X(k)=DFT[x(n)]=∑_(n=0)^(N-1)▒〖x(n)e^(-j2πnk/N) 〗
其中, k=0,1,2……,N-1
它的逆变换IDFT定义为:
x(n)=IDFT[X(k)]=1/N ∑_(k=0)^(N-1)▒〖X(k)〗 e^(j2πnk/N)
其中, n=0,1,2……,N-1
其中,e^(-jθ)=cosθ+jsinθ 。
可以证明,离散傅立叶变换的逆变换是唯一的。
DFT的快速算法FFT的出现,使DFT在数字通信、语音信号处理、图象处理、功率谱估值、仿真、系统分析、雷达理论、光学、医学、地震以及数值分析等各个领域都得到广泛应用。
2.2 AM信号解调
2.2.1 解调方法
文献[4]中提出了一种基于DFT(离散傅立叶变换)的AM信号解调算法,要点是对低中频AM信号进行整周期采样(比如取采样频率为载波频率的8倍),对每一个载波周期内的采样点(记为x_1~x_8)进行DFT,计算出载波的幅值A(n):
I(n)=∑_(k=1)^8▒x_k cos〖(2πk/8)〗
=0.707(x_1-x_3-x_5+x_7)-x_8+x_4
Q(n)=∑_(k=1)^8▒x_k sin〖(2πk/8)〗
=0.707(x_1+x_3-x_5-x_7)+x_2-x_6
A(n)=〖(〖I(n)〗^2+〖Q(n)〗^2)〗^(1/2)
显然,去除直流成分后,A(n)序列便是需要的解调输出。与一般的正交解调算法相比较, 由于省去了低通滤波和数据抽取过程, 对采样数据基本上只做加减运算, 每 8 个采样点才做一次平方、开方运算, 计算量大大降低, 为采用”中频采样-DSP 解调”方案创造了条件。采用较低的采样频率( 比如每个载波周期采样 4 个点) 也可以正常解调, 当然较高的采样频率对抑制噪声是有利的。
2.2.2 解调失真度
要正确的完成对AM信号的解调,必须考虑输出的失真度,只有失真度限制在一定的范围内,才可能不失真的恢复原始调制信号(通常应小于0.1)。失真度的表达式如下式:
D=√(P_x/P_s )
其中,P_x表示谐波功率,P_s表示输出信号功率。
在不存在定时误差的情况下,失真度很小,通过计算得出D=3.4*〖10〗^(-7),可以完全忽略不计,改变调幅系数对解调输出失真没有明显的影响。
在存在定时误差时,会对失真度有一定的影响。所谓定时误差是指由于AM信号载波频率偏离设计值(或接收端对载波频率测量存在误差)和采样定时精度有限等原因,使得对AM信号在一个载波周期内的平均采样点数不是整数。若对AM信号每20个载波周期采159.5点(定时误差大约为0.0031),得到失真度为D=0.0081。每20个载波周期采159点,得到D=0.02.可见定时误差会使失真度增大,但在通常的定时误差条件下,失真度仍然是可以忽略的。
2.3 QDPSK信号数字化解调
按照定义产生的PSK信号在码元切换时会发生相位跳变,需要经过限带滤波后才能够发射(或者先对基带信号进行限带滤波,再进行正交调制),在接收机的解调器之前也会对信号进行带通滤波,所以实际接收到的PSK信号的码元波形会分成两种区域,码元的中间部分是稳定区,前、后部分位过渡区。稳定区内的波形接近正弦波,过渡区内的波形则不是正弦波,并且幅度明显降低。因为信道噪声在整个码元内是相同的,所以在过渡区内信噪比很低。提出数字化解调方案应该考虑上述条件。
为了表述方便,下面先以一个QDPSK信号为例来对解调方法进行说明,然后再就一般情况进行讨论。设进入解调器的中频QDPSK信号一个码元包含10个载波周期,中间5个周期为稳定区,信号上叠加了高斯型噪声,载波频率已知(由收发双方约定,或在接收机中利用某种方法测定),采样频率取为载波频率的8倍,码元数据与相位跳变的关系是:
00–0π, 10–π/2, 11–π, 01–3π/2
2.3.1解调方法
先假设已经实现位同步,取码元稳定区内的40个采样值(计为x -x )进行DFT,求出5次谐波(即载波)谱值的实部I和虚部Q,再求出相位Ф作为本码元的相位,用本码元相位减去前一码元相位,便得到本码元的相位跳变值∅_T。有关的计算公式如下:
I=∑_(k=1)^40▒x_k cos〖5*2πk/40〗
=1/40 ∑_(k=1)^40▒x_k cos〖πk/4〗
Q=1/40 ∑_(k=1)^40▒〖x_k sin〖πk/4〗 〗 (2.1)
θ= tan^(-1)〖|Q/I|〗
当 I≥0,Q≥0 时 ∅=θ ; 当I≥0,Q<0时 ∅=-θ ;
当 I<0,Q<0时 ∅=π+θ; 当 I<0,Q≥0时 ∅=π-θ ; (2.2)
码元的相位跳变为:
∅_T=∅_b-∅_a+∅_d (mod 2π) (2.3)
其中∅_b 是本码元相位,∅_a是前一码元相位,∅_d是调整位同步点时的附加相位(见下段内容)。从∅_T到码元解调数据的判决条件为:
π/4≥∅_T≥-π/4 判为 00;3π/4≥∅_T≥π/4 判为01
5π/4≥∅_T≥3π/4 判为 11;7π/4≥∅_T≥5π/4 判为10 (2.4)
2.3.2位同步方法:
正交数字化解调是对基带信号I、Q执行位同步算法,而本方案是直接用QDPSK信号的采样值进行位同步,其原理是:按载波周期(对应连续8个采样值)进行DFT求出载波幅值A_1,在码元切换处A_1将出现极小值,所以通过寻找A_1的极小值点,就可以实现位同步。
初始位同步: 为了提高位同步的定位精度,每接受到4个采样值就用最新的8个采样值(记为x_1 〖~x〗_8)计算一次A_1:
I_1=1/8 ∑_(k=1)^8▒x_k cos〖πk/4〗;
Q_1=1/8 ∑_(k=1)^8▒x_k sin〖πk/4〗;
A_1=√(〖I_1〗^2+〖Q_1〗^2 ) (2.5)
对前后的A_1值进行比较,就可以找出极小值点,如果该点的A_1值也明显小于A_1的正常值,则该点就是一个码元切换点(而不是由于干扰引起的)。继续寻找下一个码元切换点,如果前后两个码元切换点的距离(用采样点数表示)近似等于80的整数倍,便认为位同步成功,可以开始进行码元解调。否则就继续寻找下一个码元切换点。
位同步维持: 对每一个码元,在计算过码元的相位后,便从该码元的倒数第2个载波周期开始按(2.5)式计算A_1值,并寻找码元切换点,如果在4个载波周期内没有出现或者找到的码元切换点与原来的位同步点相同,则位同步点不调整;否则,就要进行位同步点调整:如果找到的码元切换点超前于现有的位同步点,就把位同步点前移一个采样点,如果找出的码元切换点落后于现有的位同步点,就把位同步点后移一个采样点。如果调整了位同步点,就需要在后一个码元的相位跳变值上加上一个修正值∅_d,见(2.3)式。位同步点后移时∅_d=π/4,位同步点前移时∅_d=-π/4 。
2.3.3 QDPSK信号的数字化解调
文献[5]中提到了一种基于DFT的QDPSK信号解调算法。接收到的限带 QDPSK 信号的码元波形分为两个区域, 中间部分是稳定区, 前、后部分为过渡区。信号波形在码元稳定区内基本上是正弦波, 在过渡区内幅度明显降低。
设进入解调器的中频QDPSK信号的一个码元包含10个载波周期,中间7个周期为稳定区,采样频率取为载波频率的8倍。
解调方法:用码元稳定区内的56个采样值(记为x_1~x_56)进行DFT,求出7次谐波(即载波)谱值的实部I和虚部Q,在求出本码元的相位∅,用本码元相位减去前一码元相位,即得到本码元的相位跳变值,进而可判决得到本码元的数据。DFT部分的算式如下:
I=1/56 ∑_(k=1)^56▒x_k cos〖πk/4〗
Q=1/56 ∑_(k=1)^56▒〖x_k sin〖πk/4〗 〗
∅=tan^(-1)〖 (I+j*Q)〗
QDPSK信号解调的位同步可以利用DFT算法实现。按载波周期(连续8个采样值)进行DFT求出载波幅值A_1,因为在码元切换出A_1将出现极小值,所以通过在码元过渡区内寻找A_1的极小值点就可以实现初始位同步及位同步维持。
第三章2DPSK信号数字化解调算法
3.1 2PSK及2DPSK信号原理[6]
二进制移相键控(2PSK)方式是受键控的载波相位按基带脉冲而改变的一种数字调制方式。设二进制符号及其基带波形与以前假设的一样,那么,2PSK信号的形式一般表示为:
e_0 (t)=[∑_n▒a_n g(t-nT_s)]cos〖ω_c 〗 t
这就是说,在一码元持续时间内,当发送二进制符号0时,e_0 (t)取0相位;发送二进制符号1时,e_0 (t)取π相位。这种以载波的不同相位直接去表示相应数字信息的相位键控,通常被称为绝对移相方式。
但我们看到,如果采用绝对移相方式,由于发送端是以某一个相位做基准的,因而在接收系统中也必须有这样一个固定基准相位做参考。如果这个参考相位发生变化(0相位变为π相位或者π相位变成0相位),则恢复的数字信息就会发生0变为1或者1变为0,从而造成错误的恢复。考虑到实际通信时参考基准相位的随机跳变是可能的,而且在通信中不易被觉察,比如,由于某种突然的骚动,系统中的分频器可能发生状态的转移、锁相环路的稳定状态也可能发生转移等等。这样,采用2PSK方式就会在接收端发生错误的恢复。这种现象,通常称为2PSK方式的”倒π”现象或者”反向工作”现象。为此,实际中一般不采用2PSK方式,而是采用一种所谓的相对(差分)移相(2DPSK)键控方式。
2DPSK方式即是利用前后相邻码元的相对载波相位值去表示数字信息的一种方式。例如,假设相位值用相位偏移∆∅表示(∆∅定义为本码元初相与前一码元初相之差),并设
{_(∆∅=0 数字信息”0″)^(∆∅=π 数字信息”1″)
则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:[!--empirenews.page--]
数字信息: 0 0 1 1 1 0 0 1 0 1
2DPSK信号相位: 0 0 0 π 0 π π π 0 0 π
或者: π π π 0 π 0 0 0 π π 0
2DPSK信号的波形与2PSK信号的波形不同,2DPSK信号的波形的同一相位并不对应相同的数字信息符号,而前后码元相对相位的差才是唯一决定信息符号的因素。这说明,解调2DPSK信号时并不依赖于某一固定的载波相位参考值,只要前后码元的相对相位关系不破坏,则鉴别这个相位关系就可正确恢复数字信息,这就避免了2PSK方式的倒π现象发生。
二进制移相键控系统在抗噪声性能以及信道频带利用率等方面比二进制FSK和OOK优越,因而被广泛应用于数字通信中。考虑到2PSK方式有倒π现象,故它的改进型2DPSK信号受到重视。目前,在话带内以中速传输数据时,2DPSK是CCITT建议选用的一种数字调制方式。
3.2 基于DFT的2DPSK信号数字化解调方法
实际中接收到的2DPSK信号在经过带通滤波后,由于码元跳变出的高频分量被过滤掉,滤波后的 2DPSK 信号波形分为稳定区和过渡区, 码元中间部分是稳定区, 前、后部分为过渡区[7]。稳定区内的信号基本无损失, 波形近似为正弦波, 而过渡区内的波形则不是正弦波, 并且幅度明显降低。调制信息基本上只存在于码元稳定区。从上述分析出发, 可以得到如图 4.1 所示的基于 DFT 的数字解调方案。
图3.1 DFT解调算法框图
对每个码元稳定区内的采样点按照下面式子做DFT:
I=1/N ∑_(k=1)^N▒x_k cos〖2πk/n〗
Q=1/N ∑_(k=1)^N▒x_k sin〖2πk/n〗
其中, n 代表每个载波周期的采样点个数, N 代表做 DFT 时使用的稳定区内的采样点个数(通常取多个载波整周期)。
然后,提取出前后码元的相位跳变信息∅_T来进行解调判决:
计算θ=tan^(-1)〖(Q/I)〗,并根据Q和I的正负情况确定θ的取值范围。
当 I≥0,Q≥0 时 ∅=θ ; 当I≥0,Q<0时 ∅=-θ ;
当 I<0,Q<0时 ∅=π+θ; 当 I<0,Q≥0时 ∅=π-θ ;
把本码元的相位记为∅_b,前一码元的相位记为∅_a,则
∅_T=∅_b-∅_a+∅_d (mod 2π) (3.1)
其中∅_d是进行了位同步点调整时附加的相位。
∅_d=±m*2π/n
m为位同步调整时移动的采样点个数,n为每个载波周期的采样点个数。
从∅_T到码元解调数据的判决条件为:
-π/2≤∅_T≤π/2 判为 0;
π/2≤∅_T≤3π/2 判为 1;
图3.2 2DPSK移相信号矢量图
可见,在每个码元周期只需要计算一次相位值即本码元的相位,然后相减得到跳变相位,就可以依据判决条件恢复原始数据,而不需要像文献[7]中所提到的对每个码元要随着窗函数的移动多次计算谱值,因而大大减轻了计算量,非常适合于软件无线电的数字化实时解调。
3.3 解调中的位同步方法
位同步是数字化解调中不可缺少的一个重要环节。在本方案中,对采样点按照载波周期做DFT提取幅度信息则可以建立起初始位同步。其原理是:由于稳定区内的信号基本无损失,而过渡区内信号的幅度则明显降低,如果按照载波周期对采样值进行DFT,在码元波形过渡区得到的载波幅值A_1会比在码元稳定区内求得的A_1值小,而且存在一个极小值,当该极小值小于给出的判决门限值时(防止噪声引起的误判),可确定为码元的切换点。因此通过对A_1值进行检查就可以确定码元切换点。在实际的通信中,为方便初始位同步的建立,可以发射一连串的1序列,以保证前后码元存在π相位的跳变,更有利于寻找码元切换点。
在初始位同步建立后,由于码元定时误差和噪声干扰,位同步点可能有偏差,还必须进行调整。对每个码元计算过相位后,在过渡区仍旧按载波周期计算A_1值,并检测幅值极小点。没有出现幅值极小点(表明前后码元相位连续)或者找到的幅值极小点与原位同步点相同,则位同步点不调整;否则,根据本次计算出来的幅值极小点对已建立的位同步点进行调整,并根据调整结果对码元的跳变值附加修正值∅_d,且∅_d的大小由公式(3.2)决定。
〖 ∅〗_d=±m*2π/n (3.2)
其中,m为位同步调整时移动的采样点个数,n为每个载波周期的采样点个数。
3.4 相关说明与讨论
(1)在进行码元解调时也可以把靠近稳定区的一些采样值用于DFT计算(采样值的数目仍需要与整数个载波周期相对应),以求进一步降低误码率,因为那里的信噪比也比较高。其实稳定区和过渡区并无一个明确的分界点。
(2)在进行位同步计算时,如果一个码元包含的载波周期比较多(比如一个码元包含50个载波周期),也可以每n个采样值(一般情况下,为了提高位同步定位精度,每接收到n/2个采样值就用最新的n个采样值计算一次A_1)进行一次DFT,求出I_1 和Q_1值。
I_1和Q_1计算公式是:
I_1=1/n ∑_(k=1)^n▒x_k cos〖2πk/n〗
Q_1=1/n ∑_(k=1)^n▒x_k sin〖2πk/n〗
(3)在一般的举例中我们会假设一个码元周期刚好等于整数个载波周期,但是解调方法并不要求一定如此。比如一个码元包含10.25个载波周期,将有82个采样点(假设n=8),只要把码元过渡区算为5.25个载波周期,仍然使用稳定区内的N个采样值来进行DFT计算就可以了(计算码元相位跳变的公式需要做相应改变)。
(4)在实际系统中不可避免会存在位同步误差(确定的码元起点与实际起点有偏差),只使用码元稳定区内的采样值进行解调计算,位同步误差的影响也可以消除或减小。
(5)一般情况下举例时,采样频率是取为载波频率8倍时候多,如果取为4、5或者9、10等整数,也可以实现解调(有关计算公式需做修改)。但是降低采样频率不利于抑制噪声,会使误码率有所增大。选择8或者4还可以减小计算量,比如为8时,则对码元采样点按照前面公式做DFT时,可求得:
I=1/N ∑_(k=1)^N▒〖x_k cos〖2πk/n〗 〗
= 1/40 ∑_(k=1)^40▒x_k cos〖πk/4〗
=0.025[x_1+x_9+x_17+x_25+x_33-x_5-x_13-x_21-x_29-x_37+0.707(x_2+x_10+〖 x〗_18+x_26+x_34-x_4-x_12-x_20-x_28-x_(36" " )-x_6-x_14-x_22-x_30-x_38+〖 x〗_8+x_16+x_24+x_32+x_40)]
可以看出,几乎只需要做加、减运算就可以了。另外,考虑到需要进行载波解调和位同步,在倍数为8时每个码元采样80点已经是比较少的了。
(6)如果存在采样定时误差(采样频率不等于载波频率的整数倍),也会使误码率增大,但是不一定很严重。
(7)本解调算法对于各种MDPSK以及π/4QDPSK信号都是适用的,只要修改从码元的相位跳变值到调制数据的判决条件式就可以了,也可以推广到MQAM(幅相联合调制)信号的解调,因为通过DFT不仅可以求出码元的相位及相位跳变,也可以求出码元的载波幅值。
图3.3 采用中频自动调整方案的SDR接收机结构
(8)为了使采样频率为中频的整数倍,可以采用如下的电路方案:按照设定的采样频率进行采样,在解调程序中去检查在码元稳定区中的40个采样点是否刚好对应5个载波周期,如果有偏差,再去控制变频器的本振(VCO)频率,使中频向正确的方向改变。相应的软件接收机结构如图3.3所示:
第四章 2DPSK信号数字化解调的仿真研究
4.1 仿真软件工具的选择
在目前工程界使用的各种仿真工具中,MATLAB是应用最广泛,也是使用最简便的一个,相比于其他各种仿真工具,它具有很多独特的优点。因此,本次设计中的算法仿真我们选用MATLAB作为仿真工具。
MATLAB是矩阵实验室(Matrix Laboratory)之意。除去本身卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学工程那个中常用的形式十分相似,故用MATLAB来解算问题要比用C语言、FORTRAN等语言完成相同简捷得多。
当前流行的MATLAB5.3/Simulink3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包。功能性工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
一种语言之所以能如此迅速的普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。下面简单介绍一下MATLAB的主要特点[8]
1:语言简洁紧凑,使用方便灵活,库函数及其丰富。MATLAB程序编写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不用担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。
2:运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
3:MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4:程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可以使用。
5:程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
6:MATLAB的图形的功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。
7:MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
8:功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心的内部函数。其工具箱又分为两类:功能形工具箱和学科性工具箱。工具性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl processing toolbox,commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9:源程序的开放性。开放性也许是MATLAB最受人欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
4.2 程序流程图
实现2SPSK信号数字化解调的程序分为5个部分,在这里,我首先介绍一个总体的流程图,然后介绍几个主要部分的程序流程图。
2DPSK信号数字化解调仿真流程图如下:[!--empirenews.page--]
接下来,介绍其他几个主要部分的程序流程图。
首先介绍cm_dpsk: 它以微分方式实现二进制随机序列a的差分编码,最后生成差分编码变换序列b。
再介绍一下滤波器设计函数filter_dpsk2:
4.3 仿真主要代码介绍
本算法仿真包括了5个部分,它们分别是:
第一部分:cm_dpsk。这部分完成差分编码功能,由第二部分调用。它的程序流程图在前面已经画出。
第二部分是cm_sm12。该函数完成信源的产生,再调用函数cm_dpske完成差分编码,然后调用噪声函数对原始信号进行噪声干扰,接着调用滤波器函数filter_dpsk2对加噪信号进行滤波。然后绘制出几个函数的图形。包括信号图,加载波后的图,加入噪声后的图等。
第三部分就是主函数部分DPSK2。调用其他几个部分程序,产生误码率图形。
这部分是本程序的主体,它的代码如下:
clear all
echo off
SNRindB1=0:2:12;
wh=waitbar(0,’Percentage Completed’);
set(wh,’Position’,[230 60 275.25 56.25]);
set(wh,’name’,'Please wait…’);
wb=100/length(SNRindB1);
for i=1:length(SNRindB1),
smld_err_prb(i)=cm_sm12(SNRindB1(i),i); %仿真误码率
str_bar=[num2str(wb) '% Completed'];
waitbar(wb/100,wh,str_bar);
wb=wb+100/length(SNRindB1);
end;
close(wh)
%随后为绘图曲线
figure
semilogy(SNRindB1,smld_err_prb,’-*’);
xlabel(’信噪比(dB)’);
ylabel(’误码率’);
legend(’2DPSK性能分析图’)
grid
它首先清屏,然后用for函数判断,当符合条件时,调用cm_sm12,然后绘制出误码率性能分析图。
第四部分:filter_dpsk2。这部分是滤波器函数,设计完成滤波器并绘图。首先定义了滤波器的几个参数,然后调用freqz()函数设计滤波器。
这部分代码如下:
function[p,q]=filter_dpsk2
Fs=200000;
wp=[45000 55000]*2/Fs;
ws=[40000 60000]*2/Fs;
Rp=1;
Rs=30;
n=40;
f=[0 ws(1) wp(1) wp(2) ws(2) 1];
c=[0 0 1 1 0 0];
b=remez(n,f,c);
p=b;
q=1;
if nargout<1;
freqz(b);
end;
第五部分:gngauss。这部分是噪声函数。产生噪声信号。供其他几部分调用。
以上几个部分中,此处列出了第三部分dpsk2和第四部分滤波器filter_dpsk2的程序代码,其他几个部分代码详见附件在此不予列出。
4.4 仿真输出结果
程序运行结果如下面各图所示。:
图4.1 原始信息码、差分码和2DPSK调制信号图
图4.2 加噪信号经过滤波器后的信号图
图4.3 滤波器特性图
图4.4 2DPSK解调误码性能分析图
第五章 毕业设计总结
5.1基于DFT的2DPSK信号数字化解调算法的特点
和一般的正交数字化解调算法相比较,本文中提出的基于DFT的2DPSK信号数字化解调算法和位同步方法的特点是:
(1).通过调整变频器的本振频率,得到固定的中频,采样频率取为中频的整数倍,码元解调和位同步计算所使用cos和sin序列都是固定的;
(2).在每个载波周期采样8或者4点时,DFT几乎只需要做加、减运算,而且省去了数字低通滤波器,所以计算量较小,有利于DSP软件实现;
(3).不需要进行载波相位同步,接收系统能够快速地进入正常解调工作状态;
(4).不需要为实现载波和位同步而发射专门的同步数字序列,所以可以在数字广播等通信系统中使用;
(5).由于是利用码元稳定区的采样值进行解调,去掉了信噪比很低的码元过渡区的不利影响,以及DFT本身的良好滤波特性,所以解调误码率较低。
另外,通过仿真结果可以得到:本文提出的基于DFT的2DPSK信号数字化解调算法结构简单,计算量大大降低,抗干扰性能有明显改善,在数字化软件接收机中有具有一定实际意义。
5.2 设计中遇到的问题及不足之处
在这次做毕业设计的过程中,遇到不少的问题。首先是对基于DFT的2DPSK信号解调算法的设计中。由于通信原理课程学过已经快2年时间了,对于里面的知识也记忆不是很深刻了。为了弄清楚信号解调以及2DPSK信号的数字化解调,我从新学习了通信原理课本中有关调制解调的章节,并且去定王台图书城购买了有关这方面的书籍,深入的学习了信号调制解调和2DPSK信号,QDPSK信号以及MDPSK信号等多种信号解调算法。然后参考长沙理工大学和我们学校几位老师的论文作品,设计出了本论文中所用的算法。第二个问题是关于MATLAB的。虽然说MATLAB在当今是应用非常广泛的工具,但是我们只是在数字信号处理中对其有个初步的接触,并没有深入学习了解。这次毕业设计,题目要求用MATLAB编程实现信号解调算法的仿真。这花费了我很大的精力,通过图书馆借书,找老师指点,经过一番努力,总算学会了MATLAB,并编写出了算法代码。
本次设计的不足之处存在于算法的仿真之中。因为仿真中一些数据的设置没有标准的参数,个人设计时候的差异会使仿真图形有时候显示不够理想,这个问题可以通过改变参数设置来解决。比如修改比特参数N和信噪比范围等参数。
5.3 心得体会
转眼之间,做毕业设计已经四个多月了。在这四个多月的日子里,我先后完成了资料搜集,整理,算法研究,代码编写,论文撰写等多个步骤。经过四个多月的努力与辛劳,在老师和同组同学的帮助下,总算在5月20号基本完成了本次毕业设计。
回顾这四个多月的经历,通过本次毕业设计,我在学习方法,逻辑思维,分析和解决问题的能力等各个方面都有了长足的进步。
首先,在理论方面,为了完成对各种资料的搜集,整理,我在开始做毕设的一段日子里天天出入于图书馆和自习室,还特意去定王台的图书城买回来一些资料。通过对这些资料的学习,结合以前学通信原理,数字信号处理等课程时的笔记,我对于信号的调制解调、离散傅立叶变换等有关本次设计的内容有了深入的理解。有了这些坚实的基础,再加上我们学校和长沙理工大学一些老师的有关信号解调方面的论文作品,经过努力,我完成了本次设计的算法研究,即基于DFT的2DPSK信号数字化解调算法的研究。
其次,为了编写仿真代码,我从零开始,对于以前几乎没多少接触的MATLAB进行了系统细致的学习。学习完MATLAB的知识后,参考老师给的供我们参考的一段程序,在老师的帮助下,我成功的写出了本次设计的算法的代码。至此,我的毕业设计的主要内容宣告完成。MATLAB是当前工程界应用非常广泛的工具,对它的深入学习,对我以后的工作也会有很大的帮助。