精華區beta comm_and_RF 關於我們 聯絡資訊
算是延續之前的問題 但我現在就改成在Freq. domain做1-tap EQ 經通道之後有多出幾點的問題 就去掉到後h點(h+1:channel length) 現在我把我的FEQ作法po出來 大家幫我看看這樣作哪裡可能有問題 先謝謝了!麻煩各位!!.... ======================================================== 我再作remove cp與fft之後 才作LMS algorithm 然後LMS的weight長度訂成跟fft點數一樣 64 weight再跟fft後的data相乘... 因為weight只有64個 而data symbols有2048個 所以我是把2048點分段1~64, 65~128,...,1985~2048 這樣每段都是長64 所以就剛好分別能跟weight作相乘 ((( 問題: 能像上述那樣做嗎 那樣是one tap FEQ嗎? ))) 順便付一下 LMS 寫法: N = 64; % number of equalizer coefficients mu = 0.01; % equalizer step size W = zeros(N,1); R = zeros(N,1); for k=1:128, % <<< iterate的次數也不清楚要怎樣..128是亂設 R(2:N) = R(1:N-1); % 資料一筆一筆的收進來 R(1) = fftout(k); % fftout即fft出來的data symbpls y(k) = W' * R; e(k) = d(k) - y(k); % d 就是傳送的QPSK symbols W = W + mu*R*conj(e(k)); Ws(k,:) = W.'; % 把最後trace到的係數抓出來 end FEQout=zeros(2048,1); % FEQout:作FEQ後的資料 % 這裡就是將fftout的2048點分成32段64點 for index=0:31, % 然後每段都與估出來的weight Ws(k,:)相乘 FEQout(1+64*index : 64*(1+index),1) = fftout(1+64*index : 64*(1+index),1) .* (Ws(k,:).') ; end -- 這樣結果還是錯 所以想知道怎樣寫 或怎樣改才可行 請不吝指教!感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.163.13
ryeko:lms那邊有寫錯 05/27 21:14
ryeko:成功了!^^ 05/27 22:11
> -------------------------------------------------------------------------- < 作者: renj (有人婊我啦~硍) 看板: comm_and_RF 標題: Re: [問題] LMS in OFDM 時間: Thu May 25 21:23:30 2006 ※ 引述《ryeko (DT)》之銘言: : 算是延續之前的問題 : 但我現在就改成在Freq. domain做1-tap EQ : 經通道之後有多出幾點的問題 就去掉到後h點(h+1:channel length) : 現在我把我的FEQ作法po出來 : 大家幫我看看這樣作哪裡可能有問題 : 先謝謝了!麻煩各位!!.... : ======================================================== : 我再作remove cp與fft之後 才作LMS algorithm 在OFDM系統中,每個子載波上所帶的通道響應被看待成是各自獨立的 因此以1-tap FEQ來看的話,並不是像LMS這種演算法來training等化器 不過倒是看過以LMS對每個子載波通道響應做時間上tracking的論文 : 然後LMS的weight長度訂成跟fft點數一樣 64 : weight再跟fft後的data相乘... : 因為weight只有64個 而data symbols有2048個 : 所以我是把2048點分段1~64, 65~128,...,1985~2048 : 這樣每段都是長64 所以就剛好分別能跟weight作相乘 : ((( 問題: 能像上述那樣做嗎 那樣是one tap FEQ嗎? ))) : 順便付一下 LMS 寫法: x[n] = ifft( X[k] ) , where n=0,1,2,...,N-1 y_cp[n] = conv( x_cp[n] , h[n] ) + w[n] , where w[n]:white gaussian noise 丟掉CP做FFT後 Y[k] = fft( y[n] ) , where k=0,1,2,...,N-1 假設CP長度大於通道長度且完美同步情況下 Y[k] = X[k]*H[k] + W[k] where H[k] = fft( h[n] ) , W[k] = fft( w[k] ) 則可以分別針對每個子載波得到通道估測 ^ H[k] = Y[k] / X[k] , X[k]則是頻域上你已知的training symbol 最後對各個子載波做通道等化(1-tap FEQ) ^ ^ X[k] = Y[k] / H[k] 之前剛好整理過的資料,希望對你有幫助,有錯麻煩指正  ̄▽ ̄||| -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.152.43
lovewa:強者我同學終於發聲了,我就說他是強者吧~推他一把! 05/25 21:24
renj:好說好說,怎麼都比不過你阿 05/25 21:44
ryeko:推!謝謝你抽空解釋! 05/25 22:04
> -------------------------------------------------------------------------- < 作者: ryeko (DT) 看板: comm_and_RF 標題: Re: [問題] LMS in OFDM 時間: Thu May 25 22:04:16 2006 ※ 引述《renj (有人婊我啦~硍)》之銘言: : ※ 引述《ryeko (DT)》之銘言: : : x[n] = ifft( X[k] ) , where n=0,1,2,...,N-1 : y_cp[n] = conv( x_cp[n] , h[n] ) + w[n] , : where w[n]:white gaussian noise : 丟掉CP做FFT後 : Y[k] = fft( y[n] ) , where k=0,1,2,...,N-1 : 假設CP長度大於通道長度且完美同步情況下 : Y[k] = X[k]*H[k] + W[k] : where H[k] = fft( h[n] ) , W[k] = fft( w[k] ) : 則可以分別針對每個子載波得到通道估測 : ^ : H[k] = Y[k] / X[k] , X[k]則是頻域上你已知的training symbol ^^^^^ 這可以是training symbol經LMS估出來的weight嗎? : 最後對各個子載波做通道等化(1-tap FEQ) : ^ ^ : X[k] = Y[k] / H[k] : 之前剛好整理過的資料,希望對你有幫助,有錯麻煩指正  ̄▽ ̄||| http://0rz.net/c41rF 我會那樣作是因為看到這同學的作業是這樣寫的 可行吧? 幫我看看...謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.163.13
lovewa:強者我同學renj和我都覺得..這份作業...僅供參考 (逃~) 05/25 22:29
ryeko:是喔....唉唉 不可行就是了.... 05/25 22:56
lovewa:也不是不可行,只不過報告寫的...有點...不太好罷了! 05/26 00:47
ryeko:我台大電信朋友是說那樣作@@?(在我還沒給他看那份word之前) 05/26 14:27
> -------------------------------------------------------------------------- < 作者: yagaru (新地方新學習) 看板: comm_and_RF 標題: Re: [問題] LMS in OFDM 時間: Fri May 26 22:44:26 2006 : : H[k] = Y[k] / X[k] , X[k]則是頻域上你已知的training symbol : ^^^^^ : 這可以是training symbol經LMS估出來的weight嗎? 這方法是LS的方法 基本上就是給一個或以上的OFDM symbol, 已知的 然後就可以用此方法找到通道效應並補償之, 並不是LMS演算法 但通常此方法是適用在通道變化緩慢的 你說的LMS演算法, 如果沒有CFO, SFO, 或是都普勒 其時用不到(沒有相角累積, 沒有通道變化, 幹嘛用) 我以前用的LMS, 是因為有相角變化, 將其視做通道變化 然後以LS估測出的通道當作等化器初始值 而且是一階 所以你之前波的那個, 我是覺得怪怪的啦 我想作業的話, 不用加入那些時變的效應 應該不用LMS等化器 就用上述大大提供的 應該就夠了 再度提供了一堆廢話, 不好意思 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.101.94 > -------------------------------------------------------------------------- < 作者: ewait (To be or not to be) 看板: comm_and_RF 標題: Re: [問題] LMS in OFDM 時間: Sun Jun 4 14:55:59 2006 ※ 引述《yagaru (新地方新學習)》之銘言: : : ^^^^^ : : 這可以是training symbol經LMS估出來的weight嗎? : 這方法是LS的方法 為什麼是 LS ? 感覺只是單純的 zero-forcing 的作法, 這種方法如果遇到有 deep-null 的 subcarrier, 可是會把 noise 放的很大 而 LMS 是 MMSE criterion , 所以即使是 deep-null subcarrier 也不會產生嚴重的 noise enhancement : 基本上就是給一個或以上的OFDM symbol, 已知的 : 然後就可以用此方法找到通道效應並補償之, 並不是LMS演算法 : 但通常此方法是適用在通道變化緩慢的 應該說 LMS 本身是 adaptive 的演算法, 所以具備 tracking 的能力, 但是就 acquisition 而言, 在完全不知道通道的情況下 (initial value set to zero), LMS 要收斂可是需要一段時間, 而一般無限通訊的通道變化很快, 所以不可能有時間讓你慢慢 training, 也不可能給你這麼多個 training-symbol (preamble) 去 training 所以通常是採用其他的 channel-estimation 的方式作 acquisition, 在配合 LMS 作 tracking 不過在通道幾乎不會變動的情況下, 例如 ADSL 的系統 就可以使用 LMS 作 acquisition, 還可以省下除法運算, 估計出來的通道響應會非常精準, 還可以根據估測出來的通道響應, 在 transmitter 端使用 water-fulling 的方式調整每個, subcarrier 的調變方式及 power, 藉以達到最大的 channel capacity : 你說的LMS演算法, 如果沒有CFO, SFO, 或是都普勒 : 其時用不到(沒有相角累積, 沒有通道變化, 幹嘛用) : 我以前用的LMS, 是因為有相角變化, 將其視做通道變化 : 然後以LS估測出的通道當作等化器初始值 : 而且是一階 : 所以你之前波的那個, 我是覺得怪怪的啦 : 我想作業的話, 不用加入那些時變的效應 : 應該不用LMS等化器 : 就用上述大大提供的 : 應該就夠了 : 再度提供了一堆廢話, 不好意思 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.17.147
lovewa:應該是water-filling吧...^^""" 06/04 15:22
> -------------------------------------------------------------------------- < 作者: lovewa (走往開啟知識的門...) 看板: comm_and_RF 標題: Re: [問題] LMS in OFDM 時間: Sun Jun 4 15:49:37 2006 ※ 引述《ewait (To be or not to be)》之銘言: : ※ 引述《yagaru (新地方新學習)》之銘言: : : 這方法是LS的方法 : 為什麼是 LS ? 感覺只是單純的 zero-forcing 的作法, 一開始我也覺得是ZF,不過經強者我同學renj提點之後~ 1.ZF : He[k] = Y[k] / X[K] 2.LSE: 在OFDM中可以把每個子載波視作是獨立的通道 因此可寫成如下的Form.... Xd = diag(X[0] X[1]....X[N])... Y = X * H + N 其中Y,H和N都是N-by-1的矩陣.. Estimation Error可寫成e = Y-XHe 依照LS的Criterion,ee*對H*偏微.... 可得到Y = X * He 整理一下...可得He = Y / X...得到和ZF相同的結果... 我想這是因為可以把OFDM拆解成獨立通道的緣故...有錯請糾正囉~ 在此感謝強者我同學renj...:) (逃~) -- 現代人普遍的現象: 「小學而大遺」、「捨本而逐末」、「以偏而蓋全」、「因噎而廢食」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.152.45 ※ 編輯: lovewa 來自: 140.115.152.45 (06/04 16:04)
renj:你 真 的 很 G Y ................. 06/04 16:11
> -------------------------------------------------------------------------- < 作者: ewait (To be or not to be) 看板: comm_and_RF 標題: Re: [問題] LMS in OFDM 時間: Sun Jun 4 16:06:47 2006 ※ 引述《lovewa (走往開啟知識的門...)》之銘言: : ※ 引述《ewait (To be or not to be)》之銘言: : : 為什麼是 LS ? 感覺只是單純的 zero-forcing 的作法, : 一開始我也覺得是ZF,不過經強者我同學renj提點之後~ : 1.ZF : He[k] = Y[k] / X[K] : 2.LSE: 在OFDM中可以把每個子載波視作是獨立的通道 : 因此可寫成如下的Form.... : Xd = diag(X[0] X[1]....X[N])... : Y = X * H + N 其中Y,H和N都是N-by-1的矩陣.. : Estimation Error可寫成e = Y-XHe : 依照LS的Criterion,ee*對H*偏微.... : 可得到2 * (X^T * Y - X^T * X * He) = 0 : 整理一下...可得He = Y / X...得到和ZF相同的結果... 可是 N 是ㄧ個 random process 所以一般指的 LSE 都是 minimize E[ee*] 再利用 ensemble average -> time average => minimize sum( ej ej*)/K ; j=1:K => 通常是取 K 個 block 作平均 => 這樣解出來就和 zero-forcing 不同了吧 : 我想這是因為可以把OFDM拆解成獨立通道的緣故...有錯請糾正囉~ : 在此感謝強者我同學renj...:) (逃~) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.17.147
lovewa:您上面所說的Criterion,我覺得比較像MMSE...^^"""(逃~) 06/04 16:13
ewait:MMSE 和 LSE 只差一點點 06/04 16:19
ewait:就是差在 ensemble average -> time average 這一步 06/04 16:20
ewait:MMSE 從頭到尾都沒有拿到 E[] 的符號 06/04 16:21
ewait:LSE 利用ergodic 的概念拿掉了 E[] 的符號 06/04 16:22
ewait:請參考 S. Haykin "Adaptive filter theory" 4th 06/04 16:32
ewait:chapter 8 : method of Least Squares 06/04 16:32
ewait:其中定義 LSE minimize the cost function of 06/04 16:33
ewait:the sum of error squares 06/04 16:34
lovewa:經討論後,只是定義上的不一樣~ 06/05 03:26
lovewa:如果只看一個Block的情況下(OFDM的Preamble)... 06/05 03:26
lovewa:那使用LS和ZF是一樣作用的~ 06/05 03:26