サンプリング周波数が原因と思いましたがどうも違うようです。
周期だとわかりにくかったので周波数で考えてみます。
samp=0.1;
sampk=1/samp;
fprintf('サンプリング周波数:%i MHz\nナイキスト周波数 :%i MHz',sampk,sampk/2);
x=0:samp:100;
T=10;
fprintf('対象周波数 :%.1f MHz\nナイキスト周波数:%i MHz',1/T,sampk/2);
y=sin(2*pi*x/T);
ここまで問題ないことがわかりました。
LPFの設計に何かしら問題があるのかなと考えられます。
LPF=50;
fprintf('通過周波数:%.2f MHz\n対象周波数:%.1f MHz',1/LPF,1/T);
ここでも対象周波数よりも低い周波数でLPFを取っています。
ヘルプの図を見ると遷移領域があやしいと思われます。
ここで遷移領域を狭くするためSteepnessをいじってみましょう。
lowpass(y,1/LPF,sampk,'ImpulseResponse','iir','Steepness',0.9)
LPFがある程度うまくいっていることがわかりました。
本来であればもっと高周波で行うので、単位を略さずに計算すればあまり関係ないかもしれません。
うまくいかない場合は上記の図を参考にしながらLPF設計を行ってみてください。