2017-07-30 99 views
-2

我想在VHDL測試平臺中創建AWGN通道。可能嗎?我該如何繼續?我在網上搜索,但沒有很多相關的帖子。VHDL測試平臺中的AWGN通道

Regards

+0

您是否注意到在StackOverflow中**所有**的問題都收到了負面投票的平均值?你應該真的提高你的問題質量。請閱讀[「如何提出一個好問題」](https://stackoverflow.com/help/how-to-ask)。 – JHBonarius

+0

我不知道這個問題出了什麼問題:)這是一個有效的問題,我認爲之前沒有問過。 –

+1

首先,你不解釋什麼是「AWGN頻道」。然後:你到目前爲止做了什麼?你檢查了什麼來源?你想在哪裏使用它。等等,等等:還有更多的東西。你讀過我的鏈接了嗎? – JHBonarius

回答

2

是的,你可以。

如何生成VHDL中的統一分佈值描述如下here。報價單(正本由「VIPIN拉爾」):

library ieee; 
use ieee.math_real.all; 

entity rand_gen is end rand_gen; 

architecture behavior of rand_gen is 
    signal rand_num : integer := 0; 
begin 
    process 
     variable seed1, seed2: positive;    -- seed values for random generator 
     variable rand: real; -- random real-number value in range 0 to 1.0 
     variable range_of_rand : real := 1000.0; -- the range of random values created will be 0 to +1000. 
    begin 
     uniform(seed1, seed2, rand); -- generate random number 
     rand_num <= integer(rand*range_of_rand); -- rescale to 0..1000, convert integer part 
     wait for 10 ns; 
    end process; 
end behavior; 

然後,你必須要統一功能的輸出擴展到AWGN分佈。 C中的一個例子是here。報價

temp2 = (rand()/((double)RAND_MAX)); 
temp1 = cos((2.0 * (double)PI) * rand()/((double)RAND_MAX)); 
result = sqrt(-2.0 * log(temp2)) * temp1; 

只是正確將此轉換爲VHDL(由 「博士Cagri Tanriover」 總結由原來)。 math_real庫包含所有必需的函數和常量。