微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 2DPSK信号数字化解调技术研究

2DPSK信号数字化解调技术研究

时间:03-29 来源:互联网 点击:

(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信号数字化解调仿真流程图如下:

接下来,介绍其他几个主要部分的程序流程图。
首先介绍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);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top