time_interpolation.m
来自「通过图形实现OFMD的图像仿真」· M 代码 · 共 68 行
M
68 行
function [channel_post_ti]=time_interpolation(pilot_distorted)
frame_symbol=68;
ti_n=frame_symbol/4-1;
%pilot_number=176; %for 2k mode
fft_length=1705; %for 2k mode
pilot_n=(fft_length-1)/3+1;
cp=[0 48 54 87 141 156 192 201 255 279 282 333 432 450 483 525 531 618 636 714 759 765 780 804 873 888 918 939 942 969 984 1050 1101 1107 1110 1137 1140 1146 1206 1269 1323 1377 1491 1683 1704];
cp_count=1;
channel_post_ti=pilot_distorted;
for count_pilot=1:pilot_n
count_subch=3*count_pilot-2;
if count_subch==cp(cp_count)
cp_count=cp_count+1;
else
column_res=mod(count_pilot, 4);
switch column_res
case 1
for ti=1:ti_n
row_cur=1+(ti-1)*4;
row_next=1+ti*4;
pilot_cur=channel_post_ti(row_cur, count_subch);
pilot_next=changnel_post_ti(row_next, count_subch);
channel_post_ti(row_cur+1, count_subch)=0.75*pilot_cur+0.25*pilot_next;
channel_post_ti(row_cur+2, count_subch)=0.5*pilot_cur+0.5*pilot_next;
channel_post_ti(row_cur+3, count_subch)=0.25*pilot_cur+0.75*pilot_next;
end
case 2
for ti=1:ti_n
row_cur=2+(ti-1)*4;
row_next=2+ti*4;
pilot_cur=channel_post_ti(row_cur, count_subch);
pilot_next=changnel_post_ti(row_next, count_subch);
channel_post_ti(row_cur+1, count_subch)=0.75*pilot_cur+0.25*pilot_next;
channel_post_ti(row_cur+2, count_subch)=0.5*pilot_cur+0.5*pilot_next;
channel_post_ti(row_cur+3, count_subch)=0.25*pilot_cur+0.75*pilot_next;
end
case 3
for ti=1:ti_n
row_cur=3+(ti-1)*4;
row_next=3+ti*4;
pilot_cur=channel_post_ti(row_cur, count_subch);
pilot_next=changnel_post_ti(row_next, count_subch);
channel_post_ti(row_cur+1, count_subch)=0.75*pilot_cur+0.25*pilot_next;
channel_post_ti(row_cur+2, count_subch)=0.5*pilot_cur+0.5*pilot_next;
channel_post_ti(row_cur+3, count_subch)=0.25*pilot_cur+0.75*pilot_next;
end
case 0
for ti=1:ti_n
row_cur=4+(ti-1)*4;
row_next=4+ti*4;
pilot_cur=channel_post_ti(row_cur, count_subch);
pilot_next=changnel_post_ti(row_next, count_subch);
channel_post_ti(row_cur+1, count_subch)=0.75*pilot_cur+0.25*pilot_next;
channel_post_ti(row_cur+2, count_subch)=0.5*pilot_cur+0.5*pilot_next;
channel_post_ti(row_cur+3, count_subch)=0.25*pilot_cur+0.75*pilot_next;
end
otherwise
end
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?