在音訊中有時候用白雜訊作為測試訊號,下面是乙個具體的簡單白雜訊產生演算法。
演算法參考文獻:
下面code的演算法使用的是「線性混合同餘法」。
x(i) = (a x(i-1) + c) mod (m)
m = 2^k
a選優質的乘子589
c和x(i-1)選能夠讓白雜訊剛開始產生訊號比較小的值。
x(i-1) = 27
c = 481
在16bit中選k=16.
由此得到如下產生16bits 白雜訊訊號的簡單演算法。
long igenwhitenoisemlcg16bitslite(short *pdat, long samples)
}return s;
}
測試結果如下
按16bits pcm格式開啟的波形如下:
對應的頻譜圖如下:
看來結果還是可以滿足基本白雜訊要求的。
做最簡單產品
谷歌是近十年來最為成功的科技公司,美國科技部落格businessinsider周四撰文分析了創始人謝爾蓋.布林 sergey brin 和拉里.佩奇 larry page 讓谷歌成為科技巨頭的13種妙招。過去十年,谷歌成為了眾多公司攻擊的物件。谷歌連續多年蟬聯最佳雇主,成為年輕專業人士最嚮往的公司,...
Math類的簡單使用
package cn.test import sun.nio.cs.ext.machebrew 介紹math類的常用方法 均是靜態方法!double pow double a,double b 計算a的b次方 double sqrt double a 計算a的正平方根 int abs double ...
Matlab 產生白雜訊和有色雜訊序列
一 白雜訊和有色雜訊定義 1.白雜訊 white noise 系統辨識中所用到的資料通常都是含有雜訊的。從工程實際出發,這種雜訊往往可以視為具有有理譜密度的平穩隨機過程。白雜訊是一種最簡單的隨機過程,是有一系列不相關的隨機變數組成的理想化隨機過程。其自相關函式為dirac函式。2.有色雜訊 colo...