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

打印 上一主题 下一主题

主题 1382|帖子 1382|积分 4146

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、背景


   输入信号input分别颠末bp(带通滤波器)和bs(带阻滤波器)处置处罚后相加输出。分析输出信号的幅值和相位受到的影响。
    根据上图公式推导可知,并联滤波器对输出的影响可以直接分析,带通滤波器与带阻滤波器在频域上的加和。
  二、matlab仿真



   利用matlab的fdatool筹划滤波器
  1. close all
  2. % 工作空间中导出SOS 和 G
  3. % 使用 sos2tf 转换为传递函数形式
  4. [b_bp, a_bp] = sos2tf(SOSpass, Gpass); % 带通滤波器
  5. [b_bs, a_bs] = sos2tf(SOSstop, Gstop); % 带通滤波器
  6. % % 获取滤波器的分子和分母系数
  7. % [b_bp, a_bp] = tf(bandpass);  % 带通滤波器
  8. % [b_bs, a_bs] = tf(bandstop); % 带通滤波器
  9. % 频率响应
  10. fs = 48000;  % 获取采样频率
  11. N = 4096 * 32; % 增加频率点数提高分辨率
  12. [H_bp, f] = freqz(b_bp, a_bp, N, fs); % 带通滤波器频率响应
  13. [H_bs, ~] = freqz(b_bs, a_bs, N, fs); % 带阻滤波器频率响应
  14. % 相加频率响应
  15. H_combined = H_bp + H_bs; % 复数形式直接相加
  16. % 绘制频率响应对比
  17. figure;
  18. % 1. 幅度响应对比
  19. % subplot(2, 1, 1);
  20. plot(f, 20*log10(abs(H_bp)), 'b', 'LineWidth', 1.5); hold on;
  21. plot(f, 20*log10(abs(H_bs)), 'g', 'LineWidth', 1.5);
  22. plot(f, 20*log10(abs(H_combined)), 'r', 'LineWidth', 1.5);
  23. title('幅度响应对比');
  24. xlabel('频率 (Hz)');
  25. ylabel('幅度 (dB)');
  26. legend('带通滤波器', '带阻滤波器', '滤波器相加');
  27. grid on;
  28. %%
  29. figure;
  30. % 2. 相位响应对比
  31. % subplot(2, 1, 2);
  32. plot(f, (angle(H_bp)), 'b', 'LineWidth', 1.5); hold on;
  33. plot(f, (angle(H_bs)), 'g', 'LineWidth', 1.5);
  34. plot(f, (angle(H_combined)), 'r', 'LineWidth', 1.5);
  35. title('相位响应对比');
  36. xlabel('频率 (Hz)');
  37. ylabel('相位 (rad)');
  38. legend('带通滤波器', '带阻滤波器', '滤波器相加');
  39. grid on;
复制代码

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

   相位影响:0Hz-200Hz(负)、200Hz-1kHz(正)、1kHz-5kHz(负)、5kHz-20k(正)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表