clc;
clear all;
close all;
carrier_count = 256; % 256個子載波
symbol_per_carrier = 5; % 每個子載波發送20個符號
bits_per_symbol = 2; % QPSK調制-->每個符號有2bit
Nb = carrier_count * symbol_per_carrier * bits_per_symbol;%總的比特數
ifft_len = 4*carrier_count; % 做IFFT的長度與子載波數相同
Tx_data = 2 * round(rand(1,Nb)) - 1; %待調制二進制比特流
Tx_data_matrix = reshape(Tx_data,carrier_count,Nb/carrier_count);%串并轉換
Tx_QPSK_matrix = Tx_data_matrix(:,1:2:end) + 1j * Tx_data_matrix(:,2:2:end);%QPSK編碼映射
Tx_modulation = Tx_QPSK_matrix;
Tx_modulated = ifft(Tx_modulation,ifft_len); %用IFFT進行多載波調制
Tx_OFDM = reshape(Tx_modulated,1,ifft_len * symbol_per_carrier); %并串轉換得到OFDM信號
Tx_OFDM_f = fftshift(fft(Tx_OFDM,2048));%用fft求OFDM信號的頻譜
%畫功率譜
figure(1)
plot(10*log10(abs(Tx_OFDM_f)));
axis([0 2048 -200 40]);
|