📄 С
字号:
二 主体部分信号频谱分析
xsf11_1.m (信号生成与显示程序)
【 dalt=0.002; %采样间隔
t=0:0.002:1.2;
rn=randn(1,length(t));rn(1:300)=0; %产生随机序列
s=sin(2*pi*10*t)+sin(2*pi*50*t)+rn; %生成模拟信号
save singal1 dalt s;
clear;
load singal1;
t=[0:length(s)-1]*dalt;plot(t,s,'k');Ylabel('幅值');Xlabel('时间');
title('模拟信号'); 】
xsf11_2.m (模拟信号singal1的频谱分析)
【 clear;load singal1; t=[0:length(s)-1]*dalt;
subplot(211);plot(t,s); Ylabel('幅值'); Xlabel('时间');title('原始信号');
fs=fft(s,512); %快速傅氏变换
pp=fs.*conj(fs)/512; %计算功率谱
ff=(0:255)/512/dalt; %计算各点对应的频率值
subplot(212);plot(ff,pp(1:256)); Ylabel('功率谱密度');Xlabel('频率');
title('信号功率谱'); 】
11.2.2 如何得到小波函数
◆用下面的程序产生并显示与小波db4相关联的四个滤波器组.
xsf11_3.m
【 wname='db4';
[LD,HD,LR,HR]=wfilters(wname);
subplot(221);stem(LD);title('低通分解滤波器');grid;
subplot(223);stem(LR);title('低通重构滤波器');grid;
subplot(222);stem(HD);title('高通分解滤波器');grid;
subplot(224);stem(HR);title('高通重构滤波器');grid; 】
运行结果见图11.3.
◆用下面的程序观察小波函数db4的迭代生成过程.
xsf11_4.m
【 for I=1:10
[phi,psi,xval]=wavefun('sym4',I);
plot(xval,psi+2*I);title('小波函数的生成过程');
hold on
end
hold off 】
结果见图11.4.
11.2.3单尺度一维离散小波分解与重构
xsf11_5.m(信号singal1的单尺度离散小波分解与重构)
【 clear;
load singal1; %装载模拟信号
ls=length(s);
t=[0:ls-1]*dalt;
subplot(511);plot(t,s);Ylabel('S'); %显示原始信号
[C,D]=dwt(s,'db4'); %用小波db4对信号进行单尺度分解
subplot(523);plot(C);Ylabel('C'); %显示低频分解系数
subplot(524);plot(D);Ylabel('D'); %显示高频分解系数
SCR=upcoef('a',C,'db4',1,ls); %用低频分解系数重构
SDR=upcoef('d',D,'db4',1,ls); %用高频分解系数重构
subplot(513);plot(t,SCR);Ylabel('SCR'); %显示低频重构信号
subplot(514);plot(t,SDR);Ylabel('SDR'); %显示高频重构信号
SR=idwt(C,D,'db4',ls); %对信号进行完全重构
subplot(515);plot(t,SR);Ylabel('SR'); %显示完全重构后的信号 】
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -