当前位置: 首页 > news >正文

基于 MAF 的 HPF的设计分析

简言

MAF(Moving Average Filter,滑动平均滤波器)
基于 MAF 的 HPF(High-Pass Filter,高通滤波器)

2.设计目标

1.抑制 dc
2.抑制 极低频
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/(2
fo)); % 按论文设计: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 - MAF
a_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, 20
log10(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(若 fo=50Hz) 附近会明显衰减,甚至接近陷波
说明它会保留 dc/低频,但抑制二次谐波

HPF 的特征:
在 0 Hz 处增益接近负无穷 dB
在低频区有抑制
在 100 Hz 附近增益接近 0 dB
说明它能滤除 dc/极低频,同时保留二次谐波

5.关键频点增益对比

%% 关键频点增益
freq_points = [0.1 1 10 50 100 150 200]; % Hz
w = 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), …
20
log10(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.42

100.0 | -240.00 | 0.00
150.0 | -13.46 | 0.11
200.0 | -240.00 | 0.00

0~1 Hz:MAF 大,HPF 很小
100 Hz:MAF 很小,HPF 接近 1(0 dB)

6.时域仿真对比

下面构造一个信号:

代码:
%% 时域信号仿真
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:二次谐波(当fo=50Hzf_o=50Hzfo=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, 20
log10(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处更容易做到“近似无影响”
因为它是按TMAF=1/(2fo)T_{MAF}=1/(2f_o)TMAF=1/(2fo)专门设计的

结论

基于 MATLAB 对 MAF 与 MAF-based HPF 的频域和时域分析可知:

MAF 本质上表现为低通滤波器,在直流和低频处增益较高,而在2fo2f_o2fo处具有显著衰减。
GHPF=1−GMAFG_{HPF}=1-G_{MAF}GHPF=1GMAF构造的 MAF-based HPF 在直流处增益为零,可有效抑制 dc 偏置与极低频扰动。
当窗口长度设置为
Ns=fs2foN_s=\frac{f_s}{2f_o}Ns=2fofs
时,MAF 在2fo2f_o2fo处接近零,因此 HPF 在2fo2f_o2fo处增益接近 1,可基本保留二次谐波分量不受影响。
该特性非常适合应用于 LCFF 控制中,用于消除前馈通道中的直流偏置,同时避免削弱用于补偿的二次谐波信号。

http://www.cnnetsun.cn/news/3036559.html

相关文章:

  • NET 某集群管理软件 内存暴涨分析
  • 如何用苹果风格鼠标指针为你的桌面注入全新活力?
  • ArtPlayer.js企业级视频播放解决方案:5大架构优势与高性能插件生态
  • ArtPlayer.js插件开发实战:从零构建自定义视频功能的完整指南
  • VFBOX网关实现和利时管理系统OPC_DA转OPC_UA项目案例
  • 3步解锁缠论分析:通达信用户的智能走势识别方案
  • 3步掌握REINVENT 4:AI分子设计的终极入门指南
  • 信息系统生命周期管理盲区大起底:92%考生忽略的运维阶段成本模型,含Excel自动测算工具包
  • ArtPlayer.js插件架构深度解析与开发实践
  • 口播智能体三年再观察:服务闭环正成为分水岭
  • 毕业寄|福建闽侯申通成高校指定快递,1年寄7万+
  • Qwen 模型输出语言设置指南
  • 系统集成项目管理工程师含金量暴跌or飙升?2024Q2全国127个政务/国企项目中标公告大数据透视:持证 vs 无证中标率差达68.3%
  • 告别收费与广告!这款开源全能手机管理神器,相见恨晚!
  • 2026考研时间,定了
  • 如何快速掌握通达信缠论插件ChanlunX:新手必看的完整实战指南
  • 数字电路设计终极指南:用Digital从零构建你的第一个逻辑电路
  • 2026年东莞南城GEO哪家好?--蒲公英AI您的量身定做!
  • Python CTP封装:让量化交易开发变得简单高效的3个关键步骤
  • 免费无广告,这款AI抠图神器亲测好用
  • MAA跨平台自动化助手:从游戏辅助到技术架构的全面解析
  • macOS Catalina Patcher终极指南:让旧Mac重获新生的完整解决方案
  • Windhawk:无需编程技能,轻松定制Windows系统的智能工具箱
  • Path of Building PoE2构建模拟器:数据驱动的角色规划革命
  • 高效智能篮球分析系统:实战指南与进阶应用
  • 参照完整性详解及应用实例
  • Helix Toolkit终极指南:.NET平台30+ 3D模型格式导入导出完全攻略
  • 3大技术突破:掌握CUDA加速的高斯泼溅渲染革命
  • 《数字电路与逻辑设计》全套课件PDF2025
  • FSearch:Linux文件搜索的性能革命与架构演进