写一段matlab程序:构造一个由三个频率不同的余弦信号以及一个随机噪声组成的仿真信号,并进行小波分解和作图
时间: 2023-07-16 13:14:52 浏览: 42
以下是一个简单的 Matlab 代码,用于构造一个由三个频率不同的余弦信号和一个随机噪声组成的仿真信号,并进行小波分解和作图:
```matlab
% 生成信号
t = linspace(0, 1, 1000);
x = cos(2*pi*10*t) + cos(2*pi*20*t) + cos(2*pi*30*t) + 0.5*randn(size(t));
% 小波分解
[c,l] = wavedec(x, 3, 'db4');
% 重构信号
a3 = wrcoef('a', c, l, 'db4', 3);
d3 = wrcoef('d', c, l, 'db4', 3);
d2 = wrcoef('d', c, l, 'db4', 2);
d1 = wrcoef('d', c, l, 'db4', 1);
% 作图
subplot(5,1,1)
plot(t,x)
title('仿真信号')
ylabel('幅度')
subplot(5,1,2)
plot(t,a3)
title('第三层逼近系数')
ylabel('幅度')
subplot(5,1,3)
plot(t,d3)
title('第三层细节系数')
ylabel('幅度')
subplot(5,1,4)
plot(t,d2)
title('第二层细节系数')
ylabel('幅度')
subplot(5,1,5)
plot(t,d1)
title('第一层细节系数')
ylabel('幅度')
xlabel('时间')
```
这段代码会生成一个由三个频率不同的余弦信号和一个随机噪声组成的仿真信号,并进行小波分解和作图。通过这个程序,您可以学习如何使用 Matlab 进行小波分解和作图。