我想在Matlab中設計一個Wiener濾波器來解卷積問題,但是我遇到了很多問題。我有一個方差爲1.2的高斯白噪聲過程和一個長度爲2的脈衝響應。它的值是g(0)= 5和g(1)= 4。稍後在這個過程中,我嘗試確定Rxx(m)。爲此,我需要計算g(m)* g(-m)(卷積),並建議在Matlab中使用xcorr函數,但我的結果沒有意義。任何人都可以通過這個xcorr函數來幫助我,並提供關於如何使用這個脈衝響應的建議嗎?我曾嘗試過g的fourrier變換,但這一直沒有幫助。帶有脈衝響應的xcorr函數
回答
下面的代碼只實現了我可以在描述中看到的一部分內容。它會產生噪音過程並執行第一部分所述的內容。自相關不是用濾波器係數計算的,而是用實際信號計算的。
% generate noise process y
y = randn(1,N) * sqrt(1.2);
% filter y with the fir-filter g
g = [2, 0.6];
r = filter(g,1,y);
% generate noise process d
d = randn(1,N) * sqrt(0.2);
% x is the sum of r and d
x = r + d;
% autocorrelation of x
[Rxx,lagRxx] = xcorr(x);
% plot autocorrelation
figure; grid on;
plot(lagRxx,Rxx);
title('Biased Autocorrelation of Signal x');
xlabel('Lag');
% cross correlation between x and y
[Rxy,lagRxy] = xcorr(x,y);
% plot crosscorrelation
figure; grid on;
plot(lagRxy,Rxy);
title('Biased Crosscorrelation of Signal x and y');
xlabel('Lag');
是的,謝謝,我使用的xcorr函數完全錯誤。我的最後一個問題是,Rxx確定後,我想確定維納濾波器,爲此我需要_Ryx_。現在從前面的方程我確定_Rxy = g(m)* Ryy = sy g(m)。現在_Ryx_應該是_g(-m)* Ryy_對嗎?我嘗試使用_Ryy = xcorr(y)_然後使用conv()函數,但是我的結果沒有意義。 –
@Dann Wabeke:我編輯了代碼來計算互相關。 – Matt
但是如果我想採用不同的方式,不使用_r(n)_和_y(n)_的隨機信號,我可以像我一樣通過數學推導公式的方式避開未知信號。所以我有:_Rxx = sy g(m)* g(-m)+ sd delta(m)_ _Rxy = Rry = g(m)* Ryy = sy g(m)_ _Ryx = sy g(-m) _計算這些沒有Y和R是我的問題。 –
- 1. matlab中的脈衝響應函數
- 2. 繪圖脈衝響應函數(新)
- 3. 什麼是脈衝響應
- 4. 脈衝響應函數(IRF)上的grid.arrange + ggplot2
- 5. 脈衝響應的卷積翻轉
- 6. 帶有脈衝的CSS旋轉動畫
- 7. 疊加脈衝響應隨r
- 8. Azure函數脈衝 - 無數據
- 9. Arduino - 沒有中斷的計數脈衝
- 10. jQuery脈衝效應問題
- 11. 反向脈衝效應
- 12. 不同採樣率的脈衝響應的卷積
- 13. 如何在Matlab的脈衝響應圖上着色區域?
- 14. 脈衝動畫
- 15. QNX MsgReceive脈衝
- 16. 在Juce中使用AudioFormatReader加載脈衝響應
- 17. 無限衝激響應(IIR)函數
- 18. 如何在Matlab中改變矩形脈衝的脈衝振幅
- 19. UIBezierPath脈衝動畫
- 20. 脈衝UIButton子類
- 21. GTK Progressbar脈衝python
- 22. Arduino脈衝列車
- 23. 動畫脈衝UILabel?
- 24. 脈衝菜單項
- 25. 如何使用matlab的濾波函數來計算濾波器的脈衝響應樣本?
- 26. jQuery和CSS轉換脈衝效應
- 27. jquery滑動手柄應脈衝顏色
- 28. 如何用Matlab做一定的脈衝函數?
- 29. Verilog中的脈衝計數器
- 30. iPhone上的脈衝動畫
Rxx(0)位於中間('ceil(M/2)') – patrik
請提供您已經嘗試使用的代碼。任何我們需要更多關於上下文的細節。像輸入信號一樣,脈衝響應是什麼,以及計算conv(m,-m)的位置/原因。 – Matt
我沒有輸入信號,只是它是一個白噪聲過程,方差爲1.2,通過FIR濾波器g(n)。知道這是一個FIR濾波器,差分方程變爲_r(n)= sum g(k)y(n-k)_。但是信號r(n)被方差爲0.2的噪聲過程d(n)所污染。爲此,我有x(n)= r(n)+ d(n)。 –