作者good6608 (尼可拉斯)
看板MATLAB
標題[討論] QPSK Rayleigh通道係數模擬之差異
時間Wed Oct 31 13:34:59 2012
各位板友好:
我目前在寫一個QPSK經過one-path Rayleigh通道和AWGN通道的 Simulation,
然後計算 Simulation 後的 BER.
其數學式子為 Y = X*h + n,
Y : 經過通道後的接收訊號.
X : 經過通道前的發送訊號.
h : Rayleigh 通道
n : AWGN 通道
當我的 Rayleigh 通道的寫法如下時:
h = 1/sqrt(2)*[randn(1,Ns)+j*randn(1,Ns)]; % Ns 為傳送 symbol 數量
最後畫出來 BER Curve 是與理論公式是完全 Match 的,
理論公式為 Pe = (1/2)*(1-sqrt((Eb/No)/(1+(Eb/No)))).
但當我使用 Jake's model 產出的 Rayleigh 通道時,
最後畫出來的 BER Curve 與理論公式雖然相同,
但 Simulation 的 Curve 比理論公式的 Curve 好約 0.2 dB.
請問為什麼呢?
以下是我寫的產出 Rayleigh 通道的 Jake's model.
h = Jakes_Flat(1,0.001,Ns,1040); % Ns 為傳送 symbol 數量
------------------------------------------------------------------------------
function [h,tf] = Jakes_Flat(fd,Ts,Ns,t0,E0)
% Inputs:
% fd,Ts,Ns : Doppler frequency, sampling time, number of samples
% t0, E0 : initial time, channel power
% Outputs:
% h, tf : complex fading vector, current time
if nargin<5, E0=1; end
if nargin<4, t0=0; end
phi_N = 0; % inital phase of the maximum Doppler frequency sinusoid
N0 = 8; % As suggested by Jakes
N = 4*N0 + 2; % an accurate approximation
wd = 2*pi*fd; % Maximum Doppler frequency[rad]
t = t0 + [0:Ns - 1]*Ts;
tf = t(end) + Ts; % Time vector and Final time
coswt=[sqrt(2)*cos(wd*t); 2*cos(wd*cos(2*pi/N*[1:N0]')*t)];
h = E0/sqrt(2*N0+1)*exp(j*[phi_N pi/(N0+1)*[1:N0]])*coswt;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.130.124