|
OFDM是正交頻分復用,是通信原理里面的,蠻難的
資料分享
- %該程序用來完成對輸入信號進行OFDM調制,屬于《鏈路級仿真軟件設計》程序二的調制解調模塊
- function [y]=ofdm(x)
- %[y]=ofdm(x)
- %x是1x(Lp+8)的復向量,其中向量元素為4QAM調制符號,表示經過4QAM調制的結果數據。
- %y是1x(67.5*10e(-6)/Ts) 的復向量,其中向量元素是OFDM發送端處理的結果,表示發送端的基帶信號在時域上,采樣速率為Ts的采樣結果,信號持續時間為 (3 symbols)。
- %參數初始化設置
- %輸入的頻域信號中包含的OFDM符號數目
- s=50;
- %輸入的信號長度為
- L=length(x);
- %子載波數
- sub_carriers=2048;
- %把輸入分為S個符號,每個符號長為symbol_used_len
- symbol_used_len=L/s;
- %循環前綴的長度
- cp=256;
- %每一個OFDM符號的抽樣值應補‘0’個數zeros_pad
- zeros_pad=sub_carriers-symbol_used_len;
- %每一個OFDM符號一側應該補‘0’個數zeros_pad_side
- zeros_pad_side=zeros_pad/2;
- %對輸入信號進行分割,分割為s個符號,再對每個符號進行FFT運算,實現OFDM解調,并保證能量不變
- time_domain_x_link=[];
- for I=0:(s-1)
- %對輸入進行分割
- x_temp=x(I*symbol_used_len+1:I*symbol_used_len+symbol_used_len);
- %對每個分割的部分進行補零操作,使其長為sub_carriers
- x_temp_pad=[zeros(1,zeros_pad_side),x_temp,zeros(1,zeros_pad_side)];
- %對每個符號進行IFFT運算
- time_domain_x_temp=ifft(x_temp_pad)*sqrt(sub_carriers);
- %對每個符號添加循環前綴
- time_domain_x_cp_temp=[time_domain_x_temp(sub_carriers-cp+1:sub_carriers),time_domain_x_temp];
- %將符號連接成為串行數據流
- time_domain_x_link=[time_domain_x_link,time_domain_x_cp_temp];
- end
- %將信息流輸出
- y=time_domain_x_link;
復制代碼 |
-
-
-
完整的OFDM仿真程序.rar
2021-5-2 17:11 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
134.2 KB, 下載次數: 12, 下載積分: 黑幣 -5
評分
-
查看全部評分
|