High pass filter for the values

2 views (last 30 days)
Hello,
I want to have a high pass filter such that values above zero remain, and the amplitudes of the negative values are somehow reduced as shown in the figure. I am also attaching the data wherein the first coloumn is x-axis and second column is y axis.
Thanks very much in advance.

Accepted Answer

Star Strider
Star Strider on 17 Mar 2021
‘I want to have a high pass filter such that values above zero remain, and the amplitudes of the negative values are somehow reduced as shown in the figure
That is not how a highpass filter works. It passes frequencies above a certain value, not amplitudes.
If you want to reduce the amplitudes of the values less than zero, experiment with this:
D = load('data.txt');
x = D(:,1);
y = D(:,2);
yr = y;
yr(y<0) = -y(y<0).^2;
figure
plot(x, y)
hold on
plot(x, yr)
hold off
grid
Other transformations (or hard limits) could also be appropriate.
  2 Comments
Aristo Pacino
Aristo Pacino on 31 Mar 2021
Perfect! Thanks so very much.
Star Strider
Star Strider on 31 Mar 2021
As always, my pleasure!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!