📄 deofdm.m
字号:
%该程序用来完成对输入信号进行OFDM解调,属于《链路级仿真软件设计》程序二的调制解调模块
function [y]=deofdm(x)
%[y]=deofdm(x)
%x是1x(67.5*1e(-6)/Ts) 的复向量,其中的向量元素表示OFDM信号通过信道后的结果。
%y是1x(Lp+8)的复向量,其中向量元素表示OFDM接收端处理的结果;
%参数初始化
%输入的数据长度
input_s_len=length(x);
%子载波数
sub_carrier_num=2048;
%本程序利用的子载波数目
sub_carrier_used=1664;
%循环前缀的长度
cp=256;
%每个OFDM符号的采样点数目
symbol_samples=sub_carrier_num+cp;
%输入的符号数目
symbol_num=input_s_len/(sub_carrier_num+cp);
%未使用的子载波数目
delete_s=sub_carrier_num-sub_carrier_used;
%每一测未使用的子载波数目(未使用的子载波在两侧平均分布)
delete_s_side=delete_s/2;
%对输入信号进行分割,分割为symbol_num个符号,再对每个符号分别进行IFFT运算,实现OFDM调制,并保证能量不变
fre_domain_x_link=[];
for I=0:(symbol_num-1)
%对每个符号去循环前缀
x_temp=x((I*symbol_samples+cp+1):((I+1)*symbol_samples));
%对每个符号进行FFT运算
fre_domain_x_temp=fft(x_temp)/sqrt(sub_carrier_num);
%去除调制时添加的信息点
fre_domain_x_del=fre_domain_x_temp((delete_s_side+1):(sub_carrier_used+delete_s_side));
%对输出进行连接,形成串行信息流
fre_domain_x_link=[fre_domain_x_link,fre_domain_x_del];
end
%将信号输出
y=fre_domain_x_link;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -