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

📄 4-13.m

📁 matlab数字信号与应用源代码4
💻 M
字号:
%例程4-13   利用海明窗设计Ⅱ型数字低通滤波器
clear all;
Wp=0.2*pi;
Ws=0.4*pi;
tr_width=Ws-Wp;                        %过渡带宽度
N=ceil(6.6*pi/tr_width)+1              %滤波器长度
n=0:1:N-1;
Wc=(Ws+Wp)/2;                          %理想低通滤波器的截止频率
hd=ideal_lp1(Wc,N);                     %理想低通滤波器的单位冲激响应
w_ham=(hamming(N))';                    %海明窗
h=hd.*w_ham;                           %截取得到实际的单位脉冲响应
[db,mag,pha,w]=freqz_m2(h,[1]);        %计算实际滤波器的幅度响应
delta_w=2*pi/1000;
Ap=-(min(db(1:1:Wp/delta_w+1)))        %实际通带纹波
As=-round(max(db(Ws/delta_w+1:1:501))) %实际阻带纹波
subplot(221)
stem(n,hd)
title('理想单位脉冲响应hd(n)')
subplot(222)
stem(n,w_ham)
title('海明窗w(n)')
subplot(223)
stem(n,h)
title('实际单位脉冲响应hd(n)')
subplot(224)
plot(w/pi,db)
title('幅度响应(dB)')
axis([0,1,-100,10])

%--------------------------------------------------------
function[db,mag,pha,w]=freqz_m2(b,a)
%滤波器的幅值响应(相对、绝对)、相位响应
%db:相对幅值响应
%mag:绝对幅值响应
%pha: 相位响应
%w 采样频率; 
%b 系统函数H(z)的分子项(对FIR,b=h)
%a 系统函数H(z)的分母项(对FIR,a=1)

[H,w]=freqz(b,a,1000,'whole');
H=(H(1:1:501))';
w=(w(1:1:501))';
mag=abs(H);                                 %绝对幅植响应
db=20*log10((mag+eps)/max(mag));            %相对幅植响应
pha=angle(H);                               %相位响应

⌨️ 快捷键说明

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