MATLAB信号处理..doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB信号处理 学院:三峡大学计算机与信息学院 姓名: 学号: 专业:电子信息科学与技术 指导老师: 分数: 实验目的 1.学会MATLAB的使用,掌握MATLAB的程序设计方法; 2.掌握数字信号处理的基本概念、基本理论和基本方法; 4.掌握用MATLAB进行快速傅里叶变换(FFT)的方法 ; 5.学会用MATLAB对信号进行分析和处理并设计滤波器; 实验环境 :计算机Window7、MatlabR2012a 实验题目: 题目三:信号含有的频率分别为60Hz,180Hz,240Hz三种。 请选择合适的采样频率和采样点数,用FFT分析该信号的频谱并正确显示。 请设计一个数字滤波系统,使其输出只含有180Hz的信号,并显示滤波后的信号及其频谱。(IIR系统和FIR系统均可) 实验原理: 1 FFT算法的实现原理 : 对于有限长序列x(n),若要求其N点的傅里叶变换(DFT)需要经过2 N次复数乘法运算和N*(N-1)次复数加法运算。随着N的增加,运算量将急剧增加,而在实际问题中,N往往是较大的,如当N=1024时,完成复数乘法和复数加法的次数分别为百万以上,无论是用通用计算机还是用DSP芯片,都需要消耗大量的时间和机器内存,不能满足实时的要求。因此,DFT的这种运算只能进行理论上的计算,不适合对实时处理要求高的场合。因此,研究作为DSP的快速算法的FFT是相当必要的,快速傅里叶变换(FFT)是为提高DFT运算速度而采用的一种算法,快速算法的种类很多,而且目前仍在改进和提高,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。 MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下: Xk=fft(xn,N) 参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。 2滤波器的设计:数字滤波器的设计可采用IIR系统或FIR。本实验采用fir系统的窗函数法。 窗函数? FIR滤波器的设计方法有窗函数法、频率取样法和最优化设计法。其中窗函数法是设计FIR滤波器最简单有效的方法,也是最常用的方法。在本设计中,所用到的滤波器的系数都是借助于窗函数法完成的。窗函数设计法是一种通过截短和计权的方法使无限长非因果序列成为有限长脉冲响应序列的设计方法。利用加窗函数进行截断和平滑,实现一个物理可实现且具有线性相位的FIR滤波器的设计目的。? ?FIR滤波器的窗函数法设计过程为:????? ????????? ?????????? ???????????????????? 式中:Hd(ejΩ)为逼近的理想滤波器频率响应;hd(k)为理想滤波器的单位脉冲响应,是无限长序列【3】。? 为获取实际应用的FIR滤波,需将hd(k)截断,用有限长的h(k)近似表示,用窗函数可以避免吉布斯现象h(k)=hd(k)ω(k),最后得到实际FIR滤波的频率响应H(ejΩ)。? ?设计常用的窗函数有矩形窗、汉宁窗、海明窗、凯撒窗等。窗本设计选择凯撒窗实现.? 在MATLAB下,这些窗函数分别为:?? 矩形窗:w=boxcar(n),产生一个n点的矩形窗函数。? ?三角窗:w=triang(n),产生一个n点的三角窗函数。 ?汉明窗:w=hamming(n),产生一个n点的汉明窗函数。 ??汉宁窗:w=hanning(n),产生一个n点的汉宁窗函数。?? 布莱克曼窗:w=Blackman(n),产生一个n点的布莱克曼窗函数。? 6.凯泽窗:w=Kaiser(n,beta),产生一个n点的凯泽窗数,其中beta为影响窗函数旁瓣的参数。 五、实验代码: clc;clear all;close all; N=1024; t=0:N-1; Fs=1000;T=1/Fs; x1=2*cos(2*pi*60*t*T); x2=cos(2*pi*180*t*T); x3=2*cos(2*pi*240*t*T); xn=x1+x2+x3; %FFT变换 D=2*pi*Fs/N; k=floor(-(N-1)/2:(N-1)/2); X=fftshift(fft(xn,N));figure(1); subplot(1,2,1);plot

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档