数字信号处理论文一万
数字信号处理论文一万
“论文,不少于1500字。”真美。
通信、多媒体传输压缩、音视频处理、音乐语音处理、语音识别、图像识别、医学工程、医学检测、工业检测、雷达声纳、股票分析等等,太广了。
求数字通信技术论文
数据通信技术的研究
论文关键词:数据通信;原理;分类
论文摘要:随着计算机技术的广泛普及与计算机远程信息处理应用的发展,数据通信应运而生,它实现了计算机与计算机之间,计算机与终端之间的传递。由于不同业务需求的变化及通信技术的发展使得数据通信经过了不同的发展历程。
数据通信是以“数据”为业务的通信系统,数据是预先约定好的具有某种含义的数字、字母或符号以及它们的组合。数据通信是20世纪50年代随着计算机技术和通信技术的迅速发展,以及两者之间的相互渗透与结合而兴起的一种新的通信方式,它是计算机和通信相结合的产物。随着计算机技术的广泛普及与计算机远程信息处理应用的发展,数据通信应运而生,它实现了计算机与计算机之间,计算机与终端之间的传递。由于不同业务需求的变化及通信技术的发展使得数据通信经过了不同的发展历程。
1通信系统传输手段
电缆通信:双绞线、同轴电缆等。市话和长途通信。调制方式:SSB/FDM。基于同轴的PCM时分多路数字基带传输技术。光纤将逐渐取代同轴。
微波中继通信:比较同轴,易架设、投资小、周期短。模拟电话微波通信主要采用SSB/FM/FDM调制,通信容量6000路/频道。数字微波采用BPSK、QPSK及QAM调制技术。采用64QAM、256QAM等多电平调制技术提高微波通信容量,可在40M频道内传送1920~7680路PCM数字电话。
光纤通信:光纤通信是利用激光在光纤中长距离传输的特性进行的,具有通信容量大、通信距离长及抗干扰性强的特点。目前用于本地、长途、干线传输,并逐渐发展用户光纤通信网。目前基于长波激光器和单模光纤,每路光纤通话路数超过万门,光纤本身的通信纤力非常巨大。几十年来,光纤通信技术发展迅速,并有各种设备应用,接入设备、光电转换设备、传输设备、交换设备、网络设备等。光纤通信设备有光电转换单元和数字信号处理单元两部分组成。
卫星通信:通信距离远、传输容量大、覆盖面积大、不受地域限制及高可靠性。目前,成熟技术使用模拟调制、频分多路及频分多址。数字卫星通信采用数字调制、时分多路及时分多址。
移动通信:GSM、CDMA。数字移动通信关键技术:调制技术、纠错编码和数字话音编码。
2 数据通信的构成原理
数据终端(DTE)有分组型终端(PT)和非分组型终端(NPT)两大类。分组型终端有计算机、数字传真机、智能用户电报终端(TeLetex)、用户分组装拆设备(PAD)、用户分组交换机、专用电话交换机(PABX)、可视图文接入设备(VAP)、局域网(LAN)等各种专用终端设备;非分组型终端有个人计算机终端、可视图文终端、用户电报终端等各种专用终端。数据电路由传输信道和数据电路终端设备(DCE)组成,如果传输信道为模拟信道,DCE通常就是调制解调器(MODEM),它的作用是进行模拟信号和数字信号的转换;如果传输信道为数字信道,DCE的作用是实现信号码型与电平的转换,以及线路接续控制等。传输信道除有模拟和数字的区分外,还有有线信道与无线信道、专用线路与交换网线路之分。交换网线路要通过呼叫过程建立连接,通信结束后再拆除;专线连接由于是固定连接就无需上述的呼叫建立与拆线过程。计算机系统中的通信控制器用于管理与数据终端相连接的所有通信线路。中央处理器用来处理由数据终端设备输入的数据。
3 数据通信的分类
3.1 有线数据通信
数字数据网(DDN)。数字数据网由用户环路、DDN节点、数字信道和网络控制管理中心组成。DDN是利用光纤或数字微波、卫星等数字信道和数字交叉复用设备组成的数字数据传输网。也可以说DDN是把数据通信技术、数字通信技术、光迁通信技术以及数字交叉连接技术结合在一起的数字通信网络。数字信道应包括用户到网络的连接线路,即用户环路的传输也应该是数字的,但实际上也有普通电缆和双绞线,但传输质量不如前。
分组交换网。分组交换网(PSPDN)是以CCITTX.25建议为基础的,所以又称为X.25网。它是采用存储——转发方式,将用户送来的报文分成具用一定长度的数据段,并在每个数据段上加上控制信息,构成一个带有地址的分组组合群体,在网上传输。分组交换网最突出的优点是在一条电路上同时可开放多条虚通路,为多个用户同时使用,网络具有动态路由选择功能和先进的误码检错功能,但网络性能较差。
帧中继网。帧中继网络通常由帧中继存取设备、帧中继交换设备和公共帧中继服务网3部分组成。帧中继网是从分组交换技术发展起来的。帧中继技术是把不同长度的用户数据组均包封在较大的帧中继帧内,加上寻址和控制信息后在网上传输。
3.2 无线数据通信
无线数据通信也称移动数据通信,它是在有线数据通信的基础上发展起来的。有线数据通信依赖于有线传输,因此只适合于固定终端与计算机或计算机之间的通信。而移动数据通信是通过无线电波的传播来传送数据的,因而有可能实现移动状态下的移动通信。狭义地说,移动数据通信就是计算机间或计算机与人之间的无线通信。它通过与有线数据网互联,把有线数据网路的应用扩展到移动和便携用户4网络及其协议
4.1计算机网络
计算机网络(ComputerNetwork),就是通过光缆、双绞电话线或有、无线信道将两台以上计算机互联的集合。通过网络各用户可实现网络资源共享,如文档、程序、打印机和调制解调器等。计算机网络按地理位置划分,可分为网际网、广域网、城域网、和局域网四种。Internet是世界上最大的网际网;广域网一般指连接一个国家内各个地区的网络。广域网一般分布距离在100-1000公里之间;城域网又称为都市网,它的覆盖范围一般为一个城市,方圆不超过10-100公里;局域网的地理分布则相对较小,如一栋建筑物,或一个单位、一所学校,甚至一个大房间等。
局域网是目前使用最多的计算机网络,一个单位可使用多个局域网,如财务部门使用局域网来管理财务帐目,劳动人事部门使用局域网来管理人事档案、各种人才信息等等。
4.2网络协议
网络协议是两台计算机之间进行网络对话所使用的语言,网络协议很多,有面向字符的协议、面向比特的协议,还有面向字节计数的协议,但最常用的是TCP/IP协议。它适用于由许多LAN组成的大型网络和不需要路由选择的小型网络。TCP/IP协议的特点是具有开放体系结构,并且非常容易管理。
TCP/IP实际上是一种标准网络协议,是有关协议的集合,它包括传输控制协议(Transport Control Protocol)和因特网协议(InternetProtocol)。TCP协议用于在应用程序之间传送数据,IP协议用于在程序与主机之间传送数据。由于TCP/IP具有跨平台性,现已成为Internet的标准连接协议。网络协议分为如下四层:网络接口层:负责接收和发送物理帧;网络层:负责相邻节点之间的通信;传输层:负责起点到终端的通信;应用层:提供诸如文件传输、电子邮件等应用程序要把数据以TCP/IP协议方式从一台计算机传送到另一台计算机,数据需经过上述四层通信软件的处理才能在物理网络中传输。
目前的IP协议是由32位二进制数组成的,如202.0.96.133就表示连接到因特网上的计算机使用的IP地址,在整个因特网上IP地址是唯一的。
5 结语
总之,随着因特网技术的不断发展,数据通信技术将得到越来越广泛的应用,在数据通信的新技术、新设备不断涌现的今天,学习、了解和掌握数据通信技术显得尤为重要。
跪求关于安装监控摄像头的毕业设计论文
基于DSP的图象处理系统设计
摘要:文章提出一种基于丁工公司数字信号处理芯片TMS32OC6211的将模拟视频进行
数字化处理的设计方案,其中视频解码模块完成复合视频信号的数字化。该平台使用
p日工L工ps公司的专用视频输入处理芯片SAA71llA和「工「O存储器及CpLD实现了高速连
续的视频帧数据采集,满足了后继图像处理的需要。
关键词:数字信号处理芯片(OSp);视频采集
1引言
数字信号处理(Digit滋51罗alproeessing)是
利用计算机或专用处理设备,以数字形式对信号
进行采集、变换、滤波、估值、增强、压缩、识别等处
理,以得到符合人们需要的信号形式。
数字信号处理的实现方法有多种,但专用的
DSP芯片以其信号处理速度快、可重复性好、成本
低、性能优越得到首肯。
2系统功能概述
本文提出一种基于TI公司数字信号处理芯
片TMS320C6211的将模拟视频进行数字化处理
的设计方案,其中视频解码模块完成复合视频信
号的数字化。该系统具有接口方便、编程方便、精
度高、稳定性好、集成方便的优点。
本系统采用TI公司C6000系列DSP中的
TMS320C6211作为系统的cPu。图像数据通过外
部设备采集并输出模拟图像信号。这些信号经视
频解码芯片转换为数字信号;再经FIFO输人DSP
进行图像的增强、分割、特征提取和数据压缩等;
系统的控制逻辑由CpLD(ComplexP。『amm曲Ie
肠giCDeviee)控制器实现。系统结构如图l所示。
3系统硬件设计
3.1视频解码芯片
模拟视频信号中不仅包含图像信号,还包含
行同步、行消隐、场同步、场消隐等信号。视频解码
的目的就是将复合视频、YC分量等模拟视频信号
进行AD转换以获取图像的数字信号,同时提取
其中的同步和时钟信号。PhihPs公司的视频解码
芯片SAA7111A,支持对NTSC和PAL制视频信
号的自动转换,自动进行50/6OH:场频的检测,可
对NTS(认PAL、sEcAM制式视频信号的亮度和色
度进行处理。它拥有4路模拟输人、4路复合视频
(cvBs)或2路YC或一路YC和2路CvBs输
人。可设置CvBS或YC通道为静态增益控制或
自动增益控制(AGC)。拥有2路亮度和色度梳状滤
波器,可对亮度、对比度、光圈和饱和度进行控制。
可支持以下输出格式:4:2:2(16位)、4:2:2(CCIR6ol
8位)、4:1:l(12位)YUV格式或8:8:8(24位)、5:6:5
(l6位)RGB格式。这种多格式的数据总线形式为
设计者提供了灵活的选择空间。
系统中采集的图像信号采用PhihPs公司的
SAA71IA完成A用转换,如图2所示。SAA71]A
允许四路模拟视频输入,具有两个模拟处理通道,
支持四路CVBS模拟信号或二路Y/C模拟信号或
二二路CVBS信
一
号和一路Y汉二信号。SAA7llA对摄
像头输人的标准PAL格式的模拟图像信号进行
A/D转换,然后输出符合CCIR601格式的4:2:2
的16位YUv数据到FIFO。其中亮度信号Y为8
位、色度信号C:和Cl)合为8位数据。
3
.
2HFO存储器模块
F’IF()采用IDT公司的IDT72VZ15LB芯片,
FIFO的深度为512x18bit,支持STANDARD(标
准)和Fw衅(FirstwordFall一Through,首字直接
通过)两种工作模式。按照CCIR601格式,Yuv
图像分辨率为720x576象素,当按行输出时,
SAA7一IA输出数据流大小为:720x16=1440卜I
因为DSP通过32位的SBSRAM接日与FlI;()通
信,故YUV数据写人FIFO时需要在FIFO之间
实现乒乓切换。这时一行720x16bit的数据在两
片FIFO中存储变为360x32bit,两片FIF()行r以
满足上述要求。FIFO的初始化及时序由CP[力实
现,FIFO连接见图3。
3.3DsP图像处理模块
TMS320C6211是Tl公司发布的面l台]视拓!处
理领域的新款高速数字处理芯片,适用于移动通
信基站、图像监控、雷达系统等对速度要求高和高
度智能化的应用领域。存储空间分两部分:运行过
程的临时数据存在SDRAM中;系统程序则固化
在FLASH存储器中。Flash存储器具有在线重写
人功能。这对系统启动程序的修改和升级都带来
了很大的方便。
TMS320C6211DSP的高速性能主要体现在
以下方面:①TMS320C62ll的存储空间最大可扩
展到1CB,完全可以满足各种图像处理系统所需
的内存空间,而且其最高时钟可达167Mllz,峰值
性能可达1333MIPS(百万条指令/秒)。②并行
处理结构。TMS32OC62ll芯片内有8个并行处理
单元,分为相同的两组,并行结构大大提高芯片的
性能。③芯片体系采用veloc,rrI结构。vel。八rJ’l是
一种高性能的甚长指令字(VIJW)结构,单指令
字字长为32hit,8个指令组成一个指令包,总宇长
为256bit。即每秒钟可以执行8条指令。Velo‘、、『rl
结构大大提高了DSP芯片的性能④采用流水线
操作实现高速度、高效率。TMS32OC62川只有石-
流水线充分发挥作用的情况下,才能达到最高的
峰值性能。与其他系列DSP相比,优势在于简化
了流水线的控制以消除流水线互锁,并增加流水
线的深度来消除传统流水线的取指、数据访问和
乘法操作上的瓶颈。
本系统DSP主要完成从FIFO读出数据的处
理以及压缩等。数据处理由自行编写的算法实现,
数据压缩算法采用JpEG(JointphotoGraphieEx-
pertGroup)标准。当摄像头采集速度为每秒25帧
图像时,它留给DSP处理的时间最多为每帧
40ms。如果考虑系统有一定的延时以及处理后
图像的存储时间,那么DSP处理一幅图像时间不
能超过30ms。按照C6211的处理速度,在
30ms内可以处理4OM(0.03x1333MIPS)条指
令。DSP读出FIFO中的行数据并存人SDRAM,一
帧图像有576行,在最后一行时会收到系统的帧
中断,这时SDRAM中的图像数据总共有1440x
576=sloKB。让C62一l用36M条指令周期的时
间处理810KB的数据显然绰绰有余。粗略的计算
过程如下:
系统采用快速DCT(离散余弦变换),每sx
8矩阵需要11次乘法、29次加法,因此一帧图像
的FDCT,共需要(11+29)x720x576xZ/
64=518400个指令周期;对于量化模块,每8xs
矩阵需要64个量化指令周期,一帧需要64x
720x576xZ/64=829440个指令周期;对于编
码部分,假设编码后非0元素占25%,对每8xs
矩阵进行219一zag扫描、编码估计需要120个指
令周期,则共需120x720x576xZ/64=
1555200个指令周期。按以上计算,在系统中进行
JPEC编码大约需要2903040个指令周期,耗时
19.3536ms(TMS320C62lll作在15OMHz时)。
可以看出,实际需要的指令远小于36M条,而时
间也远小于3Oms,DSP完全可以实时处理从FI-
FO传过来的数据。
3.4利用DSP芯片进行图像压缩
如图4所示,图像数据通过FO接口送人数
字信号处理板,由DSP芯片中的DMA控制器负
责将数据放人输人缓冲区中,DSP对缓冲的图像
数据进行压缩后,通过HPl接口将压缩数据送
出。
4总结
图像采集系统的关键在于如何对大容量的信
息进行暂存、压缩和传输等问题进行处理。本系统
主要是解决这三个难题。在图像信息暂存方面充
分利用DSP存储空间的可扩展性,保证系统可暂
存的信息量足够大;信息压缩是DSP最擅长做的
事情,可以在很短的时间内完成大量的信息压缩
工作。该平台使用专用视频输人处理芯片
SAA7lll和FIFO存储器及CPLD实现高速连续
的视频帧采集,满足后继图像处理的需要。该平台
既可以作为视频图像采集使用,也可以进行视频
压缩、匹配等图像处理算法验证工作。
参考文献
【1ITexasInstruments,TMS32oC6000pe即he司5Reference
Guide,2002
.
12.
[2】PhiliPsSe二eonduetors,SAA7llADatasheet,1998.5
.
[3」TexasInstruments,TMS32OC6000CPUandInstrUetion
SetRefereneeGuide,2000
.
10
.
I41TexasInstruments,TMS32OC6211Digtalsi即习ProeeSSor
DataSheet,2003名
-
【51TexasInstrumentS,TMS320C6000TeehnicalBrie〔1999
.
2
.
[6llnte红atedDeviceTeehnolo留,Inc于IFOApPBook
.
飞9999
.
【7〕雄伟,DSP芯片的原理与开发应用(第二版)【M」
.
北京:电
子工业出版社,200住
【8」李方慧等,TMS32OC600ODSps原理与应用(第二版)四1
.
北京:电子工业出版社,2003.1
.
[0]刘松强
,
数字信号处理系统及其应用[M〕
.
北京:清华大学
出版社,19%
.
〔10]彭启徐,李玉柏
.
DSP技术四】
.
成都:电子科技大学出版
社,1997.
浅谈MATLAB在信号与系统分析中的应用 论文写法 本人新手
相关论文:
Vc++下如何利用Matlab工具箱进行数字信号处理
摘要: 本文详述了在Vc环境下如何利用Matlab工具箱进行数字信号处理,全文以Matlab工具箱中功率谱密度分析函数为例,介绍了通过Matlab自带的引擎、Matlab自身的编译器以及利用MathTools公司的Matcom进行对工具箱函数的调用。
关键词:Matlab M-文件 引擎 编译器 Matcom Vc++
Matlab的信号处理工具箱是信号算法文件的集合,它处理的基本对象是信号与系统,信号处理工具箱位于目录、Toolbox\Signal下,利用工具箱中的文件可以实现信号的变换、滤波、谱估计、滤波器设计等。在其它的环境如Vc下如果能调用Matlab工具箱中的文件,会大大地加快一些算法的实现,同时其可靠性也很高。
利用Matlab引擎
Matlab引擎采用客户和服务器计算方式,在运用中,Vc的C语言或C++语言的程序作为前端客户机,它向Matlab引擎传递命令和数据信息,并从Matlab引擎接收数据信息,它提供了下列几个函数: engOpen, engGetArray, engPutArray, engEvaString,
engOutputBuffer ,engClose与客户机进行交互。
下面例程是在Vc下建一个基于对话框的应用程序,在对话框中设置一个Button控件OnMatlabEngine.,在对话框 .cpp文件中加入”engine.h” 和“math.h” 头文件,下面给出部分程序清单。
Void CtestmatlabDlg::OnMatlabEngine(){
Engine *ep;
mxArray* T=NULL,*result=NULL,*mFs=NULL,*mnfft= NULL;
double datax[1024];
char buffer[1024];
for(int j=0;j<1024;j++)//注:如通过采集卡采集数据可将采集的数据放在datax[]数组中,此循环就不需要
{
double samt=(double)(1.0/1024);
datax[j]=sin(2.0*63.0*samt*3.1415926+1.15*3.1415926);
}
double *pPxx,*pFxx;
if(!(ep=engOpen(" \0"))){//打开Matlab引擎,建立与本地Matlab的连接
fprintf(stderr,"\n Can't start MATLAB engine\n");
exit(-1);
}
double Fs[1]={1024};//因为Matlab所有参与运算的参数都是矩阵的形式,因而下列几行将参数转变
double nfft[1]={1024};//成Matlab可接受的矩阵形式。
T=mxCreateDoubleMatrix(1,1024,mxREAL);
mnfft=mxCreateDoubleMatrix(1,1,mxREAL);
mFs=mxCreateDoubleMatrix(1,1,mxREAL);
mxSetName(T,"T");
mxSetName(mnfft,"mnfft");
mxSetName(mFs,"mFs");
memcpy((char*)mxGetPr(T),(char*)datax, 1024*sizeof(double));
memcpy((char*)mxGetPr(mnfft),(char*)nfft, sizeof(double));
memcpy((char*)mxGetPr(mFs),(char*)Fs,1*sizeof(double));
engPutArray(ep,T); //将转化的参数放入引擎中,此时可在Matlab command窗口下查看此参数
engPutArray(ep,mnfft);
engPutArray(ep,mFs);
engEvalString(ep,"[pxx,fo]=psd(T,mnfft,mFs);"); //利用引擎执行工具箱中文件
engOutputBuffer(ep,buffer,512); //如只想看显示图形,可将返回参数去掉,psd无返回参数缺省情况下会自动画图形
result=engGetArray(ep,"pxx");//取出引擎中的数据放在所指的区域中供后续处理
pPxx=mxGetPr(result);
result=engGetArray(ep,"fo");
pFxx=mxGetPr(result);
engEvalString(ep,"plot(fo,10*log10(pxx));");//利用引擎画图
engEvalString(ep,"title('功率谱分析');");
engEvalString(ep,"xlabel('Hz');");
engEvalString(ep,"ylable('db');");
mxDestroyArray(T); //释放内存
mxDestroyArray(mFs);
mxDestroyArray(mnfft);
mxDestroyArray(result);
engEvalString(ep,"close;");
engClose(ep);
}
上述程序在Vc下编译需要将 和两个动态库利用以下的命令:
lib/def:<自己的Matlab的安装路径,下同>e:\ Matlab\extern\include\*.def /machine:ix86 /out:*.lib来生成程序所需的静态连接库和,将和所在的目录加入Vc++ project/link/object/library modules下即可。
利用Matlab自身的编译器调用工具箱中的函数
Matlab的编译器可将Matlab的M文件转换为为C或C++的源代码以产生完全脱离Matlab运行环境的独立的运用程序,但Matlab本身的资料说明编译器如用来建立独立的运用程序,不能调用Matlab工具箱中的函数,这非常不利于搞一些特殊的算法。本人研究了一段时间发现,工具箱中的函数既然是M文件就一定可以用编译器来编译,以提供如Vc的调用函数,但是编译器只能编译一个独立的M文件,即这个 M文件不依赖于其他的M文件。如果M文件中又调用了其他的M文件,可将被调用的M文件拷贝到调用M文件的相应位置,作适当的改动就可以用于编译器编译。编译器不支持图形函数,所以M文件中如有图形函数需注释掉。
当Matlab的编译器mcc加入适当的参数-e(mcc –e *.*)或-p(mcc –p *.*)就可生成将输入的M文件转换为适用于特定运用的C或C++源代码。这样如果要在Vc下编译通过,还需连入以下几个库, , , . . 以及Matlab C MATH库,建议采用前述的方法将动态连接改为静态连接。对于C/C++编译环境的设置,在Matlab command窗口下运行mex –setup 然后依提示操作,而对于C/C++连接环境的设置,运行mbuild –setup依提示操作即可。
下面给出利用编译器将Matlab工具箱中psd.m文件生成可供Vc调用的函数。
将psd.m文件拷贝一份至Matlab\bin目录下,改写相应调用的M文件如nargchk.m, hanning.m等。为生成的代码简洁,对于采集数据处理输入参数很明了的情况下可作大量的删减,最终使psd.m成为一个不依赖于其他M文件的独立的M文件,注意千万注释掉作图代码,最终改成如下形式,限于篇幅给出关键的几步:
function [Pxx,f]=psd(Fs,nfft,noverlap,x)
window=o,5*(1-cos(2*pi*(1:nfft)’/(nffft+1)));//hanning 窗
dflag=’none’;
window=window(;)
………………………………….
以上只要稍懂Matlab语言和信号处理知识就可完成这项工作。
假设上述代码重新存为testwin.m,在Matlab command 窗口下设置好环境参数运行mcc –e testwin,则可在Matlab\bin下生成testwin.c ,如运行mcc –p testwin 则生成.
Vc下建立一个基于对话框的文件,然后在对话框里加一个Button控件OnButtonPsd
将上述生成的.c文件的头文件加入到工程的.cpp中,且将#ifdef_cplusplus
extern “c”{
#end if
c代码声明加入Vc的包含文件和生成的.C的包含文件之间
将#ifdef_cplusplus
}
#end if加入.cpp文件未尾
为了简洁且便于处理将生成的c函数稍改动,给出部分代码如下:
void CTestpsdwinDlg::OnButtonPsd(){
mxArray* x_rhs_;//指向采集数据存放区
Fs=23510;//数据采集的频率 nfft=1024;//1024点的fft
double datax[1024]//采集的数据
x_rhs_mxCreateDoubleMatrix(1,1024,mxReal);
memcpy(mxGetPr(x_rhs_),datax,1024*sizeof(double));
noverlap=512;
……………….
……………….
mccCopy(&Pxx,&Spec);
mccCopy(&f,&frevgg_vector);
for(int j=0;j<(int)(nfft/2+1);j++)
{
datap[j]=mccGetRealVectorElement(&Pxx, (j+1));//功率谱密度存于datap[]数组
dataf[j]=mccGetRealVectorElement(&f, (j+1));//相应频率存于数组dataf[]中
}
mccFreeMatrix(&Pxx);
……………….
SendMessageBox(WM_PAINT,0,0);//利用Vc下的图形函数画图
Return;
}
如上生成的程序可读性不太好,而生成的c++代码则可读性较好,但千万注意只能用 Matlab的MATH库,不可用c++的MATH库,否则编译会出错,限于篇幅在此不述。
3)利用Matcom调用工具箱中的函数
Matcom编译M文件,先将M文件按照与Matcom的cpp库的对应关系翻译为cpp源代码,然后用对应版本的c编译器将cpp文件编译成相应的exe或dll文件,所以第一次运行要指定c编译器的路径,否则无法编译,指定好的编译信息就写在Matcom\bin\文件中,不过这一步按装matcom时,它自动寻找编译器并将其写入文件中,matcom4.5版中使用TeeChart3.0 OCX控件,因而它支持图形操作。
我们依然用上述的testwin.m文件,不要将图形函数注释掉,利用Mideva来生成可被Vc调用的信号处理程序。
运行Mideva在主界面上直打开M文件,在菜单中选择compile to dll,输入testwin..在Matcom debug目录下可以找到这样的几个文件,testwin.c ,testwin.h,,,,等。
将上述和testwin.h加入工程中,project/add to project/files并且在相应的文件中加入”stdafx.h”
加连接库:Tools\option\directory\ , 选include选项,加入e:\matcom45\lib (包含matcom.h)
library选项,加入e:\matcom45\lib
4) project\add to project\files 文件类型选项选(.lib)将e:\matcom45\lib\加入工程中编译运行。相应代码如下:
void CtestmatcomDlg::OnpsdButton(){
double datap[512],dataf[512];
initM(MATCOM_VERSION);//初始化matcom库
Mm Fs,nfft,noverlap;//创建矩阵
Mm x=zeros(1,1024);
Fs=1024;nfft=1024;noverlap=128;
dMm(Pxx_o);dMm(f_o);//创建并命名矩阵
datax[];//数据采集的数据存于此数组中
for(int i=1;i<=1024;i++)
{
x.r(1,i)=datax[i+1];//给x阵赋值
}
testwin(Fs,nfft,noverlap,x,i_o,Pxx,f_o);//matcom生成的函数
for(i=0;i<513;i++){//取出功率谱密度分析结果
dataf[i]=f_o.r(i+1,1);
datap[i]=Pxx_o.r(i+1,1);}
exitM();
return;
}
可见利用Matcom进行M文件转换非常的容易,生成的代码可读性很好,以上的转换同时生成了可供Vc调用的动态连接库,其使用和一般的动态库一样使用。同时需指明Matcom不仅可转换独立的不依赖于其它M文件的M文件,同时可转换调用其它M文件的M文件嵌套。条件是这此M文件在同一个目录下面,如前所述的psd.m可直接用上述方法转换,生成了多个重载形式的psd函数
结论: 利用Mtlab引擎调用工具箱中的函数可节省大量的系统资源,应用程序整体性能较好,但不可脱离Matlab 的环境运行。用Matlab编译器进行工具箱函数的调用,须转换相应的M文件使其成为独立的M文件,且不支持图形函数,转换的代码可读性不太好。用Matcom 进行转换非常方便,生成的代码可读性很好,支持图形函数,且代码执行的速度比不转换平均要快1.5倍以上。以上程序在Vc++ 6.0,Matlab5.2,Matcom4.5中调试通过,以上方法在工程实践中已得到很好的运用。
仅供参考,请自借鉴
希望对您有帮助
请帮忙翻译一篇关于DSP简介的英文论文
数字信号处理是一个高度发展的领域,是属于最先进的电子系统.应用于例如移动通信系统, mp3/cd/dvd-players和医疗领域里关于心脏起搏器的应用,助听器的应用及各种实例算法不同类型的滤波器, 编码和图像识别.DSP往往针对于一个有实时性要求的系统,这就为某些数字信号处理构筑了一个“单片机”. DSP标准处理器的发展到涵盖了广泛的应用,因此,在在许多系统和要求有高度的灵活性的处理能力的器件上应用广泛.但是,对DSP芯片有很多特定规范,例如吞吐量和功耗的需求,这需要特定应用的体系结构. 标准信号处理器及其与其他解决方案讨论的内容是: 1 . 表征和代表性的信号处理算法:信号流,数据流和依赖图的概念和迭代方向. 2 . 建筑转化的概念,时序,流水线和并行处理的高吞吐量和/或低功耗. 不同类型的结构,如时间复用和硬件映射和如何变换,可他们之间使用 观念的展开和折叠. 3 . 变换算法如何复杂算法可以降低,从而达到更有效地实施,通过概念 强度折减. 4 . 不同的编码体系,他们如何使用,如何影响执行绩效.
上一篇:舰船知识杂志收费标准
下一篇:山东大学期刊分类目录