?? deofdm.m
字號(hào):
%該程序用來(lái)完成對(duì)輸入信號(hào)進(jìn)行OFDM解調(diào),屬于《鏈路級(jí)仿真軟件設(shè)計(jì)》程序二的調(diào)制解調(diào)模塊
function [y]=deofdm(x)
%[y]=deofdm(x)
%x是1x(67.5*1e(-6)/Ts) 的復(fù)向量,其中的向量元素表示OFDM信號(hào)通過(guò)信道后的結(jié)果。
%y是1x(Lp+8)的復(fù)向量,其中向量元素表示OFDM接收端處理的結(jié)果;
%參數(shù)初始化
%輸入的數(shù)據(jù)長(zhǎng)度
input_s_len=length(x);
%子載波數(shù)
sub_carrier_num=2048;
%本程序利用的子載波數(shù)目
sub_carrier_used=1664;
%循環(huán)前綴的長(zhǎng)度
cp=256;
%每個(gè)OFDM符號(hào)的采樣點(diǎn)數(shù)目
symbol_samples=sub_carrier_num+cp;
%輸入的符號(hào)數(shù)目
symbol_num=input_s_len/(sub_carrier_num+cp);
%未使用的子載波數(shù)目
delete_s=sub_carrier_num-sub_carrier_used;
%每一測(cè)未使用的子載波數(shù)目(未使用的子載波在兩側(cè)平均分布)
delete_s_side=delete_s/2;
%對(duì)輸入信號(hào)進(jìn)行分割,分割為symbol_num個(gè)符號(hào),再對(duì)每個(gè)符號(hào)分別進(jìn)行IFFT運(yùn)算,實(shí)現(xiàn)OFDM調(diào)制,并保證能量不變
fre_domain_x_link=[];
for I=0:(symbol_num-1)
%對(duì)每個(gè)符號(hào)去循環(huán)前綴
x_temp=x((I*symbol_samples+cp+1):((I+1)*symbol_samples));
%對(duì)每個(gè)符號(hào)進(jìn)行FFT運(yùn)算
fre_domain_x_temp=fft(x_temp)/sqrt(sub_carrier_num);
%去除調(diào)制時(shí)添加的信息點(diǎn)
fre_domain_x_del=fre_domain_x_temp((delete_s_side+1):(sub_carrier_used+delete_s_side));
%對(duì)輸出進(jìn)行連接,形成串行信息流
fre_domain_x_link=[fre_domain_x_link,fre_domain_x_del];
end
%將信號(hào)輸出
y=fre_domain_x_link;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -