用信号分析算法计算机编程分析信号。设给定信号:
设采样频率为10KHz,数据点数为1024点。N=512 f0=30 f1=60 f2=100 f3=200 fs=1000 t1=128 t2=150 t3=178
1. 绘出模拟信号x1(n), x2(n)的时、频域波形(傅立叶变换)。
2. 用小波函数分解,分解层次为3层。绘制信号的小波分解结果。
s=cos(2*pi*f1*t.*(t>=0&t=0.3&t=0.8&t<=1));这个地方代码是不写错了
给你看一个连续小波变换的例子,对应修改频率和采样吧
clear,clc
close all
%%%%%% 小波变换 %%%%%%%%%%%%%%%%
fs=1024;
t=1/fs:1/fs:1;
f1=100;f2=200;f3=300;
s=cos(2*pi*f1*t.*(t>=0&t=0.3&t=0.8&t<=1));
%s=cos(2*pi*f1*t);
subplot(211)
plot(t,s,'b')
title('原始单频信号')
%%%%%%%%%%%%%%%%%%%%%%% 小波时频图绘制 %%%%%%%%%%%%%%%%%%%%%
wavename='cmor4-4';%%选用带宽参数和中心频率均为4 的复morlet小波
totalscal=256;%尺度序列的长度,即scal的长度
fc=centfrq(wavename);
%%%%%%%%% 绘制时间域小波波形 %%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cparam=2*fc*totalscal;
a=totalscal:-1:1;
scal=cparam./a;
coefs=cwt(s,scal,wavename,1/fs);
f=scal2frq(scal,wavename,1/fs);
subplot(212)
imagesc(t,f,abs(coefs));
colormap(jet)
colorbar
xlabel('时间 t/s')
ylabel('频率 f/Hz')
title('小波时频图')