【发布时间】:2014-04-29 12:53:23
【问题描述】:
我有一个电流信号,我的任务是提取前 5 个谐波并显示与这些谐波对应的波形。
这是当前信号的 fft,因此您可以看到波形的位置及其相对高度:
(忽略 y 比例 - 尚未更正)
这就是我为解决这个问题所做的:
我制作了五个 4 阶黄油带通滤波器来提取每个谐波:
orderN = 4;
% Fundamental frequency
passband1 = [40 60]/(samplingRate/2);
[b,a] = butter(orderN, passband1, 'bandpass');
I1 = filter(b,a,I);
subplot 511
plot(I1,'r');
% Second harmonic
passband2 = [98 102]/(samplingRate/2);
[b2,a2] = butter(orderN, passband2, 'bandpass');
I2 = filter(b2,a2,I);
subplot 512
plot(I2,'b');
% Third Harmonic
passband3 = [146 154]/(samplingRate/2);
[b3,a3] = butter(orderN, passband3, 'bandpass');
I3 = filter(b3,a3,I);
subplot 513
plot(I3,'g');
% Fourth Harmonic
passband4 = [190 210]/(samplingRate/2);
[b4,a4] = butter(orderN, passband4, 'bandpass');
I4 = filter(b4,a4,I);
subplot 514
plot(I4,'m');
% Fifth Harmonic
passband5 = [240 260]/(samplingRate/2);
[b5,a5] = butter(orderN, passband5, 'bandpass');
I5 = filter(b5,a5,I);
subplot 515
plot(I5,'k');
出于某种奇怪的原因,这是我得到的情节:
我无法解释情节中的那些颠簸。 为什么那些波形幅度会这样增加和减少?
它应该是这样的:
(请忽略比例)
如何使我的过滤器输出看起来像第二张图片??
请帮忙
【问题讨论】:
-
这个问题确实属于 dsp.stackexhcange.com
-
您确定这不是原始信号的一部分吗?您可以尝试使用这些组件创建一个人工频率,然后看看您会得到什么。
标签: matlab plot filtering signal-processing fft