我想在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)。 –