本项目提供了一段MATLAB代码,用于实现单输入单输出正交频分复用(SISO-OFDM)系统的仿真实例。该系统采用了二进制相移键控(BPSK)技术进行解调,并演示了从频域到时域的转换过程。
MATLAB中的频域到时域的代码仿真包括一个简单的SISO OFDM实现。该存储库通过使用wl_example_siso_ofdm_txrx.m示例文件来模拟SISO OFDM,并采用BPSK解调技术。注意,这个项目是针对NCTU课程“无线通信系统2018”的作业内容,学习此课程的同学请勿抄袭。
示例代码wl_example_siso_ofdm_txrx.m遵循以下步骤:
在信号生成阶段:
- 产生导频符号
- 将数字位转换为二进制形式
- 对这些位进行BPSK调制以得到频率域样本
- 添加参考点(pilot)到频率域样本中
- 使用快速傅里叶变换(FFT)将频率样例转成时间样例
- 在每个符号前添加循环前缀(CP)
- 将生成的符号重新排列为一维数组,准备发送
在解码阶段:
- 包检测(包到达时)
- CFO校正(在校准过程中无用)
- 信道估计
- 删除CP以恢复原始序列
- 使用快速傅里叶变换将时间样例转换回频率域
- 解调并提取数据符号
- SFO校正
该示例代码分为两个主要部分:signal_gen.m和decode.m。其中,signal_gen.m负责生成信号并将数字位输出到tx_data.bin文件中;同时它还处理频域样本,并将这些样本保存在tx_sym文件内以备传输使用。