DBF技术范文
DBF技术范文(精选4篇)
DBF技术 第1篇
数字波束形成(DBF)是在原来模拟波束形成原理的基础上、引入数字信号处理方法后建立的一门雷达新技术。DBF的出现和发展既是现代电子战对雷达需要牵引的结果,也是雷达技术和其它相关领域技术进步的产物。先进的自适应信号处理和阵列信号处理方法既为DBF的研究与实现提供了强有力的手段,也为DBF的实用拓广了应用领域。本文基于DBF体制的某三坐标雷达,对DBF技术的原理,工程应用做了详细的介绍。
1 基本原理
参数说明:Si为第i阵元的输入信号;N为阵元个数;d为阵元间距;θ为入射信号和阵元之间的夹角;λ为发射机发射载波所对应的波长;k为波束的序列号,空间上共形成M个波束。Wi为第i阵元的加权系数。通过改变加权因子(系数)Wi,就可以控制波束的指向和形状,以及副瓣电平。需要指出的是,加权系数在实际应用中还可能包含各种校正系数,如对各通道之间的幅度相位不一致校准,甚至于对每一通道内的I/Q信号的幅度相位误差的校正和信号零漂的校正。回波信号经N路阵元送至中频接收机,经I/Q采样产生I,Q信号,通过LVDS电缆送至信号处理。DBF硬件平台接收来自于前端的N路阵元信号,合成M个波束。
接收数字波束形成的原理框图如图1所示。
2 数字波束形成技术的工程应用
2.1 硬件平台
数字波束形成的硬件部分主要由FPGA(EP2S60)和DSP(ADSP-21060)通用处理器构成的系统,板卡包含了相应的LVDS接口电路。使用FPGA和DSP的架构可以很好的发挥各自的优势,FPGA器件具有集成度高、工作速度快、编程方便、功耗低、性价比高等优点。而DSP芯片具有运算速度快、设计灵活性高、精度高(16位数字系统可以达到10-5)等优点。本硬件平台中DSP芯片根据当前工作模式,工作频率实时的计算出波束形成系数,并将系数缓存在ADSP-21060的内部RAM当中;实际工作中,可以根据控制命令的改变,ADSP-21060实时的将对应的波束形成系数根据地址总线信息,通过数据总线送至FPGA;而EP2S60则完成I/Q数据的缓存,波束形成系数的缓存以及I/Q数据,波束形成系数的乘累,最终合成波束输出。其原理框图如图2所示。
2.2 软件设计
2.2.1FPGA模块设计
EP2S60为Stratix II系列器件,其内部丰富的逻辑资源为设计带来了诸多便利,其中包括:2,544,192bits RAM,36个DSP模块,144个18bit*18bit乘法器。
EP2S60内部的逻辑设计主要包括时序设计、对DSP的地址译码、和DSP的数据交换、接收通道进数的缓存、接收通道和波束形成系数的对齐、复数乘法累加运算等。
在EP2S60内部,I/Q数据和DSP送进来的波束形成系数合成十路接收波束,以I/Q数据串行输出的方式送至信号处理模块。图3给出了EP2S60内部功能简图。
2.2.2DSP程序设计
本DSP的程序采用全汇编语言编写,保证了软件的运行效率。根据外来的中断信息,DSP完成的各项功能包括:
(1)完成各通道的数据采集并进行通道校正;
(2)计算出雷达在不同工作模式,不通频率下的波束形成系数;
(3)在雷达休止期内读取主通道和辅助通道的进数,并计算出上一个重复周期的对消系数送至FPGA;
(4)发射通道校正。计算出各个发射通道的幅度值和相位值。图4给出了DSP程序设计流程图。
2.3 设计结果
假设接收波束为十个波束,覆盖空域0~40°。若采用相等的交叠电平间隔势必带来交叠电平过大,从而直接影响到点迹测高的精度。所以我们采用了低波束低交叠电平,高波束高交叠电平,通过不同的加权窗,既保证了测高的准确性,又确保完整的覆盖空域。图5为十个交叠接收波束的仿真结果。
2.4 试验结果
试验中采用了-70°~+70°的扫角数据,利用QUARTUS集成的软环境逻辑分析仪可以采集到对应空域不同方向的接收波束波瓣图,图6为低仰角接收波束,图7为高仰角接收波束,测试结果与仿真结果保持一致。
3 结语
本文比较详细的介绍了数字波束形成的原理、硬件组成、工程实现方法以及试验结果。本平台已经成功应用于某型号地面雷达产品,性能稳定,可靠性高,在工程应用中具有一定的参考价值。
参考文献
[1]马晓岩,向加彬等.雷达信号处理[M].长沙:湖南科学技术出版社.1999
[2]朱子平,吕继荣等.数字波形成在雷达中的运用及分析[J].中国电子科学院研究学报.2006(3)
[3]孙晓舟,吕继荣.多工作模式下数字波束形成的工程实现[J].中国电子科学院研究学报.2007(3)
ETL实践之高效提取DBF数据库 第2篇
1.1 商业智能与ETL
商业智能 (Business Intelligence, BI) 通常被理解为将企业中现有的数据转化为知识, 帮助企业做出明智的业务经营决策的工具。俗话说“巧妇难为无米之炊”, 商业智能作为工具, 其需要有指定的处理对象, 而“企业中现有的数据”就是商业智能用以下锅的“米”。
企业中现有的数据包括来自企业内部业务系统或外部环境中的数据。例如, 企业的“供销存”系统所录入的订单、存货、交易等信息, 或者由市场部收集竞争对手的指标信息等。文中主要关注的是企业内部业务系统的数据。
但是, 无论是内部数据还是外部数据, 首先要做的就是数据的提取、转换和加载, 这就是业内所说的ETL (Extract Transform Load) 过程, 没有ETL过程, 后面的数据分析就没法进行, 更谈不上辅助决策。所以ETL过程是实现商业智能的“先遣部队”。
1.2 系统现状
对于现有业务系统, 由于各企业的信息化程度不一致, 从而导致业务系统在标准化和数据共享方面也存在一定的差异。早期的一些业务系统可能使用Delphi、C++Builder、VB等快速开发工具进行开发, 受到企业规模或开发工具本身的影响, 系统可能选用一些比较简单的数据库, 最典型的就是Borland公司伴随开发工具提供的DBF数据库引擎。
随着数据库技术的不断成熟, 企业国际化趋势的不断发展, 越来越多的企业开始摒弃在数据共享方面存在诸多不便的单机系统, 而是逐步采用C/S、B/S或多层的架构, 越来越多的企业级数据库也不断面世, 例如:Oracle、DB2。
但是时至今日, 在项目调研过程中发现很多单位还是使用单机版的系统, 其所使用的是DBF数据库。很典型的例子是:下属单位通过单机版系统填报数据, 这些数据按照数据表保存在多个DBF数据库文件中, 通过系统工具可以把多个DBF数据库文件打包成单个文件, 再上报给主管单位。主管单位使用同样的单机系统导入下属单位的打包文件, 将打包文件分解成多个DBF数据库文件, 再通过DBF数据库引擎读取数据库中的数据, 并按照数据表将各个下属单位的数据进行汇总, 形成汇总数据, 如图1所示。
通过图1可以看出, 一旦这些单位需要进行系统改造, 建立以数据中心为核心的商业智能平台, 其首要的工作就是如何高效地、方便地提取这些DBF数据库。
2 设计过程分析
2.1 文件结构
图2是DBF数据库文件的内容结构示意图, 根据该格式定义, DBF数据库文件提取模块就能够解析文件中所包含的信息。
2.2 抽取思路
由于业务系统采用J2EE平台, 所以使用Java语言开发DBF数据库文件的提取模块, 并将该模块分为4个层次:格式定义、读取解析、工具类和应用示范。其中格式定义包定义了DBF数据库文件的格式;读取解析包按照格式来进行文件解析操作;工具类是对提取模块中常用操作进行封装形成的API;应用演示主要是表现如何使用工具类API进行实际的提取应用。
对于数据表的模式管理, 可以通过DBF数据表的字段信息以及DBF字段类型与目标数据库的字段类型的对应关系来构造。例如:DBF数据库的DOUBLE (8, 2) 字段类型对应Oracle数据库的NUMBER (8, 2) 类型。
有了数据表的模式和数据内容, 开发者就能够在各种应用环境建立数据中心, 并方便地进行数据迁移。
2.3 抽取工具结构
按照设计思路, 使用Eclipse开发工具进行该抽取模块的开发, 将该模块划分为4个包。
2.3.1 格式定义
(1) DBF文件 (DBFFile) :代表DBF数据库文件格式。
(2) DBF头部 (DBFHeader) :代表DBF数据库头部的格式。
(3) DBF字段信息 (DBFField) :代表DBF数据库字段信息的格式。
(4) DBF字段类型 (DBFFieldType) :定义DBF数据库字段类型。
(5) DBF记录 (DBFRecord) :代表记录格式。
2.3.2 读取解析
(1) DBF文件解析器 (DBFFileReader) :DBF数据库文件解析器。
(2) DBF头部解析器 (DBFHeaderReader) :DBF数据库文件头部解析器。
(3) DBF字段信息解析器 (DBFFieldReader) :DBF数据库字段信息解析器。
(4) DBF记录解析器 (DBFRecordReader) :记录解析器。
2.3.3 工具类
(1) 文件工具 (FoolFile) :文件流操作封装。 (2) DBF工具 (DBFUtil) :DBF数据库操作封装。
2.3.4 应用演示
DBF工具演示 (DBFUtilDemo) :抽取DBF数据库文件的应用实例。
图3是该DBF数据库文件提取模块中, 各子模块的关系图。
3 开发
3.1 提取数据库名
代码1是通过DBF数据库文件路径来获取数据库名的主要代码:
通过代码1可以看出, 所谓的DBF数据库名就是DBF数据库文件名。
3.2 解析DBF数据库文件
代码2是打开DBF数据库文件并获取一个代表DBF数据库文件的对象实例的主要代码:
代码2中, 调用了DBF文件读取解析类 (第3行的DBF-FileReader) 来读取DBF文件, 并返回存储所有DBF数据库文件信息的实例 (第8行) 。代码3是DBF文件读取解析类读取DBF文件的主要代码:
代码3中, DBF文件解析器又调用了DBF头部解析器 (第5行) 、DBF字段信息解析器 (第9行) 和DBF记录解析器 (第16行) 来完成对整个DBF文件的解析。
3.3 解析DBF数据库头信息
代码4是解析DBF文件头部信息的主要代码:
代码4中, DBF文件头部解析器调用文件工具类, 并按照DBF头部格式, 如图2所示, 来解析DBF文件头部信息, 并返回头部信息结构实例。
3.4 解析DBF数据库字段信息
代码5是解析DBF文件字段信息的主要代码:
通过代码5可以看出, 1个DBF文件包含一个序列的字段信息, 字段信息通过字段结束标志 (第20行的0xD) 来标识结束。代码5中, DBF字段信息解析器调用文件工具类, 并按照DBF字段信息格式, 如图2所示, 来解析DBF文件字段信息, 并将所有字段信息添加到一个数组中。
3.5 提取数据表模式
有了DBF数据库文件中的字段信息, 就可以方便地提取对应的数据表的模式定义。代码6是通过DBF工具类提供的提取数据表模式定义的方法:
所谓的数据表模式定义, 可以通过数据定义语言 (DDL) 来表现, SQL1就是通过提取的数据表模式信息进行“还原”后的建表SQL语句。
有了这些SQL语句, 以及各种数据库字段类型之间的对应关系, 开发者可以方便地将DBF的建表SQL语句替换成O-racle、SQL Server等大型数据库的SQL语句, 这样可以极大提高建立数据标准的效率。
3.6 提取DBF数据库记录
字段信息之后就是所有记录内容, 代码7是提取DBF数据库记录的主要代码:
通过代码7可以看出, 每条记录是由一序列的字段值组成, 所有记录形成记录集。
3.7 导出DBF数据库文件
代码8是将指定DBF文件内容导出到指定文件的方法定义。
代码8实际上是综合了代码7、代码6、代码2中的方法, 形成应用模式。代码8中, 实现了将DBF数据库文件中的内容导出到指定文件 (每1条记录就是1行, 每行的字段通过制表符分隔, 如图4所示) 。
代码8第19行, 记录集的提取支持按照字段过滤。默认情况下, 每条记录包含所有字段的内容;如果指定字段集合, 每条记录只包含所需的字段, 其最典型的应用是字段裁剪。
3.8 提取所有记录集 (所有字段)
代码9是代码8中提到的提取包含所有字段的记录集的主要代码:
3.9 按字段提取记录集
代码10是代码8中提到的提取包含指定字段的记录集的主要代码:
4 结语
雷达DBF处理器的研制与系统测试 第3篇
1 DBF技术
DBF技术是用数字方法实现波束形成的技术, 由于天线陈列单元信号的所有信息都保留在基带上, 也使得DBF可以对天线阵列信号采用先进的数字信号处理技术。与模拟波束形成相比, DBF具有明显的优势, 能够有效的提高雷达的性能。在天线技术中, DBF技术引入先进的数字信号处理方法, 可以借助软件设计更新自适应算法, 使系统更加的灵活。DBF技术的工作原理是将对接收到的信号进行加权求和处理, 然后形成多对天线波束, 主波束与用户期望方向对准, 波束零点与干扰方向对准。在未来战争中, 雷达要在复杂的环境下的工作, 为了使雷达能够适应恶劣的环境, DBF技术可以保证这一目标的实现。雷达中使用DBF技术, 使侦查的视野极大的增加, 也使跟踪目标的数量提高, 其抗干扰能力非常强。不管是接收模式还是发射模式, DBF技术都可以应用, 在接收系统中, 其组件主要包括天线阵列单元、A/D变换组件、接收机组件、控制器、数字波束形成器及校正单元。现有系统结构中, 主要包含通道接收机单元、天线单元、信号处理单元及DBF处理器单元。
2雷达DBF处理器的研制
DBF雷达中, DBF处理器是重要的组成部件, 是对天线阵面上的阵元接收到的信号进行自适应权重系数计算, 对回波信号进行权重处理, 输出多个独立天线波束。DBF处理器主要是针对天线阵元接收到的回波信号进行实时的处理工作。
在DBF处理模块中, 主要由DBF权重计算与实时DBF权重处理两部分组成, 对接收到的目标回波信号采用自适应处理算法计算出波束的权重系数, 然后进行权重处理, 输出各天线的波束信号, 由接收系统接收并进行处理。如果天线为N元阵列天线, 那么DBF进行权重处理的计算如下:
该式中, MN加权系数矩阵用W表示;N阵元天线接收信号N维列矢量用X表示;M个波束的输出相应用Y表示。那么第j个波束的输出相应即为:
因此, 对加权系数矩阵的实时改变可以改变对波束的驻留时间进行控制, 对波束的空间指向进行改变, 还能形成不同的波束, 如差波束、和波束及常规波束等。
对于系统硬件而言, DBF处理器包含数字下变频电路、A/D变换、DBF权重处理电路、并行DSP权重系数计算电路、总控计算机及回波信号处理。其任务主要有:首先, 转换信号, 将中频信号转换为数字信号。其次, 根据系统要求, 并行DSP权重系数计算短路对波束指向及零陷位置进行计算。第三, DBF权重处理电路根据上一环节计算的权重系数对数字基带信号进行加权处理, 输出独立的天线波束。
对于数字波束处理器来说, 其主要是功能包含:权值的发送、阵列信号的采集、数字波束形成器输出数据的采集、通道间误差的校正以及自适应波束的形成等。这些功能全部通过DBF技术得以实现, 对其功能是否能够实现, 还需要进一步的进行系统的测试。
3系统测试及结果
对系统进行测试时, 模拟一阵列天线信号, 入射角在±60º之间, 对信号进行计算的时候, 假设天线均匀放置, λ/2为间距, 为单元天线方向因子, 天线之间互不干扰, 在入射夹角中, 每相隔0.5º取一个点, 总共取241个点, 由公式:, 可以通过计算机求出个数据给定参数。在EPROM中固化, 输出的时候, 按照相应的顺序输入到模拟阵列信号存储器中, 然后并行输入寄存器, 经过波束形成电路运算, 然后经过A/D变换器, 在示波器上输出, 横波为入射波的入射角度。
如图1所示: (a) 为均匀加权图, 8个波束合成方向, 每一个波束相隔9度; (b) 为切比雪夫加权, 8个多波束合成方向。此外, 该系统能够随机对阵列数字信号进行模拟, 包含对各种目标以及干扰环境的模式和各接收通道误差阵列信号的模拟。在图1中, (c) 为切比雪夫加权, 后各通道误差时的DBF方向图, (d) 为校正后的方向图; (e) 为在波束指向0º, 干扰源角度为10º和10.5º时, 均匀加权的DBF自适应零点控制方向图, (f) 为波束指向0º, 干扰源角度分别为-13º、-10º、15º及15.5º时, 均匀加权自适应零点控制方向图。
4结束语
目前, DBF技术属于研究的热门技术之一, 在雷达系统中的应用比较广泛, 此外在其它领域内也广泛的应用。我国也在加紧研制, 并且也取得了显著的成效, 研究成果的问世, 也标志着我国战略战术雷达的发展前景非常广阔。本文主要通过对自适应数字波束形成处理器的研究发现, 该波束形成器在波束数量的增加上效果显著, 经过系统的测试, 证明了数字波束形成技术的实用性非常好。
参考文献
[1]李磊, 费伟伟, 岑凡, 蔡惠智.雷达电子战系统的宽带数字波束形成实时实现[J].计算机仿真, 2010 (3) .
DBF技术 第4篇
1 转换的方法及其存在的问题
Visual FoxPro与Microsoft Excel都是微软件公司的软件产品,在各自软件中提供了数据间进行相互转换的功能。
1)将数据库表文件向Excel表格文件转换(dbfxls),可以通过:
(1)在Excel中直接打开DBF数据文件或者利用“数据”菜单下“导入外部数据”实现数据转换;
(2)利用Visual FoxPro的“导出”功能来实现数据转换。
2)将Excel表格文件向数据库表文件转换(xlsdbf),可以通过:
(1)Excel的“另存为”所指定的文件类型(DBF)实现数据转换;
(2)利用Visual FoxPro中的“导入”功能来实现数据转换。但是,在将数据库文件向Excel表格文件转换的过程中,会出现如下问题:
问题一:如果在Excel中通过直接打开或利用导入外部数据的方法,要求这种DBF文件只能是EXCEL导出来的DBF文件才行,否则不能正确导入。
问题二:利用Visual FoxPro的“导出”功能(或用COPY TO filename.XLS TYPE XL5命令)来实现数据转换,则只能转换16384条记录,多余的记录不能转换成Excel文件。
2 问题分析及解决方案
1)对于问题一:通过对Excel导出来的DBF文件和用Visual FoxPro建立产生的DBF文件进行分析,两种方式产生的DBF文件是有区别的:由Excel导出来的DBF文件第一个字节为03(十六进制),而用Visual FoxPro建立产生的DBF文件第一个字节为30(十六进制),而Excel在识别DBF文件的具体格式时只辨认第一个字节,正是由于第一个字节的不同,导致了用Visual FoxPro建立产生的DBF文件不导入到Excel数据表中。可以通过如下方法对其进行修改:
方法一:使用DEBUG命令:
但要注意:使用DEBUG命令只对较小的文件起作用,对于较大的数据表文件,运行L命令时,会出现“Insufficient memory(不足的内存)”错误。
方法二:使用WinHex等十六进制编辑工具,打开文件进行修改,即将文件的第一个字节30(十六进制)改为03(十六进制)后保存即可。
经过上述修改后的DBF文件可以成功地将DBF文件导入到Excel文件中,但此修改方法仅适用于不包括备注型/通用型等复杂数据类型的DBF数据表文件。如果DBF数据表文件包含复杂数据类型,修改后的文件在Excel中打开时可能会产生数据丢失现象。
2)对于问题二:这是由于Visual FoxPro软件系统中,针对的是以前的Excel4.0的工作表格式来进行数据的导出,即只容许16384行的数据表格,因此在使用Visual FoxPro的“导出”功能时,如果数据记录数大于16384条记录时,则需要采用另外的方式进行转换。
方法一:借助于其它格式文件(如txt文件),进行二次转换
(1)用COPY TO filename.TXT TYPE SDF命令导出成标准格式文本文件。
(2)在用Excel导入数据,从文本文件导入。数据?导入外部数据?导入数据,然后在对话框中选择文本文件。
方法二:使用编程方法来实现DBF向XLS数据转换
程序如下:DBFtoXLS.prg
SET TALK OFF
ACCEPT"请输入要转换的数据表名:"TO FoxTable
USE&FoxTable&&打开需要导出的数据表
o ExcelApp=CREATEOBJECT("Excel.Application")&&产生Excel对象
o ExcelApp.Workbooks.Add&&添加新工作簿
o ExcelApp.Worksheets("Sheet1").Activate&&设置第1个工作表为激活工作表
o ExcelApp.Visible=.t.&&显示Excel窗口
n FldCount=Fcount()&&取得字段数
o ExcelApp.Cells(1,i).Value=Field(i)&&在(1,i)单元格中写入字段名称ENDFOR
c Recc=Reccount()&&取得记录个数
WAIT"正在写入"+ALLT(STR(Recno(),5))+"/"+;
ALLT(Str(cRecc))+"条记录";WINDOW NOWAIT
o ExcelApp.Cells(Recno()+1,k).Value=&vValue&给单元格赋值
ENDSCAN
WAIT CLEAR
=MESSAGEBOX("转换完毕!",64,"OK")
CLOSE DATABASES ALL
SET TALK ON
RETURN
在Visual FoxPro中运行这个程序,即可将DBF的所有记录转换到Excel文件中。由于Excel目前也只能处理65536条记录,因此若某DBF文件的记录数据超过Excel文件的容量,则需要将文件分成几个小一点的文件后再进行转换。
3 结束语
VFP和Excel都可以用来进行数据表的处理,两者间有较好交互功能,如果巧妙地将二者的优点结合起来,有效实现数据表数据的相互转换,比如将Excel数据表转换成DBF数据表,利用VFP进行简单的编程对处理一些在Excel中不容易处理的数据,然后再将处理后的VFP将DBF数据表转换成Excel数据表,在Excel中充分利用Excel方便的操作对数据表进行排版和报表打印功能,这将会大大方便我们的工作,提高工作效率。
参考文献
[1]刘迎甫.Visual FoxPro面向对象程序设计[M].北京:清华大学出版社,2004.
[2]张洪举.专家门诊:Visual FoxPro开发答疑[M].北京:人民邮电出版社,2003.
[3]杜茂康.Excel在数据管理与分析中的应用[M].北京:清华大学出版社,2005.
DBF技术范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


