- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1)??均方误差最小化准则, 若以E(ejω)表示逼近误差,则 均方误差为 根据Parseval定理 所以,矩形窗窗口设计法是一个最小均方误差FIR设计,根据前面的讨论,我们知道其优点是过渡带较窄,缺点是局部点误差大,或者说误差分布不均匀。 2)??最大误差最小化准则(也叫最佳一致逼近准则) 其中F是根据要求预先给定的一个频率取值范围,可以是通带,也可以是阻带。最佳一致逼近即选择N个频率采样值 ( 或时域 h(n) 值 ),在给定频带范围内使频响的最大逼近误差达到最小。也叫等波纹逼近。 优点:可保证局部频率点的性能也是最优的,误差分布均匀,相同指标下,可用最少的阶数达到最佳化。 例如,我们提到的频率采样最优化设计,它是从已知的采样点数N、预定的一组频率取样和已知的一组可变的频率取样(即过渡带取样)出发,利用迭代法(或解析法)得到具有最小的阻带最大逼近误差(即最大的阻带最小衰减)的FIR滤波器。但它只是通过改变过渡带的一个或几个采样值来调整滤波器特性。如果所有频率采样值(或FIR时域序列h(m))都可调整,显然,滤波器的性能可得到进一步提高。 雷米兹交替算法 5.4.1 非线性最优化 为了简化分析,假定滤波器的单位脉冲响应为对称于n=0的单位脉冲响应,且N为奇数。 令N=2M+1 h(n)=h(-n) 低通滤波器的误差分配 用等波纹逼近法设计滤波器需要确定五个参数: M、ωc、ωr、δ1、δ2 按上图所示的误差容限设计低通滤波器,就是说要在通带 0? ω?ωp 内以最大误差 δ1 逼近1,在阻带ωr ? ω?? 内 以最大误差δ2逼近零。 要同时确定上述五个参数较困难。常用的两种逼近方法: 1)给定M、δ1、δ2,以ωc和ωr为变量。 缺点:边界频率不能精确确定。 2)给定M、ωc和ωr,以δ1和δ2为变量,通过迭代运算 ,使逼近误差δ1和δ2 最小,并确定h(n)——切比雪 夫最佳一致逼近。 特点:能准确地指定通带和阻带边界频率。? 等波动逼近的低通滤波器 ?c ?r 在 内共M+1个极值点 可求7个系数ak,5个未知频率点 由于这些方程是非线性的,求解困难,这种方法只适合M较小时。 δ1和δ2(即峰值误差)是一个固定的量,并不在最优化处理中被极小化; 这一设计方法无法控制滤波器和不同频带的边界,ωc和ωr 5.4.2 插值解法 首先,选定通带的极值点数目Nc和阻带极值点数目Nr,并估计出极值点的频率。 第二,利用标准的拉格朗日插值法,计算幅频连续特性的三角多项式,得出这个连续的幅频特性曲线,计算插值时,认为在通带的极值频率点上的幅值为1± δ1 ,在阻带的极值频率点上幅值为± δ2 。 第三,插值后的曲线只能保证在指定的极值频率上等于1± δ1或± δ2 ,而极值要超过1± δ1或± δ2 ,用新的极值频率点取代原有的极值频率点,重复第二步。 5.4.3 雷米兹(Remez)交替算法 前两种方法的缺点:不能精确控制边界频率。 切比雪夫逼近:固定M,控制 和 ,允许 和 变化。 有一些估算公式可用于决定最佳滤波器长度N: 对于窄带低通滤波器, 对滤波器长度N起主要作用: 对于宽带低通滤波器, 对滤波器长度N起主要作用: 5.4.4 用MATLAB实现雷米兹交替算法 1. 估计等波动FIR滤波器的阶数 [M,fpts,mag,wt]=remezord(f,a,dev,fs) F:通带和阻带边界频率。 a:相应频带的幅度值 dev:相应频带的波动值 fs:采样频率 fpts,mag:B个频带的2B个边界频率和幅度值 wt:B个元素的向量;各频带的加权值 2. 等波动FIR滤波器设计函数 h=remezord(M,fpts,mag,wt) 例5.8 利用雷米兹交替算法,设计一个线性相位低通FIR数字滤波器,其指标为:通带边界频率fc=800Hz,阻带边界频率fr=1000Hz,通带波动δ=0.5dB,阻带最小误差At=40dB,采样频率fs=4000Hz。 解: clear; d=0.5;At=40; d1=1-10^(-d/20);d2=10^(-At/20); f=[800 1000];fs=4000; a=[1 0]; dev=[d1,d2] [M,fpts,mag,wt]=remezord(f,a,dev,fs); h=remez(M,fpts,mag,
原创力文档


文档评论(0)