实时处理

2024-10-20

实时处理(精选10篇)

实时处理 篇1

摘要:随着移动通信网络技术的不断升级运用,在网络化特定的环境中,可以实现对高噪音语音环境下清晰的语音通讯相对难题的解决方式,通过使用多方面的技术控制与创新,在早期的语音噪音处理中,主要使用模拟器搭建的方式,但是,目前对于这种噪音处理技术的运用,更加侧重在整体功能方面的实现,对语音信号的质量要求更加精致准确。因此,要从多方面加强大规模多人实时语音通讯的语音降噪处理技术,形成多学有效的算法。本文将针对大规模多人实时语音通讯的语音降噪实时处理算法进行系统化、理论化以及实践研究,更好的服务整个技术发展的需要。

关键词:大规模,多人实时语音,降噪,处理算法

0 引言

在当前的语音降噪处理过程中,要实现高噪音环境下的语音通讯的清晰度,就要突出在整个技术控制中的综合作用,通过使用多方面的技术控制,能全面提升降噪技术的整体进步。笔者通过结合整个噪音消除技术的运用,尤其是在大规模多人实时语音通讯的语音降噪处理中,要形成科学有效的算法处理,这样,才能起到更好的效果。

1 简述语音降噪处理的运用现状

1.1 重虑波电路技术的运用

这种技术在整个降噪的处理中,最主要的是不能实现对噪音的整体消除,因此,在整个技术控制过程中,由于自身原因等方面的影响,在模拟电路自身的特点中,在环境噪音发生变化的背景下,就会形成一些剧烈的变化。因此,模拟器也就不能适应外界环境的变化。这种传统检测方式的运用,为数字化语音降噪技术的实现提供了良好的基础。

1.2 硬件改进过渡到算法的提高

随着DSP技术的发展,降噪技术逐渐由以前的硬件上的改进,实现在精准算法上的提高。因此,实时处理算法的运用,可以直接决定整个降噪整体功能的发挥。其中,自动适用技术是降噪处理的重要方式,可以在不基于任何语音模型的使用过程中,实现语音特征的整体性,并产生更好的降噪效果。其中,传统的算法主要是包括基于时域的LMS算法以及频域的数字算法等,可以通过使用小波变化方法、高阶统计量方法、神经网络方法以及时频分析方法等。通过这种具体方法的运用,可以有效的提高整个算法的精准度。同时,在DSP高速芯片以及精准算法的出现,更好为实现数字化降噪技术提供了良好的基础。

2 大规模多人实时语音通讯降噪的模型与方法

2.1 大规模多人语音通讯的特点

大规模多人实时语音通讯强调的就是在多种状况下的语音运用模式,其中,最主要的就是通过利用信号处理技术的运用,在整个信号消除的过程中,形成对强噪音干扰的处理,并在提高输出信噪音比拟中提取出有用的信号与技术。在大规模多人实时语音的噪音表现中,具有多方面的特点。一是语音的时变性与非平稳性。早大规模多人实时语音系统中,由于不同人群在发音系统以及生理结构上的变化,尤其是在语速的表现中是不相同的。因此,就会出现一定的时变性。二是语音的不同种类表现。在语音系统的综合运用中,就会出现相应的语音表达方式,其中,主要是包括有浊音与清音等。在音频的表现中,主要是集中在较低频段内的清音段没有形成明显的时域与频域特征。因此,可以采用浊音的周期性特征,通过使用梳状滤波器来实现对整个语音分量以及对非语音信号的抑制。三是语音可以通过对信号的统计分析来实现对特征的整体描述。在语音的非平稳性的表现中,可以实现长时间的时间统计,尤其是通过高斯分布模型的中心极限处理方式,在高斯模型中应用有限帧长只是一种相对近似的描述,形成整体语音的综合控制。四是语音感知的整体优势。在大规模多人实时语音降噪的处理中,对于周期性噪声、冲激噪音以及宽带噪音等方式,在整个应用过程中,更好的实现对降噪技术中精准算法的运用。

2.2 几种传统的语音降噪方式

在传统的降噪技术运行中,主要是实现对语音信号的集中处理,从这些传统的语音降噪处理,可以起到更好的实际效果。一是频谱减法的运用。这种算法主要是通过对噪音的统计平稳度等,在这种方法的运用中,有语音期间的噪音振幅谱的期望值与无语音间隙噪音的振幅谱的期望值形成相等的方式,在这种算法中,可以形成多方面的技术控制。二是线性滤波法的运用。这种算法主要是利用语音的产生模型。在具体原理的运用中,主要是对于受加性稳态白噪音干扰的语音信号进行综合处理,在语音频谱的产生中,形成一种近似的运用包含语音噪音的预测效果,更好的形成对语音参数的准确设置。三是小波变换的算法运用。在小波分析的过程中,传统信号的建立主要是形成综合模式的运用,并建立在傅立叶变换的基础上的,通过建立多分辨率分析框架以及小波分析的关系,形成多方面的语音信号以及综合技术的处理功能。

3 探讨大规模多人实时语音通讯的语音降噪实时处理算法的运用

3.1 LMS 算法的运用方式

这种算法主要是实现对整个语音降噪技术的全面控制,在综合技能的实现中,可以全面实现对整体技术的控制,通过程序设计等方式的优化,更好的形成整个技术的控制。具体设计如下。

function [yn,W,en]=LMS(xn,dn,M,mu,itr)

% LMS(Least Mean Squre)算法

% 迭代计算

for k = M:itr % 第k次迭代

x = xn(k:-1:k-M+1); % 滤波器M个抽头的输入

y = W(:,k-1).' * x; % 滤波器的输出

en(k) = dn(k) - y ; % 第k次迭代的误差

% 滤波器权值计算的迭代式

W(:,k) = W(:,k-1) + 2*mu*en(k)*x;

end

% 求最优时滤波器的输出序列

yn = inf * ones(size(xn));

for k = M:length(xn)

x = xn(k:-1:k-M+1);

yn(k) = W(:,end).'* x;

end

3.2 子空间语音降噪法

子空间语音降噪法将带噪语音信号投影到语音信号子空间和噪声子空间两个子空间,语音信号子空间中主要为语音信号,但还含有少量的噪声信号,噪声子空间只含有噪声信号,因此对纯净语音的估计可以不考虑噪声子空间中的分量,只保留语音信号子空间中的分量。在信号与噪声子空间分解算法中先对信号进行一些假设:语音信号与噪声都是零均值的随机过程;语音信号在短时内是平稳的;语音信号与噪声是正交的;噪声是一个随机的白噪声;所有的信号都是各态历经的,即可以用时间平均来代替统计平均。根据时域约束条件,可以推导出语音信号失真最小情况下的最优估计器。在线性信号模型中,假定纯净语音信号为:

S=y*y(2-2)

其中吵为K×M的矩阵,其秩为M,是肘×1的矩阵。S的协方差矩阵为:

Rs=E Sr>=y?gr yr(2—3)

其中砖的协方差矩阵,为正定的。匙的秩为地有了前述的假设,可以将带噪语音信号表示为:

X=S+N=+N(2-4)

其中X,S和Ⅳ分别是K维的带噪语音信号、纯净语音信号和噪声向量。设x=s.X为纯净语音信号的估计,其中日为职K阶矩阵。则该估计器的误差信号£为:

占=S—S=(日一D?S=H?N=6s+知(2.5)

其中,知和知分别表示语音信号的失真和残留噪声。

3.3 遗传算法在网络入侵检测系统中的应用

我们以计算机为工具,数据库为核心,用计算机技术和方法、网络技术和方法、通信技术和方法综合应用管理工程技术,行为科学技术等现代化科学技术,建立一个客户关系管理系统,以操作简便、界面友好、灵活、安全稳定为出发点,对各种资源信息进行管理,并在网络范围内进行共享。本测试系统服务器: CPU主频1 GHz以上,内存1 GB以上,硬盘自由空间在1 GB以上。服务器: 操作系统 为Windows2003Server或Windows XP,客户端。操作系统: MicrosoftWindows XP SP3或win7,同时,软件为B/S架构,用户使用IE浏览器即可登录并访问系统。为了保证数据的安全性以及平缓电网的波动给网络带来的影响,在服务器及工作站均采用了UPS不间断电源。

基于网络的入侵检测系统可以获得很多有价值的数据,去判别不良的意图。即使防火墙抗拒这些尝试,但防火墙之外的基于网络的入侵检测系统也能查出躲在防火墙后的攻击意图。基于主机的入侵检测系统无法跟踪未攻击到防火墙内主机的未遂攻击,而这些丢失的信息对于评估和优化安全策略是至关重要的,本系统设计的适应度函数为[4]:

式中: xi 为某个个体,a为正确检测到的攻击数目;A为总有攻击数目;b为被误判为攻击的连接数;B为总的正常连接数;m为xi 中1的个数; ?m 为m对于该适应度函数的相关系数,即高检出率低误报率使适应度函数值高,低检出率高误报率使适应度函数值低。个体中置l的位数越少,适应度值越大,这是出于寻找最小特征子集的考虑,其影响的强弱由相关系数d去控制。

对于终端主机网络安全技术来说,目前为人们所接受并大规模投入应用的主要有:杀毒软件、主机网络防火墙、各种辅助的安全工具。其中,杀毒软件主要用于计算机病毒和各种恶意代码的防护。主机网络防火墙可以对针对当前主机的网络访问流量进行简单控制并防护常见的针对主机的网络攻击行为,它可以大大减少来自网络的潜在威胁,各种辅助安全工具可以有针对性的对某些环境或软件起到专门的保护作用,如MSN防护盾、网银安全控件等。

{

status Set = null;

new Account Info Dao().Update Account Visit(account);

Document Box Item Daodoc Box Dao=newDocument Box Item Dao();

Queue Item Dao queue Dao = new Queue Item Dao();

statusSet = new DataSet();

foreach (Guid current Doc Guid in docguids)

{

Data Table doc Table =

doc Box Dao.Select Document Box Item Data Table(current Doc Guid.To String());

if (doc Table.Rows.Count == 0)

{

Log.SaveA ccess Log(client Ip, account, operator Name,operation, "

}

}

4 结语

通过结合数字化降噪处理技术的运用,可以有效的实现对大规模多人实时语音通讯的语音降噪实时处理算法,在这些算法的整体运用中,才能更好的降低整个噪音处理的功能。

参考文献

[1]胡旭,刘晓明,太云见,黄承彩,张敏.快速响应热释电器件降噪[J].红外技术.2004年03期

[2]赖睿,杨银堂.场景自适应的红外焦平面阵列非均匀性校正新方法[J].西安电子科技大学学报.2009年02期

[3]李英,汪航.FIR自适应滤波的语音增强算法[J].电声技术.2004年06期

实时处理 篇2

Query = Function(All Data)

该等式的含义是:查询是应用于数据集上的函数。该定义看似简单,却几乎囊括了数据库和数据系统的所有领域:RDBMS、索引、OLAP、OLTP、MapReduce、EFL、分布式文件系统、NoSQL等都可以用这个等式来表示。

让我们进一步深入看一下函数的特性,从而挖掘函数自身的特点来执行查询。

有一类称为Monoid特性的函数应用非常广泛。Monoid的概念来源于范畴学(Category Theory),其一个重要特性是满足结合律。如整数的加法就满足Monoid特性:

(a+b)+c=a+(b+c)

不满足Monoid特性的函数很多时候可以转化成多个满足Monoid特性的函数的运算。如多个数的平均值Avg函数,多个平均值没法直接通过结合来得到最终的平均值,但是可以拆成分母除以分子,分母和分子都是整数的加法,从而满足Monoid特性。

Monoid的结合律特性在分布式计算中极其重要,满足Monoid特性意味着我们可以将计算分解到多台机器并行运算,然后再结合各自的部分运算结果得到最终结果。同时也意味着部分运算结果可以储存下来被别的运算共享利用(如果该运算也包含相同的部分子运算),从而减少重复运算的工作量。

4.Lambda架构

有了上面对数据系统本质的探讨,下面我们来讨论大数据系统的关键问题:如何实时地在任意大数据集上进行查询?大数据再加上实时计算,问题的难度比较大。

最简单的方法是,根据前述的查询等式Query = Function(All Data),在全体数据集上在线运行查询函数得到结果。但如果数据量比较大,该方法的计算代价太大了,所以不现实。

实时处理 篇3

关键词 实时数据库 数据采集 系统设计 实现

中图分类号:TP392 文献标识码:A

这些年,企业进行信息化建设是我国一些大型企业所面临的重大问题。自从新世纪以来,烟草企业也逐渐开始信息化建设。随着MES 系统逐渐被人们认可,在接下来的几年之内,卷烟企业进行战略性调整和信息化建设是关键的工作,这直接决定了中国烟草工业的命运。

1 数据中心框架结构和设计

1.1系统设计的目标

设计出来的实时数据采集系统达到的效果如下:能够建设符合各个领域里面的决策系统;集中了很多小规模范围里面的应用;能够有效分担其它的事物处理系统的负担,提高决策和事物处理的效率。这个系统建设是以公司的业务流程建立的一个管理机制,是可以提供准确相同的分析数据。整个系统采用的是大量数据集中在一起的方式,这样就可以实现数据的自动获取和积累,还有就是业务数据和信息在整个行业里面实现共享。这个系统还能够提供一个相当强大的数据处理平台,能够满足不同种类业务的分析。整个系统的建立还能够提高工作的效率和准确性。这个系统能够满足现代的企业管理模式,这样就可以使得业务流程化和规范化。这样就可以通过智能的商业技术对集团的信息进行分析预测,还可以实现业务的自动化,为企业领导分析决策提供一个准确的依据。

1.2系统的性能指标

在进行实时数据库系统设计的时候需要保证的系统性能如下:(1)可靠性和及时性,设计出来的系统必须能够二十四小时进行工作。这样就可以保证系统在任何情况之下都可以进行资源的分配,这样就可以保证各个板块的功能能够正常进行。(2)系统的整体性和效率性,设计的系统需要是一个高效的一体化管理系统,系统需要能够容纳大量的数据,而且数据的更新还需要在短时间之内完成。整个系统需要在短时间之内完成对数据的处理,而且还需要高效率高质量完成。(3)系统需要先进和实时,整个系统可以运用充分的资源,然后根据客户的要求,把高的工作效率和好的经济效益当作是主要要求,在这个基础上,为客户提供一系列业务服务平台。(4)系统的安全性和实时性,系统采集的数据安全是十分重要的,在系统的设计过程当中,设计人员需要采取严格的技术来对技术进行保密。设计人员需要通过保密技术来保证用户身份的真实性,数据的完整性。在网络连接良好的情况之下,对每一个IP地址请求的操作处理时间需要控制在一分钟时间之内。(5)整个系统需要支持集群技术,设计人员可以通过多个服务器来完成一个集群,当服务器上面的用户达到最大的时候,其它的服务器会开始工作。(6)整个系统需要有一个完好的信息输出端口,整个系统的目标是为了对数据进行分析,而分析的目的是为了借鉴使用。为了能够进行应用,就需要把分析得到的结果数据转化成不同的输出文本,有的人需要把它变成演讲文稿,有的人就需要获得一个Excel数据。一般的开发格式有Excel, PPT, HTML等。

2 系统的结构

烟草企业对过程的监控和数据出来了是通过紫金桥实时数据库来完成的,它把现场的各种数据集中在一起,这些数据包括了生产上面的数据、设备的数据和质量数据等,在此同时整个数据库还包括一个完整的数据查询和分析功能,这可以为企业的生产和决策提供一个可靠的依据。还有生产过程出现状况的时候,系统还能够随时发出警报,这样就能够很方便采取处理解决的措施。整个系统还需要提供各种接口,比如说S Q L 接口、AP I接口等,通过这些接口就可以把各种组件连接到一起,这样就可以实现数据库能够正常工作。

3 实时数据库的功能

实时数据库的作用是对烟草企业的生产过程实施监控管理,但是它在这个系统的作用不只是储存数据,它还需要处理现场采集获得的数据,对获得的数据进行加工分析,一旦出现异常情况发出警报。它需要实现的功能如下:(1)事故的追忆功能。这就需要系统对和事件有关的状态进行记录,这样在事件产生之后就能够进行原因分析了。事件的数量、时间范围等都是可以自由设定的。(2)数据的压缩备份功能,中心的服务器刷新的时间是1 s ,在这样的情况之下,数据库不进行压缩的话是无法容纳这么多数据的。这就要求数据库进行压缩运算,这就可以解决数据量大的问题。(3)物料平衡,系统需要对实际的投料数据、收率数据等进行计算,然后对不同的时间数据进行统计分析。实时数据库当中的数据也是可以来自现场的,也可以通过人工输入的方式。(4)趋势分析,趋势功能主要包括了用户可以选择查看一些含有PID 数值的趋势图,也可以把趋势图打印出来,或者是把图片保存成图片的格式。用户还可以输入开始和结束的时间来查看数据的走向。趋势图如图1 所示。(5)系统还需要有班组考核功能,主要通过对重要工艺数据的追踪,发现生产过程当中的问题,然后提出改进意见。(6)系统还需要有统计分析功能,这样就可以全程监控产品质量。(7)系统还需要有报表系统,这样就可以制作各种各样的报表。

4 总结

考虑到我国烟草企业的规模大,所以系统的点数要多,这样就要有好的数据采集和储存,还需要制定大量的趋势图和报表。实施数据库需要有良好的性能和繁多的数据接口,这样不仅能够满足项目要求,还能够对烟草企业做出评价,推动烟草企业的信息化发展。

参考文献

[1] 张俊良,薛振兴.烟草企业数据中心系统的设计与实现[J].安徽:电脑知识与技术,2009(5) : 2316.

[2] 付文,范广辉.实时数据库实现烟草行业过程管理实时监控系统[J].江苏:工业控制计算机,2009(3) : 17-18.

[3] 徐毅博.烟草一号工程工业数据采集系统设计与实现[J].北京:硅谷,2012(7) : 170-172.

软件化雷达信息实时处理与显示 篇4

关键词:软件化,雷达信息,实时处理,实时显示

当今时代, 科学技术日新月异, 电子信息工程技术也不例外, 得到了迅速发展, 同时, 随着计算机多核处理器、多任务程序设计技术、高度存储器等方面的飞速发展, 通用微型计算机的处理和软件运行都得到显著提升, 这就为雷达信息处理与显示系统的实现提供了新的途径和趋势。

1 系统总体设计

1.1 需求分析

基于对雷达状态的监视、控制及其信号数据的处理显示, 实现计算机的软件化, 需要使得所开发的系统实现显示量程、实时扫描、显示分辨率、信号分辨率、信号处理、多种辅助显示方式、人机交互界面的要求。其中, 雷达显示量程可以根据工作波长和脉冲宽度而设置以15公里为起点的加倍递增的量程变换;实时扫描是要求实现显示的扫描线与雷达天线的同步扫描;信号处理主要是针对含载目标信号、各种噪声、杂波和干扰信号的回波信号予以FPGA信号处理板处理和固定门限检测处理等;多种辅助显示方式主要是包括A显、B显、镂空PPI显示、任意点偏心、局部开窗放大显示及目标的具体信息显示。基于以上需求, 可以将雷达信息处理与显示系统的功能模块分为数据读取模块、数据储存模块、信息处理模块、数据显示模块, 其中, 数据显示模块又可分为原始视频显示、一次显示、二次显示。

1.2 系统的硬件配置需求与界面布局

对于系统的硬件配置需求而言, 需满足较高的主频、充足的内存、图像处理和显示的实时性显存、多种总线接口支持、多种外设支持等在内的主机性能要求。

对于系统的界面布局而言, 人机界面要遵循人性化设计原则、软件窗口平衡原则、经济原则、渐进池漏原则等, 其中人性化设计原则要注意控制权在用户、不同控件的一致性、宽容性和数据字典等方面的考虑。因此, 基于上述原则考量, 可把信息处理与显示系统的界面方案设置为雷达图像显示区域、目标信息区域和系统状态信息区域, 如图1所示。

1.3 开发平台及开发工具的选择

基于雷达显示控制端软件是典型的多任务软件, 需要相应的配置多任务操作系统支持, 可建议使用Windows软件开发平台, 并选取Visual C++开发工具, 而该开发工具具有良好的开发环境、高度集成的工具集、丰富类库和可视化特征;同时, 还可以调用Windows API, 使得应用程序与Windows平台完美结合。据此, 可以将软件化雷达信息处理与显示系统软件开发技术路线设计如图2。

1.4 系统关键技术及其实现途径

一是多核多线程程序设计。在面向多核处理器开发应用程序时, 需要注意采用多线程技术并分配各线程的工作负载和与面向单核平台时的不同设计思想。其中, 具体的设计思想如下:第一步, 对可供使用的处理器数目予以检查;第二步, 是对任务进行分解及线程数目的确定;第三步, 是代码的实现。

二是Intel Ipp算法库的应用。具体操作步骤为:第一步是配置工程项目属性;第二步是设置开发环境。

三是Direct3D多媒体开发技术的应用。主要是考虑硬件抽象层、硬件模拟层与软件参考层、Direct3D系统集成的操作。

2 系统功能模块的设计

2.1 数据读取模块

该模块需要注意DMA传输、应用程序与WDM驱动程序之间的通信的处理。其中, DMA传输需要注意适配器、传输控制和公共缓冲区的实现, 以便使得设备能够连续第读写数据。应用程序与WDM驱动程序之间通信可以通过以下流程实现:开始→打开设备→打开成功 (不成功予以退出程序) →Memory读写→DMA初始化→DMA开始→DMA停止→关闭设备。

2.2 信息处理模块

基于硬件结合软件的信号处理流程为:射频信号→低噪声放大→混频→中频信号→AD采样→数字正交相位检波→脉冲压缩→动目标显示→进入计算机→求模运算→视频积累→CFAR→目标检测→点迹凝聚→目标跟踪→显示处理, 其中数字正交相位检波→脉冲压缩→动目标显示属于前段信号处理, 亦即是硬件处理;求模运算→视频积累→CFAR→目标检测→点迹凝聚→目标跟踪属于后端信号处理, 亦即是计算机软件实现。

完全基于计算机软件的雷达信号处理流程为:数字正交相位检波→脉冲压缩→动目标显示→求模运算→视频积累→CFAR→目标检测→点迹凝聚→目标跟踪→显示处理。

2.3 信息显示模块

该模块需要注意PPI显示的实现、几种特殊的PPI显示方式、A型显示、开窗放大显示、目标信息显示, 其中, PPI显示的实现要注意Direct3D工作框架构造和PPI显示前的预处理;几种特殊的PPI显示方式要注意雷达信息的二次显示、偏心的PPI显示、镂空的PPI显示。

雷达信息的二次显示是指信号处理的基础之上对数据进行检测凝聚处理和目标跟踪处理等数据处理的显示;偏心的PPI显示是为了获得更大的显示分辨率, 而将PPI显示的扫描中心点趋于动态变化当中并相应地予以动态设置;镂空的PPI显示是着重显示操作者所关心的距离范围而不显示近距离的目标回波情况。

3 结论

基于通用计算机的雷达信号、数据处理及显示系统的设计, 可以有效地节约系统开发成本, 便于进行维护与升级, 具有较高的工程应用价值。

参考文献

[1]王德生, 赵利民, 孙立国, 等.信息化、软件化、通用雷达终端的构建与实现[J].现代雷达, 2007 (12) :94-96.

[2]张宏群, 孙雪涛, 王建.软件化雷达视频显示的实时坐标变换方法[J].微计算机信息, 2010 (4) :75-78.

实时处理 篇5

读写分离将读和写两个视角进行分离,带来的好处是复杂性的隔离,从而简化系统的设计。相比于传统做法中的将读和写操作放在一起的处理方式,对于读写操作业务非常复杂的系统,只会使系统变得异常复杂,难以维护。

7.总结

本文介绍了Lambda架构的基本概念。Lambda架构通过对数据和查询的本质认识,融合了不可变性(Immunability),读写分离和复杂性隔离等一系列架构原则,将大数据处理系统划分为Batch Layer, Speed Layer和Serving Layer三层,从而设计出一个能满足实时大数据系统关键特性(如高容错、低延时和可扩展等)的架构。Lambda架构作为一个通用的大数据处理框架,可以很方便的集成Hadoop,Kafka,Storm,Spark,Hbase等各类大数据组件。

★ 数据处理员简历表格

★ 实时户口迁移申请书

★ gps数据处理实训心得

★ 测斜数据处理有哪些要点?

★ 陕北煤田地震数据处理技术初探

★ 组织架构调整通知范文

★ 浅谈网站架构的优化

★ 物业公司组织架构及岗位职责

★ 用于表白的诗句

实时处理 篇6

项目背景

声音, 是多媒体领域里的重要一环, 更是电脑用户上网、娱乐所离不了的。所以音量失常是困扰用户的一个难题。

一个音频文件本身就具有音量大小的属性, 所以播放不同歌曲文件时输出音量也不尽相同, 影响用户听觉体验。在优酷等网站上看小视频, 在播放前和播放后总会有广告, 音量较吵, 多数还不允许用户在播放窗口调节, 所以只能在桌面右下角的扬声器属性处调节, 增添麻烦。

通过以上举例可以看到该作品所应对的播放情形很常见。

项目实现

Direct X, (Direct e Xtension, 简称DX) 是由微软公司创建的多媒体编程接口。由C++编程语言实现, 遵循COM。Direct Sound是Direct X的一个较底层的部件, 提供了丰富的接口函数, 实现.wav格式的波形声音数据的混音、录制及播放等控制。

该项目即通过Direct X编程实现, 示意见图1。

版面所限, 以下各实现部分均只给出较为关键的代码。该项目为2013年度国家级大学生创新训练项目, 该程序的全部源代码以Visual Studio 2010版本的.sln解决方案给出, 已上传至csdn.net, 资源地址为:http://download.csdn.net/detail/chuchus/6297217。

1.录音部分

本项目用到其中的Direct Sound头文件及库文件见下。

#include

#pragma comment (lib, "dsound")

需要依次枚举录音设备、创建设备对象和创建录音buffer。创建录音buffer时需指定所捕获声音数据的存储格式。

WAVEFORMATEX wfx={WAVE_FORMAT_PCM, 1, 22050, 22050, 1, 8, 0};

//依次是采样格式, 声道数, 采样率, 块对齐, 每秒比特数, 采样位深, 额外信息

if (SUCCEEDED (hr=p DSC->Create Capture Buffer (&dscbd, &p DSCB, NULL) ) )

if (FAILED (pp DSCB8->Start (DSCBSTART_LOOPING) ) ) ;//开始录音

DSCBSTART_LOOPING宏定义参数为循环队列方式录音, 即循环不停地捕获声音。至此, 已建立缓冲区并开始捕获相应格式的声音, 直至调用pp DSCB8->Stop () 停止。

2.波形分析

语音信号是一种非平稳的时变信号, 其产生过程与发声器官的运动紧密相关。发生器官的状态变化速度比声音振动速度要缓慢得多。因此语音信号可以认为是短时平稳的。在5~50ms的范围内, 语音频谱特性和一些物理特征参数基本保持不变。这样, 可以将平稳过程的处理方法和理论引入语音信号的短时处理中, 每个短时的语音段成为一个分析帧。通过不同帧的分析, 可以提取到本项目所需要的语音的短时能量和平均幅度。

通常采用一个长度有限的窗函数来截取语音信号形成分析帧, 窗函数w (n) 将需处理区域之外的样点置零来获得当前语音帧。该项目采用矩形窗截取信号。一个N点的矩形窗函数定义为

定义短时能量为:

由式2可见, 短时能量为一帧样点值的加权平方和。特别是采用矩形窗时, 该式可化简为:

在代码实现中需要创建一个定时器Set Timer (h Wnd, TIMER_ID1_SEC, 500, NULL) ;每500毫秒调用相应函数, 将捕获到的数据放入wavedata数组进行分析。

在设定录音格式时, 对WAVEFORMATEX结构体的第一个成员变量赋值为WAVE_FORMAT_PCM。WAVE文件是计算机领域最常用的数字化声音文件格式之一, 后缀为.wav, 按照具体格式不同又可细分。PCM, 即脉冲编码调制 (pulse-code modulation) , 直接存储采样的声音数据没有经过任何的压缩, 是声卡直接支持的数据格式, 这给声音波形的分析带来便捷。该项目中采样位深为8, 取样数据被存储为无符号数, 所以振幅可用下列语句求得:

int amplitude= (unsigned int) labs ( ( (long) wavedata[i]-128L) /afactor) ;

3.声音干预

此部分用到了COM (Component Object Model, 组件对象模型) 与Core Audio API。

COM组件是以WIN32动态链接库 (DLL) 或可执行文件 (EXE) 形式发布的可执行代码组成, 可以给应用程序、操作系统以及其他组件提供服务。

Windows Vista、Windows 7等系统音频系统相比之前的系统有很大的变化, 产生了一套新的底层API即Core Audio APIs。该底层API为高层API (如Media Foundation, 将要取代Direct Show等高层API) 提供服务。

此部分需要包含的头文件见下:

#include

#include

#include

以下语句可直接控制系统音量, 若有变动时在任务栏点出的系统主音量调节界面可看到同步变化。

m_p Endpt Vol Ctrl->Set Master Volume Level Scalar (the_volume_you_want, &m_guid My Context) ;

退出程序前要释放掉相应的资源, 可在析构函数中添加相应语句。

实现效果

最终程序界面中有三个滚动条。第一个自动显示当前系统主音量, 用户可以手动调整, 与在任务栏点击小喇叭图标调整音量效果完全相同;第二个显示实时声音振幅, 每隔500毫秒更新一次, 滑块随振幅高低左右滑动;第三个为临界振幅, 可由用户调整, 若实时振幅大于临界振幅, 程序就会自动干预系统音量, 防止音量过大。

结束语

该程序较好地完成了预期的功能设想, 有以下价值。

同时做到对音量的实时分析和自动干预, 经查阅资料尚无发现有此类软件;

以人为本, 免去了手动调节的繁琐, 让电脑更易用;

网络化遥测数据实时处理软件设计 篇7

如付诸现实将改变现有的飞行试验实时监控体系, 极大程度的节省了频谱资源, 并节省了高昂的同步板卡花费。

遥测数据的实时处理是飞行试验工程中试飞监控的重要环节, 对飞行试验的安全性和有效性有着重要影响。近年来, 随着试飞技术的不断发展, 监控需求的参数不断增加, 航空机载设备的复杂程度不断增加, 传统PCM流的传输方式已经不能满足当前飞行试验地面监控的需求。当前, C波段网络化遥测已经逐步进行小规模的试验验证, 网络化遥测数据的实时处理势必成为未来我国飞行试验工程的重要组成部分。

本文通过结合某型号网络化遥测验证试验, 详细地介绍了网络化遥测实时处理软件的解析过程、架构以及设计逻辑, 并有效地解决了网络数据包丢包错序、视频与参数数据同步回放等问题。

数据结构定义

结合网络化遥测数据的特点, 并有效的利用机载网络格式格栅, 定义主要包含参数结构与协议解析信息的HEA文件, 实现参数数据与视频数据的有效分流、参数数据的提取以及参数数据与真实物理量的实时转换, 最终实现遥测网络数据的实时接收处理功能与回放数据功能。

参数结构定义

网络化遥测数据是由机载测试采集系统对测试参数数据与视频数据同步进行采集与分发, 采集的数据填充至多个网络数据包中, 而网络数据包的格式又直接依赖于采集器的记录格式, 结合飞行试验的特征, 具体有如下特点。

1) 多种数据包协议——由于网络化测试系统存在多种采集器, 目前主要存在IENA与XNET/INET网络数据包格式。

2) 参数多样分布——机载采集的参数的受制于机载采集设备与协议的定义, 具体的参数数据由于字长的不同在数据包中的分布方式也有可能不同, 存在机载设备将一个64位的字拆分为4个16位字填充到4个不同的网络数据包中这样的可能性。

3) 参数数据与视频数据并存——网络化遥测机载设备将视频数据与参数数据同时分布于数据包中, 因此在网络数据包的实时处理过程中必须考虑到视频数据与参数数据的分流与差异处理。

4) 多总线多采样性——机载设备总线标准众多, 涵盖了429总线、422总线、CAN总线、1394总线、FC总线以及其他航空机载总线, 另外参数的采样率也不尽相同。

根据网络数据包的格式以及参数在数据包中的具体位置, 并考虑到参数的字长、取位、校准类型以及采样率等特性, 结合网络化遥测数据的特征, 定义参数的具体结构为:

协议解析定义

目前网络数据包虽然大小不能固定, 但其格式主要按照IENA与XNET/INET两种协议进行数据填充, 协议不同其解析的方式也就不同, 因此在提取数据时必须同时考虑两种标准的异同, 提取出两种标准的共同点, 方便软件的设计与实现。

从表1与表2我们可以看出虽然两种协议的控制头不相同, 但均具有区别包类型的区别字 (KEY, Message Define ID) , 包长 (SIZE, Message Length) , 包序 (SEQ_NUM, Message Define Sequence Number) 与时间信息 (TIME, Message Timestamp) , 因此一旦包结构确定我们就能确定当前数据包是参数数据还是视频数据, 以及具体数据的提取方式。

另外, 考虑到最大程度的利用数据传输带宽, 网络化遥测数据采用组播的方式进行数据传输, 实时遥测数据可由多个服务器进行分流实时处理, 结合IENA与XNET/INET两种协议的特点, 定义数据包的格式为:

软件详细设计

总体框架

通过机载网络格栅以及相应的XML接口, 结合两种协议的特点转换为原始的HEA文件, 并在此基础上添加参数处理、数据提取方式等信息从而最终形成实时处理所需的HEA文件。通过此HEA文件可以知晓当前网络数据包的协议、参数数量、参数具体解析信息、视频数据等内容, 继而实现网络数据包准确的转换为实时监控所需的数据。HEA文件的定义确保了数据解析的准确性, 但在数据处理过程中需要考虑到数据的接收、提取、分发等过程, 同时处理好的参数数据与视频数据要实时的传送到实时监控软件客户端, 保证试验飞行安全, 本文采用UDP组播的传输方式, 将参数名列表、参数数据、视频数据分路传输到局域网中, 由于组播地址与端口固定, 客户端监控软件可以采用统一的设计逻辑, 极大的缩短了监控软件的设计周期, 同时由于机载测试数据也是通过组播的方式进行传输, 并且网络数据包占用带宽过高, 为避免产生网络拥塞, 通过使用双网卡实现数据的物理隔离。整体框架结构如图1所示。

软件结构

网络遥测实时处理软件要同时考虑到实时处理与回放处理两个功能模块的设计, 尽可能实现代码的共用, 而实时处理与回放处理最大的区别仅限于原始数据是来源于网络获取还是文件读取, 因此在数据获取过程中仅需要通过条件选择判断数据源即可。网络遥测数据实时处理要考虑到数据的接收、解析、分发、处理等过程, 通过分析整个处理过程, 采用多线程共享内存的设计方式, 具体设计为HEA与配置信息处理线程、数据接收线程、数据处理线程、视频数据发送线程、参数数据发送线程以及参数名发送线程等六个线程, 主窗体在打开实时处理HEA文件后, 开启HEA与配置信息处理线程, 获取当前飞机参数处理信息与发送配置信息, 转化为相应的全局信息, 关闭当前线程后开启其他几个线程, 各个线程通过HEA与配置信息处理线程生成的全局信息进行初始化, 线程间的交互和处理过程如图2所示。

关键技术

数据包拥错控制与同步处理

机载测试采集系统每秒可向外发送数千个数据包, 由于受到飞机位置、地面干扰、网络拥塞、连接中断等因素, 会产生一定程度的数据丢包错序现象, IENA与XNET/INET协议在整合数据包的过程中, 均会按照数据包的生成顺序在数据包头添加包号, 其包号在有效范围具有连续性的特征, 数据处理线程针对于数据接收线程分发视频和参数数据包, 首先按照时间戳进行快速粗略划分, 然后再按照数据包内KEY字进行快速精准排序, 与此同时在参数数据包按照KEY字排序的过程中, 对相同时间戳的数据包个数进行统计, 如果某个时间戳内数据包个数少于HEA文件预估的个数, 则将这个时间戳下的数据包抛弃, 这主要是因为存在参数的高低字分布于不同的数据包中, 如果一个丢失某个参数数据包可能导致提取出的部分参数变化过大, 影响指挥人员实时监控决策, 而针对于视频数据包采取与参数数据包相同的处理措施, 与之不同的是视频数据包发生丢包时, 并不丢弃整个这个时间戳内的数据, 采用在视频实时解析客户端处理丢包问题。具体处理逻辑如图3所示。

参数数据与视频数据同步回放

传统的参数数据与视频数据由于存储在不同的文件中, 而视频中添加的时码信息无法通过图像识别有效获取, 也就不能同步回放, 网络化遥测的参数数据与视频数据采用相同的协议填充, 通过将实时接收到的两种数据进行拥错控制之后存储在一个数据文件中, 在文件读取时, 建立标识链表, 首先进行预读取操作, 每当查找到的数据包key字与HEA文件中包序为1的key字相同时, 记录当前文件指针信息并保存到标识链表之中, 在数据回放时, 首先确定拖动的进度条位置, 进而确定文件读取指针的当前大致位置, 然后查询标识链表, 查找到与拖动进度条后确定的文件位置最接近的标识位置, 更新为当前文件读取指针的实际位置, 继而实现了参数与视频的同步回放。预读取过程如图4所示。

参数名列表扩充机制

理论上IP数据报的最大长度为65535个字节, 剔除IP协议与UDP协议数据报文定义, 最大仅能支持65507字节, 而当前飞行试验中测试参数已经可以达到上万个, 参数名的定义也越来越复杂, 每个参数名即可占用30~40个字节, 这种情况下单个IP数据报仅能支持1500~2000个参数名的同时发送, 针对参数名列表总长度超过限制的情况, 采用分批发送的方式, 每个IP数据报最大发送40000个字节, 每个参数名占用41个字节, 不足时填充字符’#’, 定义包含总发送次数与当前发送顺序的参数列表, 截取参数列表的方式采用以上一个IP数据报中发送的最后一个参数名的结束开始, 直至最接近40000字节的那个参数结束, 并在分批发送的每个网络包中添加当前发送的分段列表在真实参数名列表中参数起始顺序和结束顺序。分批发送参数名列表的结构定义如表3所示。

软件运行界面

本软件在某网络化遥测试验平台上得以验证, 界面主要分为基本配置信息、实时处理、数据回放三个部分, 试验结果表明该软件能够实时准确的处理网络化遥测数据, 满足当前试验飞行监控的需求, 实时处理阶段的运行状态如图5所示。

结语

该网络化遥测实时处理软件目前已在多个型号的试飞中得到验证, 成功确保了多个试飞科目的顺利进行, 运行结果表明已经可以确保每秒2200个遥测网络数据包、5000个参数的实时处理, 满足当前网络化遥测试飞监控需求, 为新一代网络化遥测的发展提供了宝贵的经验。

建议观点

1、传统遥测网络中采用PCM流的传输方式, 其结构复杂, 传输能力有限, 占有带宽较多, 已经不能满足当前试验飞行实时监控的需求, 与此同时, PCM流的调制解调也需要大量的硬件资源, 耗费巨大, 必须寻找新的传输方式替代当前的PCM传输方式。

2、IRIG106遥测标准在2009年最新版中发布了iNET遥测网络标准, 当前国内航空飞行试验领域仅初步的分析了该标准的技术特点和面临的问题, 并进行了小规模的试验验证, 基于iNET遥测网络标准的遥测系统的搭建, 才刚刚进入初始阶段, 具有很大的发展潜力。

实时处理 篇8

飞行试验是航空研究的四大技术手段之一, 它贯穿于研究、设计、鉴定、生产和使用的全过程, 是最直接、最准确、最终的试验手段[1], 具有技术综合性强、风险性大、耗资大、周期长等特点[2]。遥测数据实时处理软件系统为各类试飞的测试数据进行实时和事后处理提供了手段和平台, 该系统自投入使用以来, 已成功完成了多个型号的实时监控任务, 为试飞指挥、工程技术人员及时提供了必要的数据依据, 也为试飞安全提供了重要保障。本文介绍了一种基于TCP和UDP协议的遥测数据实时处理软件系统, 实际应用表明整个系统运行稳定、可靠, 满足飞行试验实时监控任务要求。

1系统的组成及功能

遥测数据实时处理软件系统在结构上由三部分组成:前端服务程序、视图驱动程序和图形显示程序, 如图1所示。

前端服务程序运行于服务器上, 主要完成对解调后的遥测PCM数据进行采集、原始数据存盘, 根据预先提供的带头文件完成对PCM数据的取位、拼接、工程量转换等操作, 并根据总监控参数名文件将所需要的参数数据通过网络发送到局域网各监控计算机, 供视图驱动程序和图形显示程序使用原始数据存盘是以逻辑数据帧的形式保存在本地磁盘上, 其数据结构如图2所示, 横排数据称为子帧, 竖排数据称为副帧, 两者的最小单位是PCM字, 根据带头文件经过相应处理之后即为具有实际意义的遥测参数数据。对于感兴趣的飞行数据还可实现现场再现, 完成指定时间段的数据回放。而且在前端服务程序中可完成具体参数的简单事后处理工作。

视图驱动程序位于前端服务程序和图形显示程序之间, 运行于各监控计算机上, 完成网络数据流的接收、查看和存储工作, 并在和图形显示程序的通信过程中完成各监控画面所需数据的分配与传输。同时, 视图驱动程序可对各型号飞机的图形显示程序进行集中分类管理, 简化了图形显示程序的维护与管理工作。视图驱动程序的最大特点是它大大提高了图形显示程序的开发效率, 各图形显示程序只需简单地将所需要的参数传递给视图驱动程序即可获得相应的数据, 而不必关心该参数在网络数据流中的具体位置。

图形显示程序由不同的监控画面程序组成, 运行于各监控计算机上, 供试飞指挥和工程技术人员使用。主要完成监控参数的图形显示, 包括数字、时间历程曲线、飞机平显、飞机三维姿态和地图等图形显示形式。

2 系统的网络通信及工作流程

本系统的网络通信基于TCP和UDP协议的, 并采用WinSock的网络编程接口实现了其网络通信功能。TCP (Transmission Control Protocol, 传输控制协议) 是一种面向连接的协议, 允许从一台计算机发出的字节流无差错地发往网络上的其他计算机。

在两个TCP主机之间可以交换数据之前, 必须先相互建立会话, 通过确认和按顺序传递数据来确保数据的可靠传输。TCP一般应用在要求数据传输具有较高可靠性的场合。UDP (User Datagram Protocol, 用户数据报协议) 提供尽量传递的无连接数据服务, 它不能确保或确认数据传递或数据顺序, 由使用UDP的程序负责提供传输数据所需的可靠性。对同一个局域网来说, 使用UDP能够获得良好的性能, 它能够满足数据传输量不太大、数据实时性较高的应用场合, 在这种情况下, UDP的低开销和多播能力比TCP更合适[3,4]。

充分考虑TCP和UDP协议的各自特点, 本系统采用了TCP和UDP相结合的通信方式以满足试飞实时监控的实时性和数据可靠性的要求。在实时性方面, 前端服务程序采用UDP的通信方式, 将遥测数据广播给局域网中各监控计算机, 以降低系统的资源开销, 获得较高的数据传输效率。在数据可靠性方面, 一是前端服务程序采用TCP的通信方式, 在和各视图驱动程序的一次通信连接中, 将总监控参数名可靠地传输给视图驱动程序。二是视图驱动程序和图形显示程序之间只采用TCP的通信方式, 以使视图驱动程序可靠地获取各监控画面所要求的参数名, 并结合总监控参数名从前端服务程序发送的UDP数据流中筛选出相应的数据, 然后可靠地传输给各个监控画面, 完成数据的图形显示。该系统在实时状态下的网络通信及工作流程如图3所示。

前端服务程序首先需要完成系统状态检测, 加载型号飞机的带头文件和总监控参数表文件。带头文件包含了同步字、位速率、帧长、字长, 起止帧号等信息, 用于对PCM采集卡的设置。同时, 利用WinSock提供的套接字函数 (socket函数) 创建好流式套接字 (TCP通信) 和数据报套接字 (UDP通信) 。对于TCP的通信部分, 首先将流式套接字置入监听 (listen函数) 模式, 当有视图驱动程序的连接请求 (connect函数) 时, 接受 (accept函数) 请求并向请求方发送 (send函数) 监控总参数表, 最后断开 (closesocket函数) 与该视图驱动程序之间的TCP连接, 以减少系统资源的占用。在本系统中, 视图驱动程序采用定时器定时向前端服务程序发送连接请求, 当连接成功后则关闭定时器。这样, 可避免因前端服务程序于视图驱动程序后启动而造成无法连接的情况。当解调后的PCM遥测数据经过位、帧同步之后, 前端服务程序便可进行实时采集。采集的原始数据一方面进行存盘, 另一方面则根据带头文件的ICD定义, 将码值转换成具有实际意义的参数数据, 然后以UDP的形式将数据广播到局域网。

视图驱动程序收到 (recv函数) 总监控参数表和UDP数据包后, 一方面将数据包的时间和总监控 参数表显示在面板上, 以判断网络通信是否正常;另一方面和试飞指挥员和工程技术人员选择的监控画面程序建立TCP通信连接, 其过程和前端服务程序与视图驱动程序之间的TCP通信部分相似, 只不过这里的TCP连接直到试飞监控结束后或监控画面关闭时才断开。对于多画面的显示, 视图驱动程序则需要完成多个套接字的连接, 分别接收来自不同监控画面程序的监控参数表, 并找出它们与总监控参数表的位置的对应关系, 然后按照该对应关系从UDP数据包中筛选出数据并存放在相应的缓冲区中, 最后将缓冲区中的数据发送给各个监控画面程序。

图形显示程序的通信部分比较简单, 主要完成与视图驱动程序的TCP连接。需要注意的是采用WinSock提供recv函数有时并不能从连接的套接字中一次返回所有的数据, 这种情况下, 可根据监控参数名数目和数据类型为recv函数指定接收的字节数, 并从recv函数的返回值中判断实际接收的字节数, 如果少于指定的字节数, 则需要再次接收剩下的字节数, 直至接收完为止。相对应的send函数也存在此种问题, 可采用相同的方法处理。

从系统各个组成部分之间的相互作用关系看, 整个系统构成了两级Server-Client模式, 即作为中间层的视图驱动程序相对于前端服务程序为Client端, 而相对于图形显示程序则为Server端, 如图3中两个虚线框所示。

3 实际应用

本系统集实时数据采集、存储、预处理、网络传输、图形显示、数据回放等众多功能于一体。采用两级Server-Client模式, 既满足试飞实时监控的实时性要求, 又保证了系统具有较高的数据可靠性, 同时大大提高了图形显示程序的开发效率。该系统已成功完成了多个型号飞机的实时监控任务, 图4和图5是某型号飞机的实际应用效果, 分别为平显画面显示和三维姿态画面显示。整个系统操作简单、运行稳定流畅, 易于管理和维护。

4 总结

遥测数据实时处理软件系统实现了飞行试验遥测数据的采集、存储、预处理、网络传输、多形式的图形显示和数据回放等功能。采用基于UDP和TCP 协议相结合的方式, 满足了试飞监控的实时性 和数据传输的可靠性要求。在结构上灵活地运用了处于中间级的视图驱动程序, 使图形显示程序不必关心其参数在UDP数据流中的具体位置, 数据的筛选工作由视图驱动程序负责完成, 大大提高了图形显示程序的开发效率, 也便于系统的扩展和维护。该系统已得到成功应用, 为试飞实时监控提供了强有力的手段。

参考文献

[1]朱铁夫, 尹春铭, 邓建华.飞行试验图形监视系统设计与仿真.计算机仿真, 2003;20 (6) :71—73

[2]张建林.试飞监控系统及其应用.飞行试验, 2004;20 (3) :35—39

[3]陈锡辉, 张银鸿.LabVIEW8.20程序设计从入门到精通.北京:清华大学出版社, 2007

实时处理 篇9

随着视频信息越来越多的在各方面的应用, 人们对视频质量以及实时性的要求也越来越高, 视频的实际处理难度也在逐渐增大。本文给出了一款基于FPGA的实时视频处理的方法, 采用Altera公司推出的一款低成本、高密度的Cyclone系列FPGA作为主要控制芯片, 摄像头芯片采用美光的MT9M111这款数字传感器。通过FPGA对摄像头采集的ITU-R BT.656格式的数据进行采集、色彩空间变换、分辨率转换等操作, 然后以显示分辨率1280×1024、刷新率60Hz的显示格式在DVI-I接口的显示器上显示。系统具有图像静止显示的功能, 可以广泛应用于关系公共安全等的场所。

1 系统结构

视频采集模块通过传感器MT9M111对现实场景进行图像采集, 将生成的ITU-R BT.656数据由ITU数据输出端口发送给视频转换接口模块。视频转换接口模块将接收到的BT.656格式数据转换成TMDS数据流, 其中, TMDS是DVI接口的基本电气连接形式。TMDS数据流送至由两个SDRAM组成的缓存模块中, 最后通过读取缓存模块中的数据并发送给DVI显示终端。系统不停地执行上述过程, 就得到了当前实时画面。系统的结构框图如图1所示。

2 系统硬件设计

本文系统使用FPGA芯片EP1C6Q240C8, 该芯片是Altera的一款低成本芯片, 其内部有两个锁相环, M4K RAM 20个, LE资源5980个, 最大用户I/O脚185个, 完全满足本设计。基于系统能脱机工作考虑, 在系统中加入了配置芯片。配置芯片选用与本款FPGA配套的型号为EPCS1SI8的串行主动配置芯片, 由AS下载接口将程序写入到配置芯片中, 使本文系统具有脱机工作的能力。另外, 由于视频数据的存储和显示是同时进行的, 而SRAM是单端口存储器件, 不支持数据的同时读写, 因此需要两块SDRAM同时进行乒乓操作来完成数据的连续读写。

考虑到本文系统最终输出的图像分辨率为1280×1024, 其中每个像素值为24Byte, 因此要求SDRAM的容量要大于1280×1024×24Byte, 大概31MB。另外由于输出图像的分辨率要求FPGA与TMDS发送芯片之间传送数据的带宽在100M (像素/秒) 以上, 因此要求FPGA与SDRAM之间传送数据的带宽也要达100M (像素/秒) 以上。最后考虑到了系统将来的扩展和升级, 最终选用Micron公司的MT48LC2M32B2TG-6的SDRAM。该存储器的容量为2M×32Byte, 工作速度可达166MHz, 完全满足系统要求。TMDS发送芯片选用Silicon Image公司的SiI164CT64, 它支持的TMDS单链路上的像素带宽范围在25M像素/秒至165M像素/秒, 满足FPGA与TMDS发送芯片之间传送数据的带宽在100M像素/秒以上的要求。系统硬件设计图如图2所示。

提出一种基于协处理器的2D DCT/IDCT硬件单元。该协处理器应用于以ARM11处理器为核心的SoC系统中, 实现了具有较高精度的二维DCT和IDCT变换, 在90nm工艺下达到500MHz频率。介绍了该协处理器设计实现的具体过程、算法设计与硬件结构, 并对协处理器的设计效果进行了测试与分析。

2.1 视频数据采集

视频数据的采集是通过芯片MT9M111来完成的。MT9M111是低功耗、低成本渐进扫描CMOS图像传感器;130万像素分辨率 (1280H×1024V) ;MT9M111采用低漏电DRAM工艺, 配备了美光的DigitalClarity专利技术, 即使在最差的光照条件下也能提供清晰明亮的彩色图像。MT9M111具有较低的暗电流, 并降低了色度/亮度干扰和瞬间噪声。视频采集终端将采集到的图像生成ITU-R BT.656格式的数据, 然后再将数据通过标准ITU接口发送给视频转换接口模块。

ITU-R BT.656完整的帧数据结构如图3所示。BT.656格式的数据帧, 一帧图像数据由一个625行、每行1728字节的数据块组成。每帧分为两场, 其中, 23~311行是偶数场视频数据, 336~624行是奇数场视频数据, 其余为垂直控制信号。每行数据包含水平控制信号和YCbCr视频数据信号, 视频数据信号排列顺序为Cb-Y-Cr-Y。每行开始的288字节为行控制信号, 开始的4字节为EAV信号 (有效视频结束) , 紧接着280个固定填充数据, 最后是4字节的SAV信号 (有效视频起始) 。

2.2 视频转换接口模块

该模块完成视频信号的BT.656格式到RGB格式的转换。先将接收到的BT.656格式的数据流经过解交织操作, 即由于每个像素的YCrCb值是按Cb-Y-Cr-Y的顺序依次连续输出, 且前后两个像素的YCrCb值有所交织, 因此需要将交织在一起的串行YCrCb数据拆解成独立的并行的YCrCb数据流。再根据色彩空间变换公式, 对经过解交织后的YCbCr值进行色彩空间转换, 转换成对应的RGB值, 然后将这些RGB值写入SDRAM中进行缓存。最后由FPGA将像素的RGB值从SDRAM中读出, 并按照VGA的时序标准发送给TMDS发送芯片, 再由TMDS发送芯片完成每个像素的RGB值的编码和并串转换, 然后将其发送到TMDS链路上, 提供给DVI显示器显示。

为了保证视频采集系统的实时性, 该系统使用双SDRAM的“乒乓操作”。“乒乓操作”是一个常常应用于数据流控制的处理技巧, 完成数据的无缝缓冲与处理。在对第一块SDRAM进行写处理的同时, 对第二块SDRAM进行读操作。将读出来的RGB值发送给TMDS发送芯片, 经过数字通道后, 传送到DVI显示器上显示。DVI传输的是数字信号, 数字图像信息不需经过任何转换, 就会直接被传送到显示设备上, 因此减少了数字→模拟→数字繁琐的转换过程, 大大节省了时间, 因此它的速度更快, 有效消除拖影现象, 而且使用DVI进行数据传输, 信号没有衰减, 色彩更纯净, 更逼真。

3 结束语

本文所设计的基于FPGA的实时视频处理系统, 将CMOS摄像芯片采集到的BT.656格式数据转换成RGB格式, 并在DVI显示器上显示, 该系统具有体积小、成本低、功耗低、速度快、适应性强等特点, 因此, 在图像的实时处理方面具有良好的应用前景。

参考文献

[1]张雅绮.Verilog HDL高级数字设计[M].北京:电子工业出版社, 2005:295-339.

[2]Digital Display Working Group[Z].Digital Visual Interface Revision1.0.April 1999.

[3]Micron Technology, Inc.MT9M111_SOC1310_2.fm-Rev.C 10/04EN[EB/OL].http://www.micron.com.

实时处理 篇10

1 硬件系统设计

基于SOPC技术的系统设计, 首先要完成系统的硬件设计[5]。所设计的硬件系统框图如图1所示。图1中FPGA部分建立在FPGA芯片内, 由SOPC Builder软件完成该部分的设计, 其核心是Nios II处理器。

设计选用的FPGA芯片为Altera公司生产的EP2C35F672C6N芯片, 该芯片具有性能强功耗低的特性。设计采用的FPGA配置芯片为EPCS16, 用于存储FPGA硬件配置数据, 在系统上电时对FPGA进行硬件配置。FLASH存储器用于存放应用程序, SRAM作为显示缓冲区保存图像边缘检测的结果, SDRAM则用于暂存CMOS采集到的图像数据。图1中的三态总线桥、SRAM Controller和SDRAM Controller分别为上述三者与Avalon总线相连提供相应的Avalon总线接口。CMOS Controller为自定义的CMOS图像传感器控制器IP核, 它在Nios II软核的控制下将CMOS图像传感器采集到的图像数据通过Avalon总线经SDRAM Controller暂存于外部SDRAM存储器中, VGA显示控制器IP核VGA Controller则按照分辨率为640×480×60 Hz的VGA显示时序输出图像分割结果, 图像数据经数模转换后通过VGA接口在具有VGA接口的LCD显示器上显示输出。

1.1 CMOS Controller的设计

CMOS Controller为用户自定义的Avalon总线外设, 其内部结构如图2所示。图2中, 左侧的信号线与CMOS图像传感器相连;右侧信号线与Avalon总线相连。CMOS图像传感器配置模块通过时钟信号线I2C_SCLK和数据信号线I2C_SDA以I2C总线的通信方式配置CMOS图像传感器的工作方式。图像采集模块在像素时钟信号PCLK的上升沿捕获帧有效信号FVAL和行有效信号LVAL, 并在FVAL和LVAL同时为高电平时采集图像数据DA-TA[11:0], 图像数据经双时钟先入先出缓冲器DC-FIFO后, 由Avalon总线接口模块读出并通过Avalon总线写入SDRAM存储器中。Nios II可以通过Avalon总线接口模块访问CMOS Controller的内部控制寄存器, 通过控制寄存器控制图像采集模块开始或停止采集图像。

1.2 VGA Controller的设计

在显示图像边缘检测结果时, 图像数据量大、实时性要求高, 如果每个像素点的传输都由Nios II去实现, 需要占用大量的CPU资源。为了将Nios II从繁重的数据传输任务中解脱出来, 设计使用DMA控制器 (DMA Controller) 完成图像数据的传输。同时, 为了实现图像数据的高速传输, VGA Controller的设计采用了流模式传输方式, 其内部结构如图3所示。

在图3中, 左侧的信号线与Avalon总线相连, 右侧信号为VGA显示所需的数据信号和控制信号。Avalon总线接口模块以流模式传输方式与Avalon总线相连。由于系统时钟与VGA显示的像素时钟不同, 所以采用双时钟先入先出缓冲器DCFIFO来缓冲图像数据。当DCFIFO中存储的数据达到设定的容量阈值时, readyfordata端口输出高电平以通知主端口停止对VGA Controller的写操作。反之, 当DCFIFO中存储的数据小于设定的容量阈值时, readyfordata端口输出低电平以通知主端口VGA Controller已经做好了接收数据的准备。vga_timing功能模块从DCFIFO中读取图像数据并按照VGA显示时序, 输出图像数据和相应的控制信号。

2 SOPC软件系统设计

完成SOPC硬件系统设计后, 还需要进行SOPC软件系统设计, 通过软件来协调各个模块统一工作实现设计要求。此系统的软件设计是在Nios II IDE平台下, 使用C语言编写而成。图4给出了单帧CMOS采集图像经过图像处理并显示图像处理结果的程序流程图。

在图像采集、处理和显示边缘检测结果时, Nios II首先完成对CMOS Controller的初始化, 由CMOS Controller将CMOS采集到的图像数据暂存于SDRAM存储器中。一帧图像采集完毕后, Nios II通过复位CMOS Controller停止采集图像, 并对SDRAM中的图像进行处理同时将处理结果写入SRAM中。图像处理结束后, Nios II启动DMA Controller, 由DMA Controller将SRAM中的处理后的图像以流模式的传输方式送给VGA Controller完成图像处理结果的显示。

3 系统应用

为检验所设计的图像处理系统的性能, 以Sobel边缘检测算法为例, 应用该系统对图像进行实时的边缘检测和显示。

基于Sobel算法进行边缘检测, 首先用Sobel算子计算出水平梯度和垂直梯度, 然后把2个方向的梯度结合起来, 最后应用门限处理方法判断图像边缘。其算法流程如图5。

Sobel算子对图像的每个像素以检测像素点为中心, 使用如图6所示的卷积模板来计算水平方向和垂直方向的梯度值。在门限处理时, 采用全局门限。当某像素点 (x, y) 的梯度值大于或等于设定的门限时, 该点的值设为255, 反之为0。

基于Sobel算子的边缘检测算法的软件实现可分为以下4个步骤:

(1) 采用Sobel算子卷积模板分别与预处理后的图像g (x, y) 进行卷积, 卷积结果做归一化处理, 取二者中最大的结果作为边缘响应。

(2) 对边缘响应图像h (x, y) 做直方图统计, 结果存入直方图数组Count (256) 中。

(3) 对直方图数组Count (256) 中的所有非0像素进行平均, 得到均值TH0。由于图像h (x, y) 中大部分非0像素为非边缘响应, 所以低于均值TH0的像素都可视为非边缘像素。

(4) 对边缘响应图像做阈值分割, 高于阈值T的点赋值255 (视为真正边缘点) , 低于阈值T的点赋值0。

图像边缘检测算法流程图如图7所示。

4 实验结果

在Altera公司的DE2开发板上搭配TRDB-D5M运行该系统对图像进行图像边缘检测, TRDB-D5M是一个500万像素的CMOS, 显示输出时通过VGA接口外接1 280×1 024的LCD显示器, 分割阈值T=24。本系统为实时处理系统, 图8是其中一帧图像处理前、后的结果。

图8a为CMOS采集到的原始图像, 图8b为经过该实时图像处理系统进行边缘检测后得到的结果, 给出的边缘检测结果表明了该系统很好地完成了图像边缘检测任务, 且系统的实时性很好。

由于该系统自定义了CMOS的IP核和VGA显示的IP核, 同时因为SOPC技术的可重构性, 在对图像处理算法的适当变换能获得与之相对应的图像处理结果, 使用该系统的设计思路可以大大简化图像处理系统的开发工作, 为其他各种图像处理系统开发提供借鉴。

5 结束语

基于SOPC技术, 给出了一种在单片FPGA上实现软硬件协同完成图像采集、处理和显示的实时系统设计方法。实验结果表明, 该系统具有很好的实时性和图像边缘检测效果。由于SOPC技术具有可重构的特点, 可以根据图像处理算法的要求, 对系统进行灵活的裁减、扩充、重新开发, 大大简化图像处理系统的软硬件设计工作。

参考文献

[1]詹毕旺.基于FPGA的SOPC的图像采集模块设计[J].微计算机信息, 2010, 26 (6-2) :134-136.

[2]陶宝泉, 付永庆, 梁盼.基于SOPC的视频采集及传输系统的设计[J].应用科技, 2010, 37 (4) :31-34.

[3]沈永格, 李范鸣, 李争.基于SOPC的红外图像采集系统[J].红外技术, 2010, 32 (6) :311-314.

[4]邱宏, 赵馨瑶, 刘纪洲.基于片上系统的红外直方图实时处理架构[J].激光与红外, 2009, 39 (10) :1123-1125.

上一篇:专家咨询制度下一篇:历史移民