用频率采样法设计FIR数字滤波器的基本方法有哪几种?请列写出主要的程序语句。
时间: 2024-03-22 19:40:41 浏览: 53
单片机与DSP中的如何利用频率采样法设计FIR滤波器
用频率采样法设计FIR数字滤波器的基本方法有两种:理想低通滤波器法和窗函数法。
1. 理想低通滤波器法
主要步骤如下:
(1)确定所需滤波器的频率响应Ha(w),采用理想低通滤波器的频率响应为:
Ha(w) = 1, |w| <= w1
Ha(w) = 0, |w| > w1
其中w1为截止频率。
(2)利用N点DFT公式计算Ha(w)的离散频率响应Hd(k):
Hd(k) = 1/N * ΣHa(w) * exp(-jkw/N), k = 0, 1, 2, ..., N-1
其中w = 2πk/N。
(3)对Hd(k)进行反DFT变换,得到滤波器的时域冲击响应hd(n):
hd(n) = 1/N * ΣHd(k) * exp(j2πkn/N), n = 0, 1, 2, ..., N-1
(4)对hd(n)进行加窗处理,得到实际的FIR数字滤波器系数h(n)。
程序语句如下:
N = 64; % DFT点数
w1 = 0.4 * pi; % 截止频率
Ha = ones(1, N); % 理想低通滤波器的频率响应
Ha(1:N/2-w1*N/2/pi) = 0;
Ha(N/2+w1*N/2/pi+1:N) = 0;
Hd = ifft(Ha); % 离散频率响应
hd = real(ifft(Hd)); % 时域冲击响应
h = hd .* hamming(N)'; % 加窗处理,得到FIR数字滤波器系数
2. 窗函数法
主要步骤如下:
(1)确定所需滤波器的频率响应Ha(w),通常采用矩形窗口。
(2)利用N点DFT公式计算Ha(w)的离散频率响应Hd(k)。
(3)对Hd(k)进行反DFT变换,得到滤波器的时域冲击响应hd(n)。
(4)对hd(n)进行加窗处理,得到实际的FIR数字滤波器系数h(n)。
程序语句如下:
N = 64; % DFT点数
w1 = 0.4 * pi; % 截止频率
Ha = ones(1, N); % 矩形窗口
Ha(1:N/2-w1*N/2/pi) = 0;
Ha(N/2+w1*N/2/pi+1:N) = 0;
Hd = ifft(Ha); % 离散频率响应
hd = real(ifft(Hd)); % 时域冲击响应
h = hd .* hamming(N)'; % 加窗处理,得到FIR数字滤波器系数
阅读全文