假設取樣率:1t
s=n˜
⋅δf=
w 不隨著迴圈字首(cyclic prefix)的插入而改變(事實上多數的多載波系統中都是如此),系統所要求的頻寬也同樣保持不變。
然而,保持同樣的取樣率也就意味著,塊長度(block length)變長了vn
,而且吞吐效率也會下降為原來的:11
+vn=
nn+v
付出代價的同時也減小了isi,這也使得在每個子載波中,更高階的調製方法(higher order alphabets)得以使用。
如果:取樣率增加了(n
n+v)
−1,那麼插入迴圈字首之後的塊長度和之前的相同,然而此時所需的頻寬增加了:w′
=w⋅n
+vn
但是這種方案在實際中應用較少。
假設資訊序列
的實部和虛部具有相同的平均能量:e[
re(x
k)]2
=e[i
m(xk
)]2
那麼可以直接證明,idft後所輸出的時域取樣訊號
也具有相同的平均能量:xn
=1n‾
‾√∑k
=1n−
1(re
(xk)
+j⋅i
m(xk
))⋅e
j2πn
kn,n
=0,1
,...
,n−1
而且:e[
x2n]
=ϵ對於插入了迴圈字首的塊來說,其能量從nϵ
增加到(n
+v)ϵ
。然而, 所需的功率仍舊和之前一樣。這是因為插入迴圈字首之後的塊(prefixed block)的持續時間也從nt
s 增加到(n
+v)t
s 。
迴圈的代價 階乘之和
題目 輸入n,計算s 1 2 3 n 的末6位 不含前導0 n 10 6,n 表示前n個正整數之積。樣例輸入 樣例輸出 分析 引入累加變數s之後,核心演算法只有 for int i 1 i n i s i 不過,c語言並沒有階乘運算子,所以這句話只是偽 而不是真正的 事實上,還需要依次一次迴圈還計算...
迴圈的代價 階乘之和
題目 輸入n,計算s 1 2 3 n 的末6位 不含前導0 n 10 6,n 表示前n個正整數之積。樣例輸入 樣例輸出 分析 引入累加變數s之後,核心演算法只有 for int i 1 i n i s i 不過,c語言並沒有階乘運算子,所以這句話只是偽 而不是真正的 事實上,還需要依次一次迴圈還計算...
從《迴圈的代價》中學到的
最近在看 演算法競賽入門經典 書中提到迴圈的兩大常見問題,並提出一些建議。第一是算術運算溢位的問題,尤其是n很大而且都是做的乘法的時候。最常見的現象是輸出負值,每步printf也能觀察到。如果換資料型別仍解決不了的話,可能得改演算法了。書中的例子是對最終的取餘 運算作轉化。要計算只包含加法 減法和乘...