2016-12-31 76 views
0

我怎樣才能產生500 ms的1280 Hz採樣噪聲,平均頻率分佈在0.1 - 640 Hz和正態分佈的幅度值之間?如何用平坦譜產生帶限的隨機噪聲?

有關所需輸出的說明,請參見以下屏幕截圖。

Timeplot of waveform, frequency distribution, and histogram of amplitudes

+0

您是否可以確認您的帖子可以總結如下:「我怎樣才能產生500 ms的1280 Hz採樣噪聲,平均頻率分佈在0.1 - 640 Hz和正態分佈的幅度值之間? – Sheljohn

+0

@Sheljohn是的,這當然是一個更簡潔的方式!爲我的冗長道歉!我唯一要做的補充是振幅值應該正態分佈在-500到+500範圍內(至少如99.7%的振幅位於上述範圍內)。 – Hans

+0

這是不必要的限制;任何正常分佈的輸出可以線性重新調整到任何所需的範圍。我可以編輯您的文章以使其更加簡潔,但是您是否願意這樣做? – Sheljohn

回答

0

你的問題的參數做出答案簡單:

  • 640赫茲是1280赫茲的正好一半,所以這是在傅立葉分解的最高頻率(奈奎斯特);
  • 0.1 Hz低於1/500ms = 2Hz,這是傅里葉分解的頻率分辨率,因此可以控制的最低正頻率。

所以你的情況,在「帶限」約束是微不足道的,你可以簡單地產生具有所需的噪音:

duration = 500e-3; 
rate  = 1280; 
amplitude = 500; 

npoints = duration * rate; 
noise  = amplitude * randn(1, npoints); % normally distributed white noise 
time  = (0:npoints-1)/rate; 

然而,更一般地,在一個特定的頻段產生噪音限制頻譜形狀(例如平坦)和價值統計(例如正態分佈)可能是困難的。有兩種簡單的近似我能想到的:

  • 在時域中工作,首先通過使用帶通FIR濾波器從所選擇的分佈圖,然後過濾所得到的信號執行上值統計約束例如。對於這個近似值,請注意過濾器也會影響值的分佈,所以一般來說,對值統計值的約束條件很難滿足,除非您非常仔細地設計過濾器。
  • 從傅里葉域反向工作,首先對幅度係數強制約束,對相位採用隨機噪聲,並使用逆變換返回到時域。對於這種近似,請注意,根據幅度限制,相位分佈將以非平凡方式影響數值的時間分佈,並且如果您的採樣率遠大於頻率截止點,則可能需要對諧波施加約束幅度以避免人爲因素。