用matlab 信号均值滤波对一组信号进行滤波后,我对比前后信号的哪些特点,来评判我滤波程序的正确优劣与否呢?滤

卡尔曼滤波器的MATLAB程序,实现对一个输入信号的滤波,哪位大神给提供一下,急用!!!_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
卡尔曼滤波器的MATLAB程序,实现对一个输入信号的滤波,哪位大神给提供一下,急用!!!
我有更好的答案
plot(t,绿色观测值,x;(c.^2*p1(t)+Rvv);%kalman增益 s(t)=a*s(t-1)+b(t)*(Y(t)-a*c*s(t-1)),'r'.
Rww=cov(Q1(1:t)); Rvv=cov(Q2(1:t)); p1(t)=a;,&#39,Y:N,蓝色状态值 legend(&#39,t:Nclear N=200; w(1)=0; x(1)=5; a=1,'g';%测量噪声 for k=2;%过程噪声 Q2 = randn(1,N); b(t)=c*p1(t)&#47:// c=1; Q1 = randn(1,N)*1:N;kalman estimate&#39,s.^2*p(t-1)+R p(t)=p1(t)-c*b(t)*p1(t); end t=1;x(k)=a*x(k-1)+Q1(k-1),'b');%红色卡尔曼,t,'truth');下面的链接地址就有,希望对您有帮助。
卡尔曼滤波器的相关知识
换一换
回答问题,赢新手礼包文档分类:
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表Matlab在语音信号处理中的应用_课程设计报告.doc
文档介绍:
《数字信号处理》课程设计报告学院(部)信息工程学院专业电子信息工程班级学生姓名周小军学号数字信号综合设计一、实验目的1.学会MATLAB的使用,掌握MATLAB的程序设计方法;2.掌握在Windows环境下语音信号采集的方法;3.掌握数字信号处理的基本概念、基本理论和基本方法;4.掌握MATLAB设计FIR和IIR数字滤波器的方法;5.学会用MATLAB对信号进行分析和处理。二、实验原理2.1语音信号采集与分析运用windows下的录音机,录制一段自己的话音,时间控制在一秒。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,再运用plot函数画出语音信号的时域波形,最后在语音信号频谱分析时运用fft对信号进行快速傅里叶变换,得到频谱特性图形,具体运用见程序代码。2.2滤波器设计和运用滤波器进行滤波1)窗函数和等波纹逼近法设计FIR滤波器及滤波首先根据阻带最小衰减选定窗口类型,然后调用fir1函数设计线性相位FIR数字滤波器,再用freqz函数画出其频谱图形,最后运用fftfilt函数对信号进行滤波。而等波纹逼近法中则运用remez和remezord直接设计FIR滤波器,然后运用fftfilt函数对信号进行滤波。具体见程序代码。2)双线性变换法社设计IIR数字滤波器及滤波首先将数字滤波器的技术指标运用预畸校正法转换成模拟滤波器的设计指标:Ωph=2/T*tan(wp/2),然后用butter和buttord、cheby1和cheb1ord、ellip和ellipord设计各种模拟滤波器,再用bilinear函数进行模拟滤波器和数字滤波器之间的转换,最后用filter函数对语音信号进行滤波,并运用函数sound播放滤波后语音。三、主要实验仪器及材料微型计算机、Matlab7.x四、实验程序代码、结果和滤波性能分析1)语音信号采集及频谱分析程序代码如下:%语音信号的时域波形和频谱特性file='zhong.wav';%zhong.wav的内容为“中华人民共和国”[y,fs,nbits]=wavread(file);sound(y,fs,nbits);yn=fft(y);figure(1);plot(y);title(‘语音时域波形’);figure(2);freqz(yn);title(‘语音频谱特新’);运行结果如下;先会听到“中华人民共和国”,然后会看到如下图形:图1语音时域波形图2语音频谱2)窗函数设计FIR滤波器及滤波程序代码如下:%用凯瑟窗设计FIR低通滤波器fp=1000;fs=1200;rs=100;Fs=8000;%kaiser滤波器设计wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Bt=ws-alph=0.112*(rs-8.7);M=ceil((rs-8)/2.285/Bt);wc=(wp+ws)/2/hn=fir1(M,wc,kaiser(M+1,alph));figure(1);freqz(hn);[y,fn,nbits]=wavread('zhong');Y=fft(y);y1=fftfilt(hn,y);%利用kaiser滤波器对语音信号滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title('未滤波语音波形');subplot(222);plot(y1);title('滤波后语音波形');subplot(223);plot(n,Y);title('未滤波语音频谱');subplot(224);plot(n,Y1);title('滤波后语音频谱');sound(y1,fn,nbits);%滤波后语音回放运行结果如下:图3凯瑟窗设计FIR低通滤波器图4Kaiser滤波器滤波前后语音波形、频谱%用凯瑟窗设计FIR数字高通滤波器fp=3000;fs=2800;FS=8000;as=100;wp=2*pi*fp/FS;ws=2*pi*fs/FS;Bt=wp-alph=0.112*(as-8.7);M=ceil(as-8/2.285/Bt);wc=(wp+ws)/2/hn=fir1(M,wc,'high',kaiser(M+1,alph));figure(1);freqz(hn)[y,fn,nbits]=wavread('zhong');Y=fft(y);y1=fftfilt(hn,y);%用kaiser滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title('未滤波语音波形');subplot(222);plot(y1);title('滤波后语音波形');subplot(223);plot(n,Y);title('未滤波语音频谱');subplot(224);plot(n,Y1);title('滤波后语音频谱');sound(y1,fn,nbits);%滤波后语音回放运行结果:图5凯瑟窗设计FIR数字高通滤波器图6Kaiser滤波器滤波前后语音波形、频谱%用凯瑟窗设计FIR数字带通滤波器fp1=1200;fp2=300;fc1=1000;fc2=3200;FS=8000;as=100;wlp=2*pi*fp1/FS;wls=2*pi*fc1/FS;wup=2*pi*fp2/FS;wus=2*pi*fc2/FS;Bt=min(wlp-wls,wus-wup);alph=0.112*(as-8.7);M=ceil(as-8/2.285/Bt);wc=[(wlp+wls)/2/pi,(wup+wus)/2/pi];hn=fir1(M,wc,'bandpass',kaiser(M+1,alph));figure(1);freqz(hn);[y,fn,nbits]=wavread('zhong');Y=fft(y);y1=fftfilt(hn,y);%用kaiser滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title('未滤波语音波形');subplot(222);plot(y1);title('滤波后语音波形');subplot(223);plot(n,Y);title('未滤波语音频谱');subplot(224);plot(n,Y1);title('滤波后语音频谱');sound(y1,fn,nbits);%滤波后语音回放运行结果:图7凯瑟窗设计FIR数字带通滤波器图8Kaiser滤波器滤波前后语音波形、频谱3)等波纹逼近法设计FIR滤波器及滤波程序代码如下:%等波纹逼近法设计FIR低通滤波器及滤波fp=1000;fs=1200;FS=81
内容来自淘豆网转载请标明出处.第6章数字滤波器设计与实现;在上一章中,已经对MATLAB信号处理的一些基本;数字滤波器可以分为两种类型,即无限长单位冲激响应;学习目标;????;熟悉数字滤波器的设计及实现步骤掌握IIR滤波器的;了解IIR和FIR滤波器的区别与优缺点对比;练习案例;?设计两个Butterworth滤波器,并采用直;分别利用函数dfilt和filter;?设计两个10阶高通
数字滤波器设计与实现 在上一章中,已经对MATLAB信号处理的一些基本知识作了详细介绍,在此基础上,本章将重点介绍在MATLAB中如何按照指定要求设计并实现一个数字滤波器。这里所谓的滤波器设计是根据特定的任务需求确定一组滤波器系数的过程,而滤波器实现则涉及选取滤波器结构并将结构与滤波器系数相结合的过程。只有完成了这两个步骤,含噪声的信号才能够进行有效的滤波处理。. 数字滤波器可以分为两种类型,即无限长单位冲激响应(IIR)滤波器和有限长单位冲激(FIR)响应滤波器。在本章中,将分别介绍IIR和FIR数字滤波器设计的原理及方法,并运用大量实例说明在MATLAB中如何设计并实现数字滤波器。 学习目标
? ? ? ? 熟悉数字滤波器的设计及实现步骤 掌握IIR滤波器的设计方法 掌握FIR滤波器的设计方法 了解IIR和FIR滤波器的区别与优缺点对比 练习案例
? 设计两个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求分别利用函数dfilt和filter。 ? 设计两个10阶高通Butterworth滤波器,要求截止频率为200Hz和300Hz,给定采样频率1000Hz。 ? 设计一个8阶带通和一个8阶带阻Butterworth滤波器,要求通带频率为200Hz到300Hz,阻带频率为200Hz到300Hz,给定采样频率1000Hz。 ? 设计一个8阶低通ChebyshevⅠ型滤波器,一个8阶高通ChebyshevⅡ型滤波器,要求通带波纹1dB,阻带衰减20dB,截止频率300Hz,定采样频率1000Hz。 ? 设计一个8阶低通椭圆滤波器,要求阻带衰减40dB,通带波纹3dB,截止频率300Hz,给定采样频率1000Hz。 ? 设计一个低通ChebyshevⅠ型滤波器,要求阻带衰减至少50dB,通带波纹小于3dB,通带截止频率200Hz,阻带截止频率300Hz,给定采样频率1000Hz。 ? 采用冲激响应不变法和双线性变换法将一个模拟低通滤波器变换为数字滤波器,采样频率10Hz。 1 第6章
数字滤波器设计与实现 ? 利用冲激响应不变法和双线性变换法各设计一个Butterworth低通数字滤波器,要求通带范围200Hz以下,阻带范围300Hz以上,通带波纹Rp小于3dB,阻带衰减Rs大于20dB,采样频率1kHz。 ? 利用直接设计法设计一个8阶低通滤波器,并绘出期望频响与实际频响的图形。 ? 根据Butterworth滤波器的冲击响应,恢复滤波系数。 ? 设计一个48阶的FIR带通滤波器,要求通带0.25???0.55 ? 设计一个25阶FIR低通滤波器,给定频率向量f = [0 0.6 0.6 1],幅值向量m = [1 1 0 0],绘出期望响应与实际响应的对比图。 ? 利用频率取样法设计FIR高通滤波器,要求截止频率3/4πrad,采样间隔为π/6,并假设理想频率响应的一个过渡点Hd1?0.45。 ? 设计一个24阶的反对称分段线性带通FIR滤波器,并将实际频率响应与期望频率响应绘图比较。这里期望频率响应为:f = [0 0.3 0.4 0.6 0.7 0.9];a = [0 1 0 0 0.5 0.5]。 ? 设计一17阶Parks-McClellan带通滤波器,要求期望频率响应f = [0 0.3 0.4 0.6 0.7 1];a = [0 0 1 1 0 0]。 ? 一混合正弦信号包含5Hz、15Hz、30Hz的三种频率信号,现要求设计适当的滤波器,保留15Hz频率分量信号,给定采样频率100Hz。 6.1
概述 实际中接收到的信号往往掺杂着噪声或干扰,如何从接收信号中消除噪声或干扰是信号处理领域的关键问题之一,即我们这里所要介绍的滤波问题。所谓滤波,就是从接收信号中滤除噪声和干扰从而提取有用信号的过程,相应的系统或装置被称为滤波器。按照滤波器输入输出信号的类型,滤波器可分为模拟滤波器和数字滤波器,这里我们主要研究的是后者。 6.1.1
数字滤波器的分类 数字滤波器的种类多种多样,相应的分类方法也不尽相同,可以从功能上、从结构上、以及从实现方法或设计方法上进行分类,甚至也可以从滤波域进行分类,即根据滤波器是在时间域、频率域还是在空间域实现,对应有时域滤波器、频域滤波器以及空域滤波器。不过,从总体上而言,可以将滤波器分为两大类:经典滤波器和现代滤波器。 ? 经典滤波器 也称为选频滤波器,其特点是假定输入信号中的有用成分和希望滤除的成分各自分布在不同的频带,这样通过选择合适的频率进行滤波,就可达到滤除噪声的目的。可见,经典滤波器都是在频域内实现滤波处理的,因而可将其纳入频域滤波器范畴。 ? 现代滤波器 比经典滤波器更为复杂的滤波器形式,适用于当有用信号和噪声成分的频带相互重叠、经典滤波器不能有效滤除噪声的情况。这类滤波器可以按照随机信号内部的一些统计分布规律,从干扰中最佳地提取有用信号。比较典型的现代滤波器包括:维纳滤波器、卡尔曼滤波器和自适应滤波器等。与经典滤波器只集中于频域处理不同,现代滤波器已经扩展到时域和2
概述 空域内进行。 提示:在本书中只讨论经典滤波器的设计和实现。 ? ? ? ? ? ? ? 另外,从功能上看,或者说从滤波器的频率响应特性上看,数字滤波器又可分为: 低通滤波器 高通滤波器 带通滤波器 带阻滤波器 全通滤波器 再有,按实现的网络结构或单位冲激响应的时长,数字滤波器可分成两大类: 无限冲激响应(IIR)滤波器 有限冲激响应(FIR)滤波器 本章将重点介绍IIR和FIR两类滤波器的MATLAB设计与实现。 6.1.2
数字滤波器的设计 设计一个数字滤波器,不管是IIR滤波器还是FIR滤波器,一般可以分为三个步骤。
设计步骤 [1] 首先,按照任务需求,确定滤波器的性能指标。所谓的任务需求包括滤除或保留哪些频率成分、滤波后信号允许有多大的幅度或相位失真等,而滤波器的性能指标具体指代一组滤波器系数等参量。 [2] 其次,设计一个系统函数H?z?去逼近这个性能指标,这里的系统函数包括两类,即IIR系统函数和FIR系统函数。这里,系统函数一般可以表示成为z?1的有理式 H?z???bzii?0NM?i ?i1??azii?1提示:系统函数设计的关键就是求出分子和分母表达式中的系数向量a和b。 [3] 最后,实现所设计的系统函数H?z?。这里的操作包括选择运算结构、确定合适字长等,运算结构具体指代级联型、并联型、直接型等等。 在本章后续小节中,会重点介绍本部分的内容,包括IIR滤波器和FIR滤波器的设计方法及在MATLAB中如何实现。 6.1.3
数字滤波器的实现 在滤波器设计阶段已经产生了滤波器系数,向量a和b,之后在MATLAB信号处理工具 3 第6章
数字滤波器设计与实现 箱提供了两个函数用来实现数字滤波器:dfilt和filter。 6.1.3.1
dfilt函数 用来指定滤波器结构,并产生一个滤波器对象。其基本格式为:
? Hd = dfilt.structure(input1,?) 返回一个数字滤波器对象Hd,其结构为指定的“structure”类型,每种结构带有一个或更多个分量。 ? Hd = [dfilt.structure(input1,?), dfilt.structure(input1,?), ?] 返回一个向量Hd,代表一组滤波器对象。 函数dfilt的“structure”指定了滤波器的结构类型,几种典型的结构列于下表。 表6-1 函数dfilt的几种典型结构类型 dfilt.structure dfilt.df1 dfilt.df2 dfilt.dffir dfilt.latticeallpass 描述 直接Ⅰ型 直接Ⅱ型 FIR直接型 格型全通 例6-1设计一个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求利用函数dfilt。 % 采用dfilt函数实现直接Ⅱ型结构滤波程序 [b,a] = butter(5,0.4); Hd = dfilt.df2(b,a); filter(Hd,x) 程序中函数butter用于设计Butterworth滤波器,其具体调用格式在后面IIR滤波器设计章节中会详细介绍。 6.1.3.2
filter函数 该函数基于输入滤波系数a和b,采用一个直接Ⅱ型滤波器结构对数据进行滤波处理。其调用格式包括: ? y = filter(b,a,x) 返回值y为滤波后的输出,参量b和a分别为滤波器系统函数H?z?分子和分母上的系数,x表示输入信号向量。如果a(1)不等于1,filter函数将除以a(1)实现归一化,如果a(1)等于零,则函数filter返回错误提示。当x为一矩阵时,filter将在x的每一列执行滤波处理。 ? [y,zf] = filter(b,a,x) 返回值zf为滤波器延时的最终条件。如果输入信号x为一个行向量或列向量,则zf为一列向量,长度max(length(a), length(b))-1。当x为一矩阵时,zf则是一组向量构成的阵列,每个向量与x的每一列相对应。 提示:对输入系数a和b直接采用filter命令,可以实现滤波器归一化,方法为令输入系数a(1)为1,;而在dfilt生成的滤波器对象基础上采用filter命令,则无法实现滤波器归一化。 4
IIR滤波器设计 例6-2设计一个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求利用函数filter。 % 采用filter函数实现直接Ⅱ型结构滤波程序 [b,a] = butter(5,0.4); filter(b,a,x) 提示:filter函数仅实现直接Ⅱ型结构,并不创建一个滤波器对象。 选择一个合适的滤波器结构取决于滤波器所要实现的具体任务或功能。通过本章后面的介绍,将会令读者了解IIR和FIR滤波器各自的优缺点,以及各种具体实现方法的特点,从而可根据不同的任务需求选择合适的滤波器结构。 6.2
IIR滤波器设计 IIR数字滤波器的系统函数可以表示为 H?z???bzii?0NM?i ?i1??azii?1IIR滤波器设计关键是确定系统函数的分子和分母表达式,即确定滤波系数a和b的值,从而使得所设计滤波器满足给定的性能指标要求。IIR滤波器设计一般有三类方法: ? 模拟原型法 采用经典低通滤波器作为连续域上的设计模型,使其逼近性能指标,而后将模拟滤波器系统函数变换为所需的数字滤波器系统函数,最终得到IIR数字滤波器。 ? 直接设计法 基于给定的滤波器参数直接在离散域上寻找合适的数字滤波器,不同于基于模拟滤波器的方法,该方法并不局限于常规的滤波器类型,如低通、高通、带通和带阻等,而可以设计任意的频率响应。 ? 参数建模法 寻找接近于所需要设计的滤波器的通用模型,分为时域和频域建模两类方法。 在MATLAB信号处理工具箱中针对以上三种IIR数字滤波器设计方法,分别提供了多个函数来完成,见表6-2。其中第一类方法,即模拟原型法,是IIR数字滤波器设计的最重要的方法,也将是接下来介绍的重点内容。 表6-2 MATLAB信号处理工具箱提供的IIR滤波器设计方法及相应函数 设计方法 函数 完全设计函数 besself, butter, cheby1, cheby2, ellip 阶次估计函数 buttord, cheb1ord, cheb2ord,ellipord 低通模拟原型函数 besselap, buttap, cheblap, cheb2ap, 5 模拟原型
三亿文库包含各类专业文献、专业论文、行业资料、中学教育、幼儿教育、小学教育、各类资格考试、56matlab在信号与图像处理中的应用第6章等内容。 
 matlab在信号与图像处理中的应用书稿matlab在信号与图像处理中的应用书稿隐藏&& 第4 章 作图 MATLAB 有很强的绘图能力。 用二维曲线绘图函数,可以很简单的绘制二维...  第6章 数字滤波器设计与实现在上一章中,已经对 MATLAB 信号处理的一些基本知识作了详细介绍,在此基础上, 本章将重点介绍在 MATLAB 中如何按照指定要求设计并实现...  matlab在信号与图像处理中的应用第7章 隐藏&& 第7章 随机信号处理与谱分析信号从广义上可分为两大类:确定性信号和随机信号,上一章内容所针对的信号形式就 为确...  matlab在信号与图像处理中的应用第5章_工学_高等教育_教育专区。matlab在信号与图像处理中的应用书稿第5章 MATLAB 信号处理基础知识在前面的章节中,我们对 MATLAB ...  matlab在信号与图像处理中的应用第10章_工学_高等教育_教育专区。matlab在信号与图像处理中的应用书稿第10 章 Matlab 图像滤波及滤波器设计滤波及滤波器设计在前述...  matlab在信号与图像处理中的应用第9章_工学_高等教育_教育专区。matlab在信号与...(6)图像编码 图像编码研究属于信息论中信源编码范畴,其主要宗旨是结合图像信号...  matlab在信号与图像处理中的应用第11章_工学_高等教育_教育专区。matlab在信号与图像处理中的应用书稿今日推荐 157份文档 2015国家公务员考试备战攻略 ...  matlab在信号与图像处理中的应用第3章_工学_高等教育_教育专区。matlab在信号与...当增量为负数时,直到 index 小于 6 0 3.1 基本语句 end 值时循环停止。提示...导读:已经对MATLAB信号处理的一些基本知识作了详细介绍,含噪声的信号才能够进行有效的滤波处理,?一混合正弦信号包含5Hz、15Hz、30Hz的三种频率信号,保留15Hz频率分量信号,给定采样频率100Hz,实际中接收到的信号往往掺杂着噪声或干扰,如何从接收信号中消除噪声或干扰是信号处理领域的关键问题之一,就是从接收信号中滤除噪声和干扰从而提取有用信号的过程,按照滤波器输入输出信号的类型,其特点是 第6章
数字滤波器设计与实现 在上一章中,已经对MATLAB信号处理的一些基本知识作了详细介绍,在此基础上,本章将重点介绍在MATLAB中如何按照指定要求设计并实现一个数字滤波器。这里所谓的滤波器设计是根据特定的任务需求确定一组滤波器系数的过程,而滤波器实现则涉及选取滤波器结构并将结构与滤波器系数相结合的过程。只有完成了这两个步骤,含噪声的信号才能够进行有效的滤波处理。. 数字滤波器可以分为两种类型,即无限长单位冲激响应(IIR)滤波器和有限长单位冲激(FIR)响应滤波器。在本章中,将分别介绍IIR和FIR数字滤波器设计的原理及方法,并运用大量实例说明在MATLAB中如何设计并实现数字滤波器。 学习目标
? ? ? ? 熟悉数字滤波器的设计及实现步骤 掌握IIR滤波器的设计方法 掌握FIR滤波器的设计方法 了解IIR和FIR滤波器的区别与优缺点对比 练习案例
? 设计两个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求分别利用函数dfilt和filter。 ? 设计两个10阶高通Butterworth滤波器,要求截止频率为200Hz和300Hz,给定采样频率1000Hz。 ? 设计一个8阶带通和一个8阶带阻Butterworth滤波器,要求通带频率为200Hz到300Hz,阻带频率为200Hz到300Hz,给定采样频率1000Hz。 ? 设计一个8阶低通ChebyshevⅠ型滤波器,一个8阶高通ChebyshevⅡ型滤波器,要求通带波纹1dB,阻带衰减20dB,截止频率300Hz,定采样频率1000Hz。 ? 设计一个8阶低通椭圆滤波器,要求阻带衰减40dB,通带波纹3dB,截止频率300Hz,给定采样频率1000Hz。 ? 设计一个低通ChebyshevⅠ型滤波器,要求阻带衰减至少50dB,通带波纹小于3dB,通带截止频率200Hz,阻带截止频率300Hz,给定采样频率1000Hz。 ? 采用冲激响应不变法和双线性变换法将一个模拟低通滤波器变换为数字滤波器,采样频率10Hz。 1 第6章
数字滤波器设计与实现 ? 利用冲激响应不变法和双线性变换法各设计一个Butterworth低通数字滤波器,要求通带范围200Hz以下,阻带范围300Hz以上,通带波纹Rp小于3dB,阻带衰减Rs大于20dB,采样频率1kHz。 ? 利用直接设计法设计一个8阶低通滤波器,并绘出期望频响与实际频响的图形。 ? 根据Butterworth滤波器的冲击响应,恢复滤波系数。 ? 设计一个48阶的FIR带通滤波器,要求通带0.25???0.55 ? 设计一个25阶FIR低通滤波器,给定频率向量f = [0 0.6 0.6 1],幅值向量m = [1 1 0 0],绘出期望响应与实际响应的对比图。 ? 利用频率取样法设计FIR高通滤波器,要求截止频率3/4πrad,采样间隔为π/6,并假设理想频率响应的一个过渡点Hd1?0.45。 ? 设计一个24阶的反对称分段线性带通FIR滤波器,并将实际频率响应与期望频率响应绘图比较。这里期望频率响应为:f = [0 0.3 0.4 0.6 0.7 0.9];a = [0 1 0 0 0.5 0.5]。 ? 设计一17阶Parks-McClellan带通滤波器,要求期望频率响应f = [0 0.3 0.4 0.6 0.7 1];a = [0 0 1 1 0 0]。 ? 一混合正弦信号包含5Hz、15Hz、30Hz的三种频率信号,现要求设计适当的滤波器,保留15Hz频率分量信号,给定采样频率100Hz。 6.1
概述 实际中接收到的信号往往掺杂着噪声或干扰,如何从接收信号中消除噪声或干扰是信号处理领域的关键问题之一,即我们这里所要介绍的滤波问题。所谓滤波,就是从接收信号中滤除噪声和干扰从而提取有用信号的过程,相应的系统或装置被称为滤波器。按照滤波器输入输出信号的类型,滤波器可分为模拟滤波器和数字滤波器,这里我们主要研究的是后者。 6.1.1
数字滤波器的分类 数字滤波器的种类多种多样,相应的分类方法也不尽相同,可以从功能上、从结构上、以及从实现方法或设计方法上进行分类,甚至也可以从滤波域进行分类,即根据滤波器是在时间域、频率域还是在空间域实现,对应有时域滤波器、频域滤波器以及空域滤波器。不过,从总体上而言,可以将滤波器分为两大类:经典滤波器和现代滤波器。 ? 经典滤波器 也称为选频滤波器,其特点是假定输入信号中的有用成分和希望滤除的成分各自分布在不同的频带,这样通过选择合适的频率进行滤波,就可达到滤除噪声的目的。可见,经典滤波器都是在频域内实现滤波处理的,因而可将其纳入频域滤波器范畴。 ? 现代滤波器 比经典滤波器更为复杂的滤波器形式,适用于当有用信号和噪声成分的频带相互重叠、经典滤波器不能有效滤除噪声的情况。这类滤波器可以按照随机信号内部的一些统计分布规律,从干扰中最佳地提取有用信号。比较典型的现代滤波器包括:维纳滤波器、卡尔曼滤波器和自适应滤波器等。与经典滤波器只集中于频域处理不同,现代滤波器已经扩展到时域和2
概述 空域内进行。 提示:在本书中只讨论经典滤波器的设计和实现。 ? ? ? ? ? ? ? 另外,从功能上看,或者说从滤波器的频率响应特性上看,数字滤波器又可分为: 低通滤波器 高通滤波器 带通滤波器 带阻滤波器 全通滤波器 再有,按实现的网络结构或单位冲激响应的时长,数字滤波器可分成两大类: 无限冲激响应(IIR)滤波器 有限冲激响应(FIR)滤波器 本章将重点介绍IIR和FIR两类滤波器的MATLAB设计与实现。 6.1.2
数字滤波器的设计 设计一个数字滤波器,不管是IIR滤波器还是FIR滤波器,一般可以分为三个步骤。
设计步骤 [1] 首先,按照任务需求,确定滤波器的性能指标。所谓的任务需求包括滤除或保留哪些频率成分、滤波后信号允许有多大的幅度或相位失真等,而滤波器的性能指标具体指代一组滤波器系数等参量。 [2] 其次,设计一个系统函数H?z?去逼近这个性能指标,这里的系统函数包括两类,即IIR系统函数和FIR系统函数。这里,系统函数一般可以表示成为z?1的有理式 H?z???bzii?0NM?i ?i1??azii?1提示:系统函数设计的关键就是求出分子和分母表达式中的系数向量a和b。 [3] 最后,实现所设计的系统函数H?z?。这里的操作包括选择运算结构、确定合适字长等,运算结构具体指代级联型、并联型、直接型等等。 在本章后续小节中,会重点介绍本部分的内容,包括IIR滤波器和FIR滤波器的设计方法及在MATLAB中如何实现。 6.1.3
数字滤波器的实现 在滤波器设计阶段已经产生了滤波器系数,向量a和b,之后在MATLAB信号处理工具 3 第6章
数字滤波器设计与实现 箱提供了两个函数用来实现数字滤波器:dfilt和filter。 6.1.3.1
dfilt函数 用来指定滤波器结构,并产生一个滤波器对象。其基本格式为:
? Hd = dfilt.structure(input1,?) 返回一个数字滤波器对象Hd,其结构为指定的“structure”类型,每种结构带有一个或更多个分量。 ? Hd = [dfilt.structure(input1,?), dfilt.structure(input1,?), ?] 返回一个向量Hd,代表一组滤波器对象。 函数dfilt的“structure”指定了滤波器的结构类型,几种典型的结构列于下表。 表6-1 函数dfilt的几种典型结构类型 dfilt.structure dfilt.df1 dfilt.df2 dfilt.dffir dfilt.latticeallpass 描述 直接Ⅰ型 直接Ⅱ型 FIR直接型 格型全通 例6-1设计一个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求利用函数dfilt。 % 采用dfilt函数实现直接Ⅱ型结构滤波程序 [b,a] = butter(5,0.4); Hd = dfilt.df2(b,a); filter(Hd,x) 程序中函数butter用于设计Butterworth滤波器,其具体调用格式在后面IIR滤波器设计章节中会详细介绍。 6.1.3.2
filter函数 该函数基于输入滤波系数a和b,采用一个直接Ⅱ型滤波器结构对数据进行滤波处理。其调用格式包括: ? y = filter(b,a,x) 返回值y为滤波后的输出,参量b和a分别为滤波器系统函数H?z?分子和分母上的系数,x表示输入信号向量。如果a(1)不等于1,filter函数将除以a(1)实现归一化,如果a(1)等于零,则函数filter返回错误提示。当x为一矩阵时,filter将在x的每一列执行滤波处理。 ? [y,zf] = filter(b,a,x) 返回值zf为滤波器延时的最终条件。如果输入信号x为一个行向量或列向量,则zf为一列向量,长度max(length(a), length(b))-1。当x为一矩阵时,zf则是一组向量构成的阵列,每个向量与x的每一列相对应。 提示:对输入系数a和b直接采用filter命令,可以实现滤波器归一化,方法为令输入系数a(1)为1,;而在dfilt生成的滤波器对象基础上采用filter命令,则无法实现滤波器归一化。 4
IIR滤波器设计 例6-2设计一个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求利用函数filter。 % 采用filter函数实现直接Ⅱ型结构滤波程序 [b,a] = butter(5,0.4); filter(b,a,x) 提示:filter函数仅实现直接Ⅱ型结构,并不创建一个滤波器对象。 选择一个合适的滤波器结构取决于滤波器所要实现的具体任务或功能。通过本章后面的介绍,将会令读者了解IIR和FIR滤波器各自的优缺点,以及各种具体实现方法的特点,从而可根据不同的任务需求选择合适的滤波器结构。 6.2
IIR滤波器设计 IIR数字滤波器的系统函数可以表示为 H?z???bzii?0NM?i ?i1??azii?1IIR滤波器设计关键是确定系统函数的分子和分母表达式,即确定滤波系数a和b的值,从而使得所设计滤波器满足给定的性能指标要求。IIR滤波器设计一般有三类方法: ? 模拟原型法 采用经典低通滤波器作为连续域上的设计模型,使其逼近性能指标,而后将模拟滤波器系统函数变换为所需的数字滤波器系统函数,最终得到IIR数字滤波器。 ? 直接设计法 基于给定的滤波器参数直接在离散域上寻找合适的数字滤波器,不同于基于模拟滤波器的方法,该方法并不局限于常规的滤波器类型,如低通、高通、带通和带阻等,而可以设计任意的频率响应。 ? 参数建模法 寻找接近于所需要设计的滤波器的通用模型,分为时域和频域建模两类方法。 在MATLAB信号处理工具箱中针对以上三种IIR数字滤波器设计方法,分别提供了多个函数来完成,见表6-2。其中第一类方法,即模拟原型法,是IIR数字滤波器设计的最重要的方法,也将是接下来介绍的重点内容。 表6-2 MATLAB信号处理工具箱提供的IIR滤波器设计方法及相应函数 设计方法 函数 完全设计函数 besself, butter, cheby1, cheby2, ellip 阶次估计函数 buttord, cheb1ord, cheb2ord,ellipord 低通模拟原型函数 besselap, buttap, cheblap, cheb2ap, 5 模拟原型
包含总结汇报、专业文献、考试资料、旅游景点、外语学习、资格考试、行业论文以及matlab在信号与图像处理中的应用第6章等内容。本文共7页
相关内容搜索}

我要回帖

更多关于 matlab 滤波高频信号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信