实时信号处理

实时信号处理

ID:18651144

大小:126.50 KB

页数:10页

时间:2018-09-19

上传者:xinshengwencai
实时信号处理_第1页
实时信号处理_第2页
实时信号处理_第3页
实时信号处理_第4页
实时信号处理_第5页
资源描述:

《实时信号处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

题目:实时信号处理专业:电子信息工程9 摘要近年来随着科技的飞速发展,实时信号处理的应用正在不断的走向深入,同时也将实时信号带进了各项的应用中。本论文通过对实时信号处理的概念以及设计流程、Matlab语言及其所能实现的功能、Matlab在数字信号处理中的应用、Matlab解决实际中的问题、四个方面来反映对实时信号处理的理解以及认识。通过实时信号处理流程的设计了解Matlab语言的特点、性质及其所能实现的功能,并在利用Matlab解决生活实际问题的编程中真正掌握Matlab在五个方面所能实现的主要功能。关键字:Matlab、实时信号、处理、计算、功能9 1实时信号处理概述、实现方法及设计流程11.1实时信号处理概述11.2实时信号实现方法及系统设计开发流程22Matlab语言及其所能实现的功能32.1Matlab语言的基本概念32.25个具有代表性的程序42.2.1用matlab产生标准音阶的7个单频正弦音符,并用计算机声卡放出42.2.2绘制正多边形42.2.3单边指数信号52.2.4正弦波52.2.5单位脉冲序列63Matlab在数字信号处理中的应用73.1求给定有限长序列的DTFT73.2求系统的频率响应74用Matlab解决实际中的问题84.1用matlab实现石头剪子布的游戏85结束语99 实时信号处理概述、实现方法即实现流程1.1实时信号处理概述实时信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是实时信号处理的子集。实时信号处理的目的是对真实世界的连续模拟信号进行数字处理和测量或滤波。因此在进行实时信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而实时信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。实时信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。实时信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是单一的数字或模拟信号处理技术与设备所无法比拟的。实时信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使实时信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。世界上三大DSP芯片生产商:1.德克萨斯仪器公司(TI)2.模拟器件公司(ADI)3.摩托罗拉公司(Motorola).这三家公司几乎垄断了通用DSP芯片市场。实时信号处理的特征和分类信号(signal)是一种物理体现,或是传递信息的函数。而信息是信号的具体内容。模拟信号(analogsignal):指时间连续、幅度连续的信号。数字信号(digitalsignal):时间和幅度上都是离散(量化)的信号。实时信号可用一序列的数表示,而每个数又可表示为二制码的形式,适合计算机处理。一维(1-D)信号:一个自变量的函数。二维(2-D)信号:两个自变量的函数。多维(M-D)信号:多个自变量的函数。系统:处理信号的物理设备。或者说,凡是能将信号加以变换以达到人们要求的各种设备。模拟系统与数字系统。信号处理的内容:滤波、变换、检测、谱分析、估计、压缩、识别等一系列的加工处理。多数科学和工程中遇到的是模拟信号。以前都是研究模拟信号处理的理论和实现。模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。实时数字系统的优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理随着信息时代、数字世界的到来,实时信号处理已成为一门极其重要的学科和技术领域。1.2实时信号实现方法及系统设计开发流程在设计需求规范,确定设计目标时,其实要解决二个方面的问题:即信号处理方面和非信号处理的问题。信号处理的问题包括:输入、输出结果特性的分析,DSP算法的确定,以及按要求对确定的性能指标在通用机上用高级语言编程仿真。9 非信号处理问题包括:应用环境、设备的可靠性指标,设备的可维护性,功耗、体积重量、成本、性能价格比等项目。算法研究与仿真这是DSP应用实际系统设计中重要的一步。系统性能指标能否实现,以何种算法和结构应对需求,都是在这一步考虑的。这种仿真是在通用机上用高级语言编程实现的,编程时最好能仿DSP处理器形式运行,以达到更好的真实性。DSP芯片选择中通常有下列几条应注意的有(1)精度(2)字长的选择(3)存储器安排(4)开发工具:在DSP系统设计中,开发工具是必不可少的,一个复杂的DSP系统,必须有功能强大的开发工具支持,开发工具包括软件和硬件两部分。(5)功耗与电源管理(6)成本和厂家的销售后服务(7)支持多处理器DSP处理器软、硬件开发工具简介随着DSP处理器的功能不断强化和系统开发周期不断缩短,设计和调试DSP系统越来越依赖于DSP开发系统和开发工具,下图为DSP处理器开发流程图。9 2.Matlab语言极其所能实现的功能2.1Matlab语言的基本概念MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。应用  MATLAB产品族可以用来进行以下各种工作:  ●数值分析  ●数值和符号计算  ●工程与科学绘图  ●控制系统的设计与仿真  ●数字图像处理技术  ●数字信号处理技术  ●通讯系统设计与仿真  ●财务与金融工程特点  ●此高级语言可用于技术计算  ●此开发环境可对代码、文件和数据进行管理  ●交互式工具可以按迭代的方式探查、设计及求解问题  ●数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等  ●二维和三维图形函数可用于可视化数据  ●各种工具可用于构建自定义的图形用户界面  ●各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及MicrosoftExcel)集成[2]  ●不支持大写输入,内核仅仅支持小写优势(1)友好的工作平台和编程环境  MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。(2)简单易用的程序语言 Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。9 (3)强大的科学计算机数据处理能力  MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。(4)出色的图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。(5)应用广泛的模块集合工具箱  MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。(6)实用的程序接口和发布平台  新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。(7)应用软件开发(包括用户界面)在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。2.25个具有代表性的程序1.)用matlab产生标准音阶的7个单频正弦音符,并用计算机声卡放出m=1:7;f=262*2.^((m-1)/12);fs=8000;t=0:1/fs:.3;y=[];fori=1:length(f);y=[y,sin(2*pi*f(i)*t)];end;sound(y,fs)2.)绘制正多边形n=10;t=0:pi*2/n:2*pi;plot(exp(i*t),'-o');axissquare;grid;3.)单边指数信号t=0:0.01:10;A=1;a=-0.4;ft=A*exp(a*t)plot(t,ft);xlabel('t');ylabel('f(t)')4.)正弦波t=0:0.001:10;A=1;w0=2*pi;phi=pi/6;9 ft=A*sin(w0*t+phi);plot(t,ft);xlabel('t');ylabel('f(t)')5.)单位脉冲序列clear,ns=0;nf=10;np=3;ns3=-2;[x1,n1]=impseq(np,ns,nf)[x2,n2]=stepseq(np,ns,nf)n3=ns3:nf;x3=exp((-0.2+0.5j)*n3);%复数指数序列subplot(2,2,1),stem(n1,x1);title('单位脉冲序列')axis([0,10,0,1.1])subplot(2,2,3),stem(n2,x2,'.');title('单位阶跃序列')%用小圆点画序列axis([0,10,0,1.1])subplot(2,2,2),stem(n3,real(x3),'x');line([-5,10],[0,0])%画横坐标title('复指数序列'),ylabel('实部')subplot(2,2,4),stem(n3,imag(x3),'filled');%用实心圆点画序列line([-5,10],[0,0]),ylabel('虚部')set(gcf,'color','w')3Matlab在数字信号处理中的应用3.1求给定有限长序列的DTFT3.2求系统的频率响应Matlab在数字信号处理中的应用。求有限长序列x(n)=[1,4,5,3,2]的DTFT,画出它在w=-8~8rad范围内的频率特性x=[14532];nx=[-1:3];w=linspace(-8,8,1000);X=x*exp(-j*nx'*w);subplot(5,3,1),stem(nx,x),axis([-2,6,-1,6]),ylabel('x(n)'),title('原始序列')subplot(5,3,4),plot(w,abs(X)),ylabel('幅度'),subplot(5,3,7),plot(w,angle(X)),ylabel('相角'),subplot(5,3,10),plot(w,real(X)),ylabel('实部'),subplot(5,3,13),plot(w,imag(X)),ylabel('虚部’)nx1=nx+2;X1=x*exp(-j*nx1'*w);nx2=nx-1;X2=x*exp(-j*nx2'*w);subplot(5,3,2),stem(nx1,x),title('右移两位'),subplot(5,3,3),stem(nx2,x),title('左移一位'),subplot(5,3,5),plot(w,abs(X1)),subplot(5,3,6),plot(w,abs(X2)),subplot(5,3,8),plot(w,angle(X1)),subplot(5,3,9),plot(w,imag(X2)),subplot(5,3,11),plot(w,real(X1)),subplot(5,3,12),plot(w,real(X2))subplot(5,3,14),plot(w,imag(X1)),subplot(5,3,15),plot(w,imag(X2))9 4.用Matlab解决实际中的问题4.1用matlab实现石头剪子布的游戏编写程序如下:n=1;whilen==1a=0;b='石头剪刀布';b_you=input('请做出你的选择,石头(1),剪刀(2),布(3):');whileb_you~=1&b_you~=2&b_you~=3disp('您输入的不是正确数字,请正确输入');b_you=input('请做出你的选择,石头(1),剪刀(2),布(3):');enddisp('您的选择是:');disp(b(2*b_you-1:2*b_you));b_cpu=ceil(3*rand(1,1));disp('电脑的选择是:');disp(b(2*b_cpu-1:2*b_cpu));%如果b_cpu==b_you,则显示平手,如果b_you-b_cpu==1,则显示你输了;如果b_you-b_cpu==-1,则显示你赢了;%b_you-b_cpu==-2,则显示你输了;如果b_you-b_cpu==2,则显示你赢了。ifb_you==b_cpudisp('平手');endswitch(b_you-b_cpu)case{1,-2}disp('您输了');9 case{-1,2}disp('您赢了');endn=input('您还想再玩一次?否(0),是(1)');whilen~=0&n~=1disp('您输入的不是正确数字,请正确输入');n=input('您还想再玩一次?否(0),是(1)');endend这个程序的if部分还可以用以下程序代替,可以更简单:switch(b_you-b_cpu)case{0}disp('平手');case{1,-2}disp('您输了');case{-1,2}disp('您赢了');end5结束语通过几周的论文设计,使我对实时信号处理工作原理以及各个应用方面的特性有了更深入的认识,并系统地掌握了利用Matlab解决实际中的问题的全过程,同时也建立起了很强的思考能力,并学习到了课本以外的东西,最重要的是锻炼了独立思考和独立动手的能力,这为我以后走向工作岗位打下了坚实的基础。通过以上硬件调试及软件的编程达到了毕业设计的设计要求,软、硬件实现了全部功能和技术指标。通过论文的考核使我深深感受到了,只有全面系统的学习才能真正的掌握更多的知识。例如平时很少接触的Matlab编程,在本次设计中是一个很大的障碍,编程思路不广,应用不熟练,各个方面考虑的不周到,以致经过多次修改才能得到正常的运行结果。在软件设计过程中,系统的复习了一学期所学的实时信号处理知识.能够将生活中实际问题与软件相结合,设计出简洁、结构化的程序来解决问题。本次论文使我在学习过程中又锻炼了自我,又明确了学习的不足和目标。9

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭