并联带阻滤波器&带通滤波器对幅值和相位的影响(FIR)

一、背景

背景同文章并联带阻滤波器&带通滤波器对幅值和相位的影响(IIR)-优快云博客

本文与前文的差异是使用FIR滤波器。

二、matlab仿真

使用matlab的fdatool设计滤波器,并导出参数到工作空间。

close all;

% 假设 FIR 滤波器的系数已导出到工作空间
% FIR 带通滤波器系数
b_bp = FIRpass;  % 带通滤波器系数
a_bp = 1;        % FIR 滤波器分母为 1

% FIR 带阻滤波器系数
b_bs = FIRstop;  % 带阻滤波器系数
a_bs = 1;        % FIR 滤波器分母为 1

% 设置采样频率和频率分辨率
fs = 48000;         % 采样频率
N = 4096 * 32;      % 频率点数,增加分辨率

% 计算频率响应
[H_bp, f] = freqz(b_bp, a_bp, N, fs); % 带通滤波器频率响应
[H_bs, ~] = freqz(b_bs, a_bs, N, fs); % 带阻滤波器频率响应

% 并联滤波器综合频率响应
H_combined = H_bp + H_bs; % 复数形式直接相加

% 绘制幅度响应对比
figure;
plot(f, 20*log10(abs(H_bp)), 'b', 'LineWidth', 1.5); hold on;
plot(f, 20*log10(abs(H_bs)), 'g', 'LineWidth', 1.5);
plot(f, 20*log10(abs(H_combined)), 'r', 'LineWidth', 1.5);
title('幅度响应对比');
xlabel('频率 (Hz)');
ylabel('幅度 (dB)');
legend('带通滤波器', '带阻滤波器', '组合响应');
grid on;

% 绘制相位响应对比
figure;
plot(f, unwrap(angle(H_bp)), 'b', 'LineWidth', 1.5); hold on;
plot(f, unwrap(angle(H_bs)), 'g', 'LineWidth', 1.5);
plot(f, unwrap(angle(H_combined)), 'r', 'LineWidth', 1.5);
title('相位响应对比');
xlabel('频率 (Hz)');
ylabel('相位 (rad)');
legend('带通滤波器', '带阻滤波器', '组合响应');
grid on;

幅度影响:在5000Hz有衰减的影响

相位影响:红色线斜率是定值,说明所有频率分量的延迟相等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值