If you take your input signal and downsample it by a factor of 3 your original frequency of 450 Hz will be aliased. But since you single contains a single frequency it can be reconstructed.
For example (in MATLAB), let's generate 1024 samples of your signal:
Fs = 1000;
t = (0:1023)/Fs;
xa = cos(2*pi*450*t);
figure; pwelch(xa,[],[],[],Fs);
Now if you down sample your signal you notice that the frequency has changed.
xad = xa(1:3:end);
figure; pwelch(xad,[],[],[],Fs/3)
And if you try to interpolate the signal back to the original sampling frequency, you can see that there is some kind of "ambiguity":
xadu = upsample(xad,3);
figure; pwelch(xadu,[],[],[],Fs);
Also note that the amplitude is lower (by a factor of 3 actually).
All there is left is to filter the signal using a high-pass filter:
h = fir1(32,350/500,'high');
xaduf = filter(3*h,1,xadu);
xar = xaduf(37:end);