⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hc736.m

📁 这是数字信号处理——matlab释义与实现一书的源代码
💻 M
字号:
%《数字信号处理教程——MATLAB释义与实现》第七章例7.3.6程序hc736
% 用凯泽窗函数设计低通滤波器
% 电子工业出版社出版  陈怀琛编著 2004年9月
%
wp = 0.2*pi; ws = 0.3*pi; As = 50;  % 给定指标
deltaf= (ws - wp)/(2*pi);			% 过渡带宽Δf的计算
N0 = ceil((As-7.95)/(14.36* deltaf))+1;	% 按(7.3.16)式计算所需的滤波器长度N0
N=N0+mod(N0+1,2);		% 为了实现第一类偶对称滤波器,应使其长度N为奇数
beta = 0.1102*(As-8.7)		 % 按(7.3.17)式计算凯泽窗的β值
wdkai = (kaiser(N,beta))';		% 求凯泽窗函数
wc = (ws+wp)/2;	hd = ideallp(wc,N);		% 求理想脉冲响应	
h = hd .* wdkai; 		% 设计的脉冲响应(即系数)为理想脉冲响应与窗函数乘积
[db,mag,pha,grd,w] = myfreqz(h,[1]);	% 对设计结果进行检验
dw = 2*pi/1000;
Rp = -(min(db(1:wp/dw+1)))        	% 检验通带波动
As = -round(max(db(ws/dw+1:501))) 	% 检验最小阻带衰减
%绘图
n=0:N-1;
subplot(2,2,1); stem(n,hd,'.'); title('理想脉冲响应')
axis([0 N-1 -0.1 0.3]); ylabel('hd(n)');text(N+1,-0.1,'n')
subplot(2,2,2); stem(n,wdkai,'.');title('凯泽窗')
axis([0 N-1 0 1.1]);  ylabel('w(n)');text(N+1,0,'n')
subplot(2,2,3); stem(n,h,'.');title('实际脉冲响应')
axis([0 N-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)')
subplot(2,2,4);plot(w/pi,db);title('幅度响应(单位: dB)');grid
axis([0 1 -100 10]); xlabel('频率(单位:pi)'); ylabel('分贝数')
set(gcf,'color','w');                % 置图形背景色为白

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -