Average Moving filter in Simulink
이전 댓글 표시
Hey!
I don't have a DSP System Toolbox / Statistics, and I would like to create an average moving filter, and tune it.
I would appreciate any help, and thank in advance!
댓글 수: 1
Mathieu NOE
2023년 10월 11일
hello
you can use a FIR filter of length N with 1/N values for all taps
other window are also doable if you want to weight the input data differently (hanning / hamming / kaiser etc...)
채택된 답변
추가 답변 (1개)
Why not use MATLAB code, e.g.:
t=linspace(0,2*pi);
S = sin(t); % Signal
R=randn(1,100); % Noise
S = S+R*.5; % Signal noise affected
N = 3; % 3-point moving average
S_ma(1)=S(1);
S_ma(2)=sum(S(1:3))/N;
for ii = 3:numel(R)
S_ma(ii)=(S(ii-2)+S(ii-1)+S(ii))/N;
end
plot(t, S)
hold on
plot(t,S_ma, 'r','LineWidth', 2)
% Compare to the MATLAB's moving average filter from finance toolbox
S_mat = movavg(S.', 'simple', N);
plot(t, S_mat, 'k--*')
legend('Signal', 'Code: moving average', 'Matlab"s movavg fcn', 'location', 'best')
grid on
xlabel('t')
ylabel('Signal: S(t)')
카테고리
도움말 센터 및 File Exchange에서 Get Started with DSP System Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

