首页 > 其他 > 详细

《DSP using MATLAB》示例Example7.23

时间:2017-04-03 11:22:32      阅读:243      评论:0      收藏:0      [点我收藏+]

技术分享

代码:

wp = 0.2*pi; ws = 0.3*pi; Rp = 0.25; As = 50;
[delta1, delta2] = db2delta(Rp, As);

[N, f, m, weights] = firpmord([wp, ws]/pi, [1, 0], [delta1, delta2]);

N
f
m
weights

h = firpm(N, f, m, weights);
[db, mag, pha, grd, w] = freqz_m(h, [1]);

delta_w = 2*pi/1000; wsi = ws/delta_w+1; wpi = wp/delta_w;
Asd = -max(db(wsi:1:501))


N = 46;
h = firpm(N, f, m, weights);
[db, mag, pha, grd, w] = freqz_m(h, [1]);
[Hr, ww, b, L] = Hr_Type2(h);

delta_w = 2*pi/1000; wsi = ws/delta_w+1; wpi = wp/delta_w;
Asd = -max(db(wsi:1:501))

M = N + 1

  运行结果:

技术分享

技术分享

技术分享

        注意,我们是在最大阻带衰减As的值超过给定的50dB后停止迭代的,最优的M=47。这个值要比采用窗函数(Kaiser窗时M=61)和频率采样方法(M=60)

要小得多。

《DSP using MATLAB》示例Example7.23

原文:http://www.cnblogs.com/ky027wh-sx/p/6661508.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!