基于 MAF 的 HPF的设计分析
简言MAFMoving Average Filter滑动平均滤波器基于 MAF 的 HPFHigh-Pass Filter高通滤波器2.设计目标1.抑制 dc2.抑制 极低频3.尽量不影响二次谐波分量 2fo所以窗口长度选成这意味着滑动平均窗口时间为:也就是说窗口长度刚好等于二次谐波周期。3. 两个滤波器的频率特性MAF低通滤波器MAF 的特点对 dc 增益 1对低频保留较多在某些频率点会出现陷波当窗口长度取为 1/(2fo)$时在 2fo处会出现零点或很强衰减所以它会把二次谐波滤掉。HPF 1 - MAF高通滤波器由于 MAF 在 dc 处增益为 1所以因此 HPF 可以完全去掉 dc。而当 MAF 在 2fo处接近 0 时所以 HPF 对二次谐波基本不影响。4. MATLAB 分析频率响应对比clc; clear; close all;%% 参数设置fs 10000; % 采样频率 [Hz]fo 50; % 电网基频 [Hz]f2 2fo; % 二次谐波频率 [Hz]Ts 1/fs; % 采样周期Ns round(fs/(2fo)); % 按论文设计Ns fs/(2fo)fprintf(‘fs %d Hz\n’, fs);fprintf(‘fo %d Hz\n’, fo);fprintf(‘2fo %d Hz\n’, f2);fprintf(‘Ns %d\n’, Ns);fprintf(T_MAF NsTs %.6f s\n’, NsTs);%% 构造离散域滤波器% MAF: H(z) (1/Ns)*(1-z-Ns)/(1-z-1)b_maf ones(1, Ns)/Ns;a_maf 1;% HPF 1 - MAF% 先构造统一长度b_hpf -b_maf;b_hpf(1) b_hpf(1) 1; % 对应 1 - MAFa_hpf 1;%% 频率响应nfft 8192;[H_maf, f] freqz(b_maf, a_maf, nfft, fs);[H_hpf, ~] freqz(b_hpf, a_hpf, nfft, fs);%% 幅频响应figure;subplot(2,1,1);plot(f, 20log10(abs(H_maf)1e-12), ‘b’, ‘LineWidth’, 1.5); hold on;plot(f, 20log10(abs(H_hpf)1e-12), ‘r’, ‘LineWidth’, 1.5);xline(f2, ‘–k’, ‘2f_o’);grid on;xlim([0 500]);xlabel(‘Frequency (Hz)’);ylabel(‘Magnitude (dB)’);legend(‘MAF’, ‘HPF 1 - MAF’);title(‘Magnitude Response’);%% 相频响应subplot(2,1,2);plot(f, angle(H_maf)*180/pi, ‘b’, ‘LineWidth’, 1.5); hold on;plot(f, angle(H_hpf)*180/pi, ‘r’, ‘LineWidth’, 1.5);xline(f2, ‘–k’, ‘2f_o’);grid on;xlim([0 500]);xlabel(‘Frequency (Hz)’);ylabel(‘Phase (deg)’);legend(‘MAF’, ‘HPF 1 - MAF’);title(‘Phase Response’);MAF 的特征:在 0 Hz 附近增益接近 0 dB在 100 Hz若 fo50Hz 附近会明显衰减甚至接近陷波说明它会保留 dc/低频但抑制二次谐波HPF 的特征:在 0 Hz 处增益接近负无穷 dB在低频区有抑制在 100 Hz 附近增益接近 0 dB说明它能滤除 dc/极低频同时保留二次谐波5.关键频点增益对比%% 关键频点增益freq_points [0.1 1 10 50 100 150 200]; % Hzw 2pifreq_points/fs; % 归一化频率(rad/sample)Hmaf_pts freqz(b_maf, a_maf, freq_points, fs);Hhpf_pts freqz(b_hpf, a_hpf, freq_points, fs);fprintf(‘\n频点增益对比\n’);fprintf(‘Freq(Hz)\t| MAF(dB)\t| HPF(dB)\n’);fprintf(‘--------------------------------------\n’);for k 1:length(freq_points)fprintf(‘%8.1f\t| %8.2f\t| %8.2f\n’, …freq_points(k), …20log10(abs(Hmaf_pts(k))1e-12), …20log10(abs(Hhpf_pts(k))1e-12));end频点增益对比Freq(Hz) | MAF(dB) | HPF(dB)0.1 | -0.00 | -50.14 1.0 | -0.00 | -30.15 10.0 | -0.14 | -10.24 50.0 | -3.92 | 1.42100.0 | -240.00 | 0.00150.0 | -13.46 | 0.11200.0 | -240.00 | 0.000~1 HzMAF 大HPF 很小100 HzMAF 很小HPF 接近 10 dB6.时域仿真对比下面构造一个信号代码%% 时域信号仿真t 0:Ts:0.2;x 1 0.2sin(2pi5t) 0.5sin(2pi100t);y_maf filter(b_maf, a_maf, x);y_hpf filter(b_hpf, a_hpf, x);figure;subplot(3,1,1);plot(t, x, ‘k’, ‘LineWidth’, 1.2);grid on;xlabel(‘Time (s)’);ylabel(‘x’);title(‘Input Signal: DC Low-frequency 2f_o’);subplot(3,1,2);plot(t, y_maf, ‘b’, ‘LineWidth’, 1.2);grid on;xlabel(‘Time (s)’);ylabel(‘y_{MAF}’);title(‘Output of MAF’);subplot(3,1,3);plot(t, y_hpf, ‘r’, ‘LineWidth’, 1.2);grid on;xlabel(‘Time (s)’);ylabel(‘y_{HPF}’);title(‘Output of HPF 1 - MAF’);含义1直流分量5 Hz极低频扰动100 Hz二次谐波当fo50Hzf_o50Hzfo​50Hz时看两个滤波器输出。MAF 输出:会保留平均值会平滑低频分量会显著削弱 100 Hz 二次谐波HPF 输出:直流分量基本被消除极低频扰动被削弱100 Hz 分量保留较好7.和“普通一阶高通”再比较代码%% 一阶高通滤波器用于对比fc 20; % 截止频率[b1, a1] butter(1, fc/(fs/2), ‘high’);[H1, f] freqz(b1, a1, nfft, fs);figure;plot(f, 20log10(abs(H_hpf)1e-12), ‘r’, ‘LineWidth’, 1.5); hold on;plot(f, 20log10(abs(H1)1e-12), ‘g–’, ‘LineWidth’, 1.5);xline(f2, ‘–k’, ‘2f_o’);grid on;xlim([0 500]);xlabel(‘Frequency (Hz)’);ylabel(‘Magnitude (dB)’);legend(‘MAF-based HPF’, ‘1st-order HPF’);title(‘Comparison of HPFs’);对比结果一阶高通在 100 Hz 处可能仍有幅值误差或相位偏差MAF-based HPF 在目标频率2fo2f_o2fo​处更容易做到“近似无影响”因为它是按TMAF1/(2fo)T_{MAF}1/(2f_o)TMAF​1/(2fo​)专门设计的结论基于 MATLAB 对 MAF 与 MAF-based HPF 的频域和时域分析可知MAF 本质上表现为低通滤波器在直流和低频处增益较高而在2fo2f_o2fo​处具有显著衰减。由GHPF1−GMAFG_{HPF}1-G_{MAF}GHPF​1−GMAF​构造的 MAF-based HPF 在直流处增益为零可有效抑制 dc 偏置与极低频扰动。当窗口长度设置为Nsfs2foN_s\frac{f_s}{2f_o}Ns​2fo​fs​​时MAF 在2fo2f_o2fo​处接近零因此 HPF 在2fo2f_o2fo​处增益接近 1可基本保留二次谐波分量不受影响。该特性非常适合应用于 LCFF 控制中用于消除前馈通道中的直流偏置同时避免削弱用于补偿的二次谐波信号。

相关新闻

如何在3分钟内配置Boss-Key:Windows窗口管理终极隐私保护方案

如何在3分钟内配置Boss-Key:Windows窗口管理终极隐私保护方案

如何在3分钟内配置Boss-Key:Windows窗口管理终极隐私保护方案 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 你是否曾在办公室…

2026/6/28 8:48:36阅读更多 →
终极指南:如何用 pkNX 轻松编辑宝可梦Switch游戏ROM

终极指南:如何用 pkNX 轻松编辑宝可梦Switch游戏ROM

终极指南:如何用 pkNX 轻松编辑宝可梦Switch游戏ROM 【免费下载链接】pkNX Pokmon (Nintendo Switch) ROM Editor & Randomizer 项目地址: https://gitcode.com/gh_mirrors/pk/pkNX 如果你是一名宝可梦Switch游戏爱好者,想要自定义游戏内容、…

2026/6/28 8:48:36阅读更多 →
自己使用C++开发的仿OpenClaw、Hermes智能体工具

自己使用C++开发的仿OpenClaw、Hermes智能体工具

使用C开发的原因是我只会C/C,虽然熟悉一点Python,但只能勉强上手,对于开发复杂度较高的项目,就会捉襟见肘。相较于Python、TypeScript等脚本语言,使用C开发的难度比较大,由于缺少第三方库的原因&#xff0c…

2026/6/28 8:48:36阅读更多 →
5分钟掌握Cursor免费VIP:解锁AI编程助手的完整专业功能

5分钟掌握Cursor免费VIP:解锁AI编程助手的完整专业功能

5分钟掌握Cursor免费VIP:解锁AI编程助手的完整专业功能 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tr…

2026/6/28 10:03:42阅读更多 →
3步搭建专业直播弹幕系统:从技术选型到实战部署

3步搭建专业直播弹幕系统:从技术选型到实战部署

3步搭建专业直播弹幕系统:从技术选型到实战部署 【免费下载链接】blivechat 用于OBS的仿YouTube风格的bilibili直播评论栏 项目地址: https://gitcode.com/gh_mirrors/bl/blivechat 你是否曾在直播时遇到过这样的困境?弹幕信息杂乱无章&#xff0…

2026/6/28 10:03:42阅读更多 →
系统架构设计师含金量不是传说:工信部直属研究院实测——持证者在政务云、信创项目投标中技术标得分平均提升23.6%

系统架构设计师含金量不是传说:工信部直属研究院实测——持证者在政务云、信创项目投标中技术标得分平均提升23.6%

更多请点击: https://codechina.net 第一章:系统架构设计师含金量不是传说 系统架构设计师不仅是技术职级的高阶认证,更是企业数字化转型中稀缺的战略型复合人才。其核心价值体现在对业务、技术、组织三重维度的深度协同能力——既需理解金融…

2026/6/28 10:03:42阅读更多 →
3步搞定视频字幕难题:VideoSrt工具实战指南

3步搞定视频字幕难题:VideoSrt工具实战指南

3步搞定视频字幕难题:VideoSrt工具实战指南 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 还在为视频字幕制作而烦恼吗&a…

2026/6/28 10:03:42阅读更多 →
如何为嵌入式设备选择最佳的ESP-SR语音识别模型组合

如何为嵌入式设备选择最佳的ESP-SR语音识别模型组合

如何为嵌入式设备选择最佳的ESP-SR语音识别模型组合 【免费下载链接】esp-sr Speech recognition 项目地址: https://gitcode.com/gh_mirrors/es/esp-sr ESP-SR是乐鑫科技专为嵌入式设备设计的语音识别框架,为开发者提供了一整套完整的语音交互解决方案。无论…

2026/6/28 10:03:42阅读更多 →
7+ Taskbar Tweaker:你的Windows任务栏个性化革命指南

7+ Taskbar Tweaker:你的Windows任务栏个性化革命指南

7 Taskbar Tweaker:你的Windows任务栏个性化革命指南 【免费下载链接】7-Taskbar-Tweaker A Windows taskbar customization tool for Windows 7, Windows 8, and Windows 10 项目地址: https://gitcode.com/gh_mirrors/7t/7-Taskbar-Tweaker 你是否曾对Wind…

2026/6/28 9:58:41阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →