迴圈字首的代價

2021-07-30 07:42:02 字數 903 閱讀 7968

假設取樣率: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也能觀察到。如果換資料型別仍解決不了的話,可能得改演算法了。書中的例子是對最終的取餘 運算作轉化。要計算只包含加法 減法和乘...