このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
イコライズ、畳み込み、およびサイクリック プレフィックス追加
この例では、周波数領域のイコライズを紹介し、循環畳み込みを線形畳み込みに変換する方法を示します。線形チャネル モデルについて考慮する場合、受信信号は送信信号とチャネル インパルス応答の畳み込みになります。周波数領域において、受信信号 は、送信信号 とチャネル インパルス応答 の線形畳み込みになります。
OFDM 受信機は、周波数領域のイコライズを使用して、元の送信信号を次のように復元します。
FFT 処理により、u と h の循環畳み込みが生成されます。u と h の循環畳み込みが線形畳み込みと同等になるようにするには、離散フーリエ変換 (DFT) を実行する前に、u と h を少なくとも (length(u) + length(h) - 1)
の長さまでゼロでパディングしなければなりません。DFT の積の逆変換を求めると、最初の N + L - 1 の要素だけが残ります。このプロセスを示す例については、線形および循環畳み込みのトピックを参照してください。
短い入力信号 u1
とチャネル インパルス応答 h
を定義します。入力信号は、チャネル インパルス応答より長くなければなりません。信号のステム プロットを表示します。
u1 = 1:8; h = [0.4 1 0.4]; figure subplot(2,1,1) stem(u1); axis([0 10 0 10]) title("Input signal") subplot(2,1,2) stem(h); axis([0 10 0 2]) title("Channel impulse response")
u1
と h
の循環畳み込みと線形畳み込みを比較します。関数conv
と関数cconv
をそれぞれ使用して、線形畳み込みと循環畳み込みを実行します。非理想的チャネルがもたらすにじみ効果により、線形畳み込みと循環畳み込みはいくつかの点で異なる結果になります。サイクリック プレフィックス (CP) を使用すると、伝播遅延が未知である非理想的チャネルで OFDM を効果的に使用できます。
N = length(u1); yl1 = conv(u1,h); yc1 = cconv(u1,h,N); figure; stem(yl1,"x") hold on; stem(yc1,"o") title(["Convolution Results, N=",int2str(N)]) legend ("Linear","Circular","Location","northwest")
サイクリック プレフィックス (CP) の追加
OFDM 処理においては、信号をゼロでパディングするのではなく、CP を追加することによって、循環畳み込みに必要なパディングが提供されます。シンボルの最後のサンプルを繰り返す CP を追加すると、次が可能になります。
循環畳み込みとしての周波数選択性マルチパス チャネルの線形畳み込みのモデル化
畳み込みを計算するための FFT の使用
チャネル推定、イコライズ、および同期のためのシンプルな周波数領域処理
前方誤り訂正スキームで使用される繰り返しサンプル
L = length(h); % Length of channel N = length(u1); % Length of input signal ucp = u1(N-L+1:N); % Use last samples of input signal as the CP u2 = [ucp u1]; % Prepend the CP to the input signal yl2 = conv(u2,h); % Convolution of input+CP and channel yl2 = yl2(L+1:end); % Remove CP to compare signals figure; stem(yc1,"x") hold on; stem(yl2,"o") title("Convolution Results with Cyclic Prefix") legend ("Linear","Circular","Location","northwest")
線形畳み込みシーケンスと循環畳み込みシーケンスを比較します。
if max(yc1 - yl2(1:N)) < 1e-8 disp("Linear and circular convolution sequences match.") else disp("Received symbols do not match transmitted symbols.") end
Linear and circular convolution sequences match.