EPA、EVA、ETU などの標準 PDP を使用して、レイリー チャネルを備えた OFDM トランシーバーを構築しました。問題は、BPSK でも非常に高い BER を取得していることです。つまり、50 ~ 60% 以上のビットがエラーになっています。散布図で確認できます。私の OFDM トランシーバー ブロック含む:
---- ランダム データ -- 変調 (BPSK、QPSK、QAM) -- Serial2Parallel -- IFFT -- CyclicPrefix >>> Rayleigh Ch >>> CP データの削除---FFT --- Par2Ser ---DeMod --- データをシンクします。
組み込みの matlab 関数を使用して、標準の PDP をパラメーターとして渡すレイリー チャネルを作成しました。
channelObj = rayleighchan(tSampling,fDoppler,tau_in_sec,pdb_in_dB);
channelObj.ResetBeforeFiltering=0; % channel remains static before filtering
n-OFDM シンボルのフィルタリングと CIR の計算
for symb=1:OFDMSymb
ofdm_td_rx_signal(:,symb) = filter(channelObj, ofdm_td_TXdata(:,symb));
channel_cir(tapIndices,symb)= (channelObj.PathGains).';
end
channel_cfr = fft(channel_cir,nCarrier); % freq. response from CIR
受信機でも同様に、FFT ブロックの後、受信したシンボルを次のように CFR で割って、この CFR を使用しようとしました。
fft_RXdata=fft_data./channel_cfr;
私が得ているのは、非常に高い SNR と散在するコンスタレーション シンボルです。トランシーバー ブロックの残りの部分はシンプルで、すべてバグがないことが確認されています...改善方法を教えてください。どうすればBERを改善できますか? イコライザーが必要ですか?一致フィルターが役立つでしょうか?よろしくお願いします。
注: レイリー チャネルのみが使用され、AWGN ノイズはまったく追加されません ...