《DSP using MATLAB》示例Example7.9
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | wp = 0.2* pi ; ws = 0.3* pi ; As = 50; tr_width = ws - wp; M = ceil ((As-7.95)/(2.285*tr_width) + 1 ) + 1 n = [0:1:M-1]; beta = 0.1102*(As-8.7) wc = (ws + wp)/2; % ideal LPF cutoff frequency hd = ideal_lp(wc, M); w_kai = (kaiser(M, beta ))'; h = hd .* w_kai; [db, mag, pha, grd, w] = freqz_m(h, [1]); delta_w = 2* pi /1000; % Rp = -(min(db(1:1:wp/delta_w+1))); % Actual Passband Ripple As = - round ( max (db(ws/delta_w+1:1:501))) % Min Stopband attenuation %Plot figure ( 'NumberTitle' , 'off' , 'Name' , 'Exameple 7.9' ) set ( gcf , 'Color' , 'white' ); subplot (2,2,1); stem (n, hd); axis ([0 M-1 -0.1 0.3]); grid on; xlabel ( 'n' ); ylabel ( 'hd(n)' ); title ( 'Ideal Impulse Response' ); subplot (2,2,2); stem (n, w_kai); axis ([0 M-1 0 1.1]); grid on; xlabel ( 'n' ); ylabel ( 'w(n)' ); title ( 'Kaiser Window' ); subplot (2,2,3); stem (n, h); axis ([0 M-1 -0.1 0.3]); grid on; xlabel ( 'n' ); ylabel ( 'h(n)' ); title ( 'Actual Impulse Response' ); subplot (2,2,4); plot (w/ pi , db); axis ([0 1 -100 10]); grid on; xlabel ( 'frequency in \pi units' ); ylabel ( 'Decibels' ); title ( 'Magnitude Response in dB' ); |
运行结果:
我们注意到,Kaiser窗函数的特征,长度M=61,β =4.5513,滤波器Rp=0.0442dB,阻带衰减As=52dB,满足设计要求。
牢记:
1、如果你决定做某事,那就动手去做;不要受任何人、任何事的干扰。2、这个世界并不完美,但依然值得我们去为之奋斗。
分类:
MATLAB
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)